{"id":5314,"date":"2018-10-12T00:00:16","date_gmt":"2018-10-11T15:00:16","guid":{"rendered":"http:\/\/www.gisdeveloper.co.kr\/?p=5314"},"modified":"2020-05-28T13:18:03","modified_gmt":"2020-05-28T04:18:03","slug":"geoservice-xr%ea%b3%bc-fingereyes-xr%ec%9d%84-%ec%9d%b4%ec%9a%a9%ed%95%9c-%eb%8c%80%ec%9a%a9%eb%9f%89-%ed%8c%8c%ec%9d%bc-%ec%97%85%eb%a1%9c%eb%93%9c","status":"publish","type":"post","link":"http:\/\/www.gisdeveloper.co.kr\/?p=5314","title":{"rendered":"GeoService-Xr\uacfc FingerEyes-Xr\uc744 \uc774\uc6a9\ud55c \ub300\uc6a9\ub7c9 \ud30c\uc77c \uc5c5\ub85c\ub4dc \ubc0f \ub2e4\uc6b4\ub85c\ub4dc \uc11c\ube44\uc2a4"},"content":{"rendered":"<p>\uc0ac\uc6a9\uc790\uc758 \uc694\uad6c\uc0ac\ud56d\uc744 \ucda9\ubd84\ud788 \ubc18\uc601\ud560 \uc218 \uc788\ub294 GIS \uc2dc\uc2a4\ud15c\uc744 \uac1c\ubc1c\ud560 \ub54c, \ub300\uc6a9\ub7c9 \ub370\uc774\ud130\ub97c \uc11c\ubc84 \uce21\uc5d0 \uc5c5\ub85c\ub4dc\ud574\uc57c \ud560\ub54c\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4, \ucd5c\uc2e0 \uc9c0\uc801\ub3c4\ub97c \uc11c\ubc84\uce21\uc5d0 \uc62c\ub824 \ucd5c\uc2e0 \uc9c0\uc801\ub3c4 \uc11c\ube44\uc2a4\ub97c \uc5c5\ub370\uc774\ud2b8\ud558\uac70\ub098, \uc0ac\uc6a9\uc790\uac00 \ubcf4\uc720\ud55c \ube45\ub370\uc774\ud130\ub97c CSV\ub098 Excel \ud615\ud0dc\ub85c \uc11c\ubc84\uc5d0 \uc62c\ub824 \uc11c\ubc84\uce21\uc5d0\uc11c \ubd84\uc11d\uc744 \ud55c \ub4a4\uc5d0 \uadf8 \uacb0\uacfc\ub97c \uacf5\uac04\uc0c1\uc5d0 \uc2dc\uac01\ud654\ud558\ub294 \ub4f1\uc774 \uc788\ub294\ub370\uc694. \uc774\ub7ec\ud55c \ub300\uc6a9\ub7c9 \ud30c\uc77c\uc744 \uc5c5\ub85c\ub4dc\ud560 \uc218 \uc788\ub294 \uae30\ub2a5\uc744 \uc6f9\uc5d0\uc11c \uc27d\uac8c \uc801\uc6a9\ud560 \uc218 \uc788\ub2e4\uba74, \uc6f9 \ud658\uacbd\uc5d0\uc11c \uc5b4\ub5a0\ud55c \uc81c\uc57d\uc5c6\uc774 \uc790\uc5f0\uc2a4\ub7fd\uac8c \uae30\ub2a5\uc744 \uac1c\ubc1c\ud558\uace0 \uc0ac\uc6a9\uc790\uc5d0\uac8c \uc81c\uacf5\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ud2b9\ud788 \ub124\ud2b8\uc6cc\ud06c \uc18d\ub3c4\uc640 \ud558\ub4dc\uc6e8\uc5b4\ub85c\uc368\uc758 \uc11c\ubc84\uc758 \ubc1c\uc804\uc73c\ub85c \uc774\ub7ec\ud55c \uc6f9 \uae30\ubc18\uc758 \ud658\uacbd\uc740 \ubaa8\ub4e0 \ud074\ub77c\uc774\uc5b8\ud2b8 \ud504\ub85c\uadf8\ub7a8\uc758 \uae30\ubc18, \uae30\ubcf8\uc774 \ub420 \uac83\uc785\ub2c8\ub2e4.<\/p>\n<p>\uc774\ub7ec\ud55c \ub300\uc6a9\ub7c9 \ub370\uc774\ud130\ub97c \uc11c\ubc84\uc5d0 \uc5c5\ub85c\ub4dc\ud560 \uc218 \uc788\ub294 \uae30\ub2a5\uc744 GeoService-Xr\uacfc FingerEyes-Xr\uc744 \uc774\uc6a9\ud574 \uc27d\uac8c \uc801\uc6a9\ud560 \uc218 \uc788\ub294\ub370\uc694. \uc774\ub7ec\ud55c \ub300\uc6a9\ub7c9 \ud30c\uc77c \uc5c5\ub85c\ub4dc\uc5d0 \ub300\ud55c API\uc5d0 \ub300\ud55c \uc815\ub9ac\uac00 \uc774 \uae00\uc758 \uc8fc\uc81c\uc785\ub2c8\ub2e4. \ub300\uc6a9\ub7c9\uc740 \uc544\ub2c8\uc9c0\ub9cc \uc774\ubbf8\uc9c0 \ud30c\uc77c\uc744 \uc11c\ubc84\uce21\uc5d0 \uc5c5\ub85c\ub4dc \ud558\ub294 \uac83\uc744 \ubaa9\ud45c\ub85c \uae00\uc744 \uc815\ub9ac\ud569\ub2c8\ub2e4. \uc774\ubbf8\uc9c0\uac00 \ub300\uc6a9\ub7c9\uc740 \uc544\ub2c8\uc9c0\ub9cc \uc774 \uae00\uc5d0\uc11c \uc124\uba85\ud558\ub294 \ubc29\ubc95\uc740 \uc11c\ubc84\uc758 OS\uac00 \ud5c8\ub77d\ud558\ub294 \ud30c\uc77c \uc2dc\uc2a4\ud15c\uc758 \ucd5c\ub300 \uc6a9\ub7c9\uc744 \uc9c0\uc6d0\ud569\ub2c8\ub2e4.<\/p>\n<p>\uba3c\uc800 \uc544\ub798\uc758 JS \ucf54\ub4dc\ub85c \uc774\ubbf8\uc9c0\ub97c \uc5c5\ub85c\ub4dc\ud558\uae30 \uc704\ud55c UI\ub97c \uad6c\uc131\ud569\ub2c8\ub2e4.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"html\">\r\n<input type='file' id='ImageFileUI' accept='image\/*' style='display:none' \/>\r\n<button id=\"SelectImageFileUI\">Select Image<\/button>\r\n<button id=\"UploadImageFileUI\">Upload Image<\/button>\r\n<p><image id=\"ImageUI\" style=\"border:1px solid grey;width:350px;height:350px\"><\/image><\/p>\r\n<\/pre>\n<p>\uc704\uc758 JS \ucf54\ub4dc\ub294 \uc544\ub798\uc640 \uacb0\uacfc \ud654\uba74\uc744 \uc0dd\uc131\ud569\ub2c8\ub2e4.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.gisdeveloper.co.kr\/wp-content\/uploads\/2018\/07\/image_file_upload.png\" alt=\"\" width=\"808\" height=\"521\" class=\"aligncenter size-full wp-image-5317\" \/><\/p>\n<p>\uc704\uc758 UI\uc5d0 \ub300\ud55c \uae30\ub2a5\uc740 \uc544\ub798\uc640 \uac19\uc774 \uc0ac\uc6a9\uc790\uc758 3\uac00\uc9c0 \ud589\uc704\ub97c \uc9c0\uc6d0\ud569\ub2c8\ub2e4.<\/p>\n<ol>\n<li>Select Image \ubc84\ud2bc\uc744 \ud074\ub9ad\ud574 \uc0ac\uc6a9\uc790\uc758 \uc774\ubbf8\uc9c0 \ud30c\uc77c\uc744 \uc120\ud0dd\ud558\uba74,<\/li>\n<li>\uc544\ub798\uc5d0 \uc120\ud0dd\ub41c \uc774\ubbf8\uc9c0\uac00 \ud45c\uc2dc\ub429\ub2c8\ub2e4.<\/li>\n<li>\uadf8\ub9ac\uace0 Upload Image \ubc84\ud2bc\uc744 \ud074\ub9ad\ud558\uba74 \uc11c\ubc84\uce21\uc5d0 \uc774\ubbf8\uc9c0\uac00 \uc5c5\ub85c\ub4dc\ub41c\ub2e4.<\/li>\n<\/ol>\n<p>\uc704\uc758 \uae30\ub2a5\uc744 \uad6c\ud604\ud558\uae30 \uc704\ud55c JS \ucf54\ub4dc\ub294 \uc544\ub798\uac00 \uc804\ubd80\uc785\ub2c8\ub2e4.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"js\">\r\nSelectImageFileUI.onclick = function () {\r\n    ImageFileUI.click();\r\n};\r\n\r\nImageFileUI.onchange = function () {\r\n    if (ImageFileUI.files && ImageFileUI.files[0]) {\r\n        var reader = new FileReader();\r\n\r\n        reader.onload = function (e) {\r\n            ImageUI.setAttribute(\"src\", e.target.result);\r\n        }\r\n\r\n        reader.readAsDataURL(ImageFileUI.files[0]);\r\n    }\r\n};\r\n\r\nUploadImageFileUI.onclick = function () {\r\n    var imageFile = ImageFileUI.files[0];\r\n\r\n    if (imageFile) {\r\n        var args = {\r\n            id: 0,\r\n            server: \"http:\/\/localhost:7777\",\r\n            imageFile: imageFile,\r\n            savedFileName: Date.now() + \".\" + imageFile.name.split('.').pop(),\r\n            uploadDir: \"CCTV_IMAGES\",\r\n\r\n            onCompleted: function (id) {\r\n                alert('completed');\r\n            },\r\n\r\n            onFailed: function (id) {\r\n                alert('failed');\r\n            },\r\n\r\n            onProgress: function(id, percent) {\r\n              \/\/.\r\n            }\r\n        };\r\n\r\n        if (false == Xr.OperationHelper.uploadFile(args)) {\r\n            alert(\"\uc778\uc790\uac00 \uc633\ubc14\ub974\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.\");\r\n        }\r\n    } else {\r\n        alert(\"\uc5c5\ub85c\ub4dc\ud560 \ud30c\uc77c\uc744 \uc120\ud0dd\ud558\uc138\uc694.\");\r\n    }\r\n};\r\n<\/pre>\n<p>\uc0ac\uc6a9\uc790\uc758 3\uac1c\uc758 \ud589\uc704\uc5d0 \ub300\ud55c 3\uac1c\uc758 \uc774\ubca4\ud2b8\uc5d0 \ub300\ud55c \ucf54\ub4dc\ub85c \uad6c\uc131\ub418\ub294\ub370\uc694. \uba3c\uc800 Select Image \ubc84\ud2bc\uc744 \ud074\ub9ad\ud558\uba74 \uc2e4\ud589\ub418\ub294 \ucf54\ub4e0\ub290 1-3\ubc88\ucf54\ub4dc\uc785\ub2c8\ub2e4. hidden\uc73c\ub85c \uc124\uc815\ub41c File Input \ucee8\ud2b8\ub97c\uc758 click \uc774\ubca4\ud2b8\ub97c \ud2b8\ub9ac\uac70(trigger, \uac1c\ubc1c\uc790\uac00 \ucf54\ub4dc\ub97c \ud1b5\ud574 \uc774\ubca4\ud2b8\ub97c \ubc1c\uc0dd\ud574 \uc8fc\ub294 \uac83)\ud574\uc8fc\ub294\uac8c \uc804\ubd80\uc785\ub2c8\ub2e4. \uc0ac\uc6a9\uc790\uac00 \uc774\ubbf8\uc9c0 \ud30c\uc77c\uc744 \uc120\ud0dd\ud558\uba74 id\uac00 ImageFileUI\uc778 File Input \ucee8\ud2b8\ub864\uc5d0 onchange \uc774\ubca4\ud2b8\uac00 \ubc1c\uc0dd\ud558\ub294\ub370, \uc774 \uc774\ubca4\ud2b8\uc758 \ucf54\ub4dc\ub294 5-15\ubc88\uc785\ub2c8\ub2e4. FileReader \uac1d\uccb4\ub97c \uc774\uc6a9\ud574 \ud30c\uc77c\uc758 \ub0b4\uc6a9\uc744 \uc77d\uace0, \ub0b4\uc6a9\uc744 \ub2e4 \uc77d\uc73c\uba74 10\ubc88 \ucf54\ub4dc\uc5d0\uc11c \uc774\ubbf8\uc9c0\ub97c \ud654\uba74\uc5d0 \ud45c\uc2dc\ud569\ub2c8\ub2e4. \uadf8\ub9ac\uace0 Upload Image \ubc84\ud2bc\uc744 \ud074\ub9ad\ud558\uba74 \uc2e4\ud589\ub418\ub294 \ucf54\ub4dc\ub294 17-47\ubc88\uc785\ub2c8\ub2e4. 41\ubc88\uc758 Xr.OperationHelper.uploadFile \ud568\uc218 \ud638\ucd9c\uc744 \uc704\ud55c \uc778\uc790(Argument)\ub4e4\uc744 \uc900\ube44\ud558\uace0 \uc2e4\ud589\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uc774 uploadFile \ud568\uc218\ub97c \ud638\ucd9c\ud558\uae30 \uc704\ud574 \uc804\ub2ec\ub418\ub294 \uc778\uc790\uc5d0\ub294 \uc5c5\ub85c\ub4dc Task\uc5d0 \ub300\ud55c id, \uc11c\ubc84\uc758 \uc8fc\uc18c(server), \uc0ac\uc6a9\uc790\uac00 \uc120\ud0dd\ud55c \uc774\ubbf8\uc9c0 \ud30c\uc77c\uc758 \uac1d\uccb4(imageFile), \uc11c\ubc84\uce21\uc5d0 \uc800\uc7a5\ub420 \ud30c\uc77c\uba85(savedFileName), \ud30c\uc77c\uc774 \uc800\uc7a5\ub420 \uc11c\ubc84\uce21 \ub514\ub809\ud1a0\ub9ac(uploadDir) \ub4f1 \uc774\uace0, \uc11c\ubc84\uce21\uc5d0 \uc5c5\ub85c\ub4dc\uac00 \uc131\uacf5\uc801\uc73c\ub85c \uc644\ub8cc\ub418\uba74 \ud638\ucd9c\ub418\ub294 \uc774\ubca4\ud2b8\uc640 \uc5c5\ub85c\ub4dc\uac00 \uc2e4\ud589\ud558\uba74 \ud638\ucd9c\ub418\ub294 \uc774\ubca4\ud2b8\uc778 onCompleted\uc640 onFailed, \uadf8\ub9ac\uace0 \uc5c5\ub85c\ub4dc \uc9c4\ud589\uc728\uc5d0 \ub300\ud55c onProgress \ucf5c\ubc31 \ud568\uc218\uc774\uba70, \uc774 \uc774\ubca4\ud2b8\ub294 \ud544\uc218\uac00 \uc544\ub2cc \uc635\uc158\uc785\ub2c8\ub2e4.<\/p>\n<p>\ub367\ubd99\uc5ec GeoService-Xr\uc740 \uc11c\ubc84 \uce21\uc5d0 \ud30c\uc77c\uc744 \uc62c\ub9ac\uae30\ub3c4 \ud558\ub294 \uae30\ub2a5 \ubfd0\ub9cc \uc544\ub2c8\ub77c, \uc11c\ubc84 \uce21\uc5d0\uc11c \ud30c\uc77c\uc744 \ub0b4\ub824 \ubc1b\uae30 \uc704\ud55c \uc11c\ube44\uc2a4\ub3c4 \uc81c\uacf5 \ud558\ub294\ub370\uc694. \uc544\ub798\ub294 url \ud638\ucd9c\uc758 \uc608\ub294 \uc11c\ubc84\uce21\uc5d0 \uc874\uc7ac\ud558\ub294 2323123.pdf \ud30c\uc77c\uc744 myFile.pdf\ub77c\ub294 \ud30c\uc77c\ub85c \ub2e4\uc6b4\ub85c\ub4dc \ubc1b\uc2b5\ub2c8\ub2e4.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"html\">\r\n<a href=\"http:\/\/localhost:8080\/Xr?fdl|upload\/2323123.pdf|myFile.pdf\">\ub2e4\uc6b4\ub85c\ub4dc<\/a>\r\n<\/pre>\n<p>\ub610\ud55c \uc11c\ubc84 \uce21\uc5d0 \uc874\uc7ac\ud558\ub294 \uc5ec\ub7ec\uac1c\uc758 \ud30c\uc77c\uc744 \uc555\ucd95\ud558\uc5ec \ud558\ub098\uc758 zip \ud30c\uc77c\ub85c \ub0b4\ub824 \ubc1b\uae30 \uc704\ud55c url \ud638\ucd9c \uc11c\ube44\uc2a4\uc758 \uc608\ub294 \uc544\ub798\uc640 \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"html\">\r\n<form action=\"http:\/\/localhost:8080\/Xr?dlmfs|single.zip\" method=\"post\">\r\n    <button type=\"submit\" name=\"files\" value=\"upload\/a.hwp\\nupload\/b.hwp\\nc.hwp\">Download as zip file<\/button>\r\n<\/form>\r\n<\/pre>\n<p>\uc989, \uc11c\ubc84\uce21\uc5d0 \uc874\uc7ac\ud558\ub294 a.hwp, b.hwp, c.hwp\uc5d0 \ub300\ud55c 3\uac1c\uc758 \ud30c\uc77c\uc744 single.zip\uc73c\ub85c \uc555\ucd95\ud558\uc5ec \ub0b4\ub824 \ubc1b\uc2b5\ub2c8\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\uc0ac\uc6a9\uc790\uc758 \uc694\uad6c\uc0ac\ud56d\uc744 \ucda9\ubd84\ud788 \ubc18\uc601\ud560 \uc218 \uc788\ub294 GIS \uc2dc\uc2a4\ud15c\uc744 \uac1c\ubc1c\ud560 \ub54c, \ub300\uc6a9\ub7c9 \ub370\uc774\ud130\ub97c \uc11c\ubc84 \uce21\uc5d0 \uc5c5\ub85c\ub4dc\ud574\uc57c \ud560\ub54c\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uc608\ub97c \ub4e4\uc5b4, \ucd5c\uc2e0 \uc9c0\uc801\ub3c4\ub97c \uc11c\ubc84\uce21\uc5d0 \uc62c\ub824 \ucd5c\uc2e0 \uc9c0\uc801\ub3c4 \uc11c\ube44\uc2a4\ub97c \uc5c5\ub370\uc774\ud2b8\ud558\uac70\ub098, \uc0ac\uc6a9\uc790\uac00 \ubcf4\uc720\ud55c \ube45\ub370\uc774\ud130\ub97c CSV\ub098 Excel \ud615\ud0dc\ub85c \uc11c\ubc84\uc5d0 \uc62c\ub824 \uc11c\ubc84\uce21\uc5d0\uc11c \ubd84\uc11d\uc744 \ud55c \ub4a4\uc5d0 \uadf8 \uacb0\uacfc\ub97c \uacf5\uac04\uc0c1\uc5d0 \uc2dc\uac01\ud654\ud558\ub294 \ub4f1\uc774 \uc788\ub294\ub370\uc694. \uc774\ub7ec\ud55c \ub300\uc6a9\ub7c9 \ud30c\uc77c\uc744 \uc5c5\ub85c\ub4dc\ud560 \uc218 \uc788\ub294 \uae30\ub2a5\uc744 \uc6f9\uc5d0\uc11c \uc27d\uac8c \uc801\uc6a9\ud560 &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/www.gisdeveloper.co.kr\/?p=5314\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;GeoService-Xr\uacfc FingerEyes-Xr\uc744 \uc774\uc6a9\ud55c \ub300\uc6a9\ub7c9 \ud30c\uc77c \uc5c5\ub85c\ub4dc \ubc0f \ub2e4\uc6b4\ub85c\ub4dc \uc11c\ube44\uc2a4&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[70,7],"tags":[],"class_list":["post-5314","post","type-post","status-publish","format-standard","hentry","category-fingereyes-xr","category-gis-working-history"],"_links":{"self":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/5314","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5314"}],"version-history":[{"count":12,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/5314\/revisions"}],"predecessor-version":[{"id":9566,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/5314\/revisions\/9566"}],"wp:attachment":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5314"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5314"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5314"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}