{"id":9208,"date":"2020-05-21T14:03:13","date_gmt":"2020-05-21T05:03:13","guid":{"rendered":"http:\/\/www.gisdeveloper.co.kr\/?p=9208"},"modified":"2020-05-28T09:28:04","modified_gmt":"2020-05-28T00:28:04","slug":"gis-%ec%97%94%ec%a7%84%ec%9d%84-%ec%9d%b4%ec%9a%a9%ed%95%9c-%ea%b3%b5%ea%b0%84-%ed%86%b5%ea%b3%84-%eb%8d%b0%ec%9d%b4%ed%84%b0-%ec%8b%9c%ea%b0%81%ed%99%94-%ed%99%95%ec%9e%a5","status":"publish","type":"post","link":"http:\/\/www.gisdeveloper.co.kr\/?p=9208","title":{"rendered":"GIS \uc5d4\uc9c4\uc744 \uc774\uc6a9\ud55c \uacf5\uac04 \ud1b5\uacc4 \ub370\uc774\ud130 \uc2dc\uac01\ud654 \ud655\uc7a5"},"content":{"rendered":"<p>\ud1b5\uacc4 \ub370\uc774\ud130\ub97c \uacf5\uac04 \uc0c1\uc5d0 \uc2dc\uac01\ud654\ud558\uae30 \uc704\ud574 \uc9c0\ub9ac\uc815\ubcf4\uc2dc\uc2a4\ud15c(GIS)\uc744 \ud65c\uc6a9\ud558\ub294 \uac83\uc740 \ub9e4\uc6b0 \ud6a8\uacfc\uc801\uc778 \ubc29\ubc95\uc785\ub2c8\ub2e4. \ud754\ud788 \uc8fc\uc81c\ub3c4(Thematic Map)\ub77c\uace0 \ud558\ub294 \ub2e8\uacc4\uc0c9\uc0c1\uad6c\ubd84\ub3c4(Choropleth Map), \ucc28\ud2b8\ub9f5(Chart Map), \ubc00\ub3c4\ub9f5(Densit Map) \ub4f1\uc774 \uac00\ub2a5\ud558\uc5ec, \uac01\uac01\uc758 \uc608\uc2dc\ub294 \uc544\ub798 \uadf8\ub9bc\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.gisdeveloper.co.kr\/wp-content\/uploads\/2020\/05\/NexGen_ThematicMap.png\" alt=\"\" width=\"1798\" height=\"978\" class=\"aligncenter size-full wp-image-9230\" \/><\/p>\n<p>\uc774\uc678\uc5d0\ub3c4 \ub2e4\uc591\ud55c \uc885\ub958\uc758 \uc8fc\uc81c\ub3c4\uac00 \uc788\uace0, \ud45c\ud604\ud558\uace0\uc790 \ud558\ub294 \uad00\uc810\uc5d0\uc11c \uc0c8\ub85c\uc6b4 \uc8fc\uc81c\ub3c4\uac00 \uacc4\uc18d \uc0dd\uaca8\ub0a0 \uac83\uc785\ub2c8\ub2e4. \uc774\uc5d0 \ub300\ud574 GIS \uc5d4\uc9c4\uc744 \uc774\uc6a9\ud558\uc5ec \uc0c8\ub85c\uc6b4 \uc8fc\uc81c\ub3c4\ub97c \uc0dd\uc131\ud558\ub294 \ub0b4\uc6a9\uc744 API \uad00\uc810\uc5d0\uc11c \uc815\ub9ac\ud574 \ubd05\ub2c8\ub2e4. GIS \uc5d4\uc9c4\uc5d0 \ub300\ud55c \uc815\uc758\ub294 \ub2e4\uc591\ud558\uc9c0\ub9cc, \uc5ec\uae30\uc11c \uc5b8\uae09\ud558\ub294 GIS \uc5d4\uc9c4\uc740 \ud074\ub77c\uc774\uc5b8\ud2b8 \uad00\uc810\uc5d0\uc11c \uc9c0\ub3c4\ub97c \uc2dc\uac01\ud654\ud558\uace0 \uc9c0\ub3c4\ub97c \uc870\uc791\ud558\ub294 \uae30\ub2a5 \ub4f1\uc744 API\ub85c \uc81c\uacf5\ud558\ub294 \ud504\ub85c\uadf8\ub7a8\uc785\ub2c8\ub2e4. \uc774\ub7ec\ud55c GIS \uc5d4\uc9c4 \uc911 \uc800\ud76c \ud68c\uc0ac\uc5d0\uc11c \uac1c\ubc1c\ud55c FingerEyes-Xr\uc744 \uc774\uc6a9\ud574 \uae00\uc744 \uc791\uc131\ud569\ub2c8\ub2e4.<\/p>\n<p>FingerEyes-Xr\uc740 \ud1b5\uacc4 \ub370\uc774\ud130\ub97c \uacf5\uac04 \ub370\uc774\ud130\ub85c \uc2dc\uac01\ud654\ud558\uae30 \uc704\ud574 GraphicLayer\ub77c\ub294 \ud074\ub798\uc2a4\ub97c \uc774\uc6a9\ud569\ub2c8\ub2e4. \uadf8\ub798\ud53d \ub808\uc774\uc5b4\ub294 \ub2e4\uc591\ud55c \uadf8\ub798\ud53d \uc694\uc18c\ub85c \uad6c\uc131\ub418\ub294\ub370, \uc0c8\ub85c\uc6b4 \uc885\ub958\uc758 \uadf8\ub798\ud53d \uc694\uc18c\ub97c \uc815\uc758\ud568(\uc989, \ud074\ub798\uc2a4\ub97c \ud655\uc7a5\ud568)\uc73c\ub85c\uc368 \uacf5\uac04 \ud1b5\uacc4 \ub370\uc774\ud130\ub97c \uc6d0\ud558\ub294 \ud615\ud0dc\ub85c \ud45c\ud604\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uba3c\uc800 \uc2dc\uac01\ud654\ud558\uace0\uc790 \ud558\ub294 \ud1b5\uacc4 \ub370\uc774\ud130\ub97c \uc0b4\ud3b4\ubcf4\uba74 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.gisdeveloper.co.kr\/wp-content\/uploads\/2020\/05\/covid_seoul.png\" alt=\"\" width=\"968\" height=\"252\" class=\"aligncenter size-full wp-image-9211\" \/><\/p>\n<p>\uc704\uc758 \ud1b5\uacc4 \ub370\uc774\ud130\ub97c \uadf8\ub798\ud53d \uc694\uc18c\uc758 \ud655\uc7a5\uc744 \ud1b5\ud574 \uc2dc\uac01\ud654\ud55c \uacb0\uacfc\ub294 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.gisdeveloper.co.kr\/wp-content\/uploads\/2020\/05\/covid_thematic_map2.png\" alt=\"\" width=\"1429\" height=\"1065\" class=\"aligncenter size-full wp-image-9216\" \/><\/p>\n<p>\uac01 \uc9c0\uc5ed\uad6c \ubcc4\ub85c \ucf54\ub85c\ub098 \ud655\uc9c4\uc790 \uc218\ub97c \ud45c\ud604\ud558\uace0 \uc788\uc73c\uba70, \ucf54\ub85c\ub098 \ubc1c\uc0dd\uc790\uac00 \ub9ce\uc740 \uc9c0\uc5ed\uad6c\uc740 \ube68\uac04\uc0c9\uc73c\ub85c, \uc801\uc740 \uc9c0\uc5ed\uad6c\ub294 \ucd08\ub85d\uc0c9\uc73c\ub85c \ud45c\uc2dc\ud558\uace0 \uc788\uc2b5\ub2c8\ub2e4. \uc774\uc81c \uc704\uc758 \uacf5\uac04 \ud1b5\uacc4 \uc9c0\ub3c4\ub97c \uc0dd\uc131\ud558\uae30 \uc704\ud55c GIS \uc5d4\uc9c4\uc758 API\ub97c \uc815\ub9ac\ud574 \ubcf4\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\uc0c8\ub85c\uc6b4 \uadf8\ub798\ud53d \uc694\uc18c\ub97c \ucd94\uac00\ud558\uae30 \uc704\ud574\uc11c\ub294 GraphicRow\ub97c \ubd80\ubaa8 \ud074\ub798\uc2a4\ub85c \ud558\uc5ec \ud30c\uc0dd \ud074\ub798\uc2a4\uc640 ShapeData\ub97c \ubd80\ubaa8 \ud074\ub798\uc2a4\ub85c \ud558\ub294 \ud30c\uc0dd \ud074\ub798\uc2a4\ub97c \ub9cc\ub4e4\uc5b4 \uc90d\ub2c8\ub2e4. GraphcRow\uc758 \ud30c\uc0dd \ud074\ub798\uc2a4\ub294 \ud1b5\uacc4 \ub370\uc774\ud130\uac00 \uc5b4\ub5bb\uac8c \uc9c0\ub3c4 \uc0c1\uc5d0 \uadf8\ub824\uc9c0\ub294\uac00\ub97c \uc815\uc758\ud558\uba70, ShapeData\uc758 \ud30c\uc0dd \ud074\ub798\uc2a4\ub294 \uadf8\ub824\uc9c0\uae30 \uc704\ud574\uc11c \uac00\uc838\uc57c\ud560 \ub370\uc774\ud130\ub97c \uc815\uc758\ud569\ub2c8\ub2e4. \uc55e\uc11c \ubcf8 \ud1b5\uacc4 \uc9c0\ub3c4\uc758 \ubaa8\uc2b5\uc774 \uc190\ud1b1 \ubaa8\uc591\uc758 \uc8fc\uc81c\ub3c4\ub77c\ub294 \uad00\uc810\uc5d0\uc11c \uac01\uac01\uc758 \ud30c\uc0dd \ud074\ub798\uc2a4\ub97c NailNumberGraphicRow\uc640 NailNumberShapeData\ub77c\uace0 \ud558\uaca0\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\uba3c\uc800 NailNumberGraphicRow \ud074\ub798\uc2a4\uc758 \ucf54\ub4dc\uc5d0\uc11c \uc911\uc694\ud55c \ubd80\ubd84\uc744 \uc5b8\uae09\ud558\uba74 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"js\">\r\nNailNumberGraphicRow = Xr.Class({\r\n    extend: Xr.data.GraphicRow,\r\n\r\n    construct: function (id, \/* NailNumberShapeData *\/ graphicData) {\r\n        Xr.data.GraphicRow.call(this, id, graphicData.clone());\r\n\r\n        \/\/ \uadf8\ub798\ud53d \uc694\uc18c\ub97c \ud654\uba74\uc0c1\uc5d0 \uc2dc\uac01\ud654 \ud558\uae30 \uc704\ud574 \ud544\uc694\ud55c \uc2ec\ubc8c \uc815\uc758\r\n        \/\/ NailNumberGraphicRow \ud074\ub798\uc2a4\uc5d0\uc11c\ub294 PenSymbol \uac1d\uccb4 2\uac1c, BrushSymbol \uac1d\uccb4 2\uac1c, FontSymbol \uac1d\uccb4 2\uac1c\ub97c \uc0ac\uc6a9\ud588\uc74c\r\n    },\r\n\r\n    methods: {\r\n        MBR: function (\/* CoordMapper *\/ coordMapper, \/* SVG Element *\/ container) {\r\n            \/\/ \uadf8\ub798\ud53d \uc694\uc18c\uac00 \uacf5\uac04 \uc0c1\uc5d0 \ucc28\uc9c0\ud558\ub294 MBR\uc744 \uc815\uc758\ud574\uc11c \ubc18\ud658\r\n        },\r\n\r\n        \/* SVG Element *\/ appendSVG: function (\/* CoordMapper *\/ coordMapper, \/* SVG Element *\/ container) {\r\n            \/\/ coordMapper\ub294 \uc9c0\ub3c4 \uc88c\ud45c\ub97c \ud654\uba74 \uc88c\ud45c\ub85c, \ud654\uba74\uc88c\ud45c\ub97c \uc9c0\ub3c4 \uc88c\ud45c\ub85c \ubcc0\ud658\ud558\ub294 \uae30\ub2a5\uc744 \uc81c\uacf5\ud568\r\n            \/\/ \ud45c\ud604\ub418\ub294 \ubaa8\uc2b5\uc5d0 \ub530\ub77c SVG \uc790\uc2dd \uc694\uc18c\ub97c \uc0dd\uc131\ud558\uc5ec SVG container\uc5d0 \ucd94\uac00 \ud568\r\n            \/\/ \uc790\uc2dd \uc694\uc18c\uac00 \uc5ec\ub7ec \uac1c\ub77c\uba74 g \uc694\uc18c\ub97c \ubd80\ubaa8\ub85c \ud558\uace0, \uc774 g \uc694\uc18c\ub97c \ubc18\ud658\ud568\r\n        }\r\n    }\r\n});\r\n<\/pre>\n<p>GraphicRow\uc758 \ud30c\uc0dd \ud074\ub798\uc2a4\ub294 \ucd5c\uc18c\ud55c MBR\uacfc appendSVG \ud568\uc218\ub97c \uad6c\ud604\ud574\uc57c \ud569\ub2c8\ub2e4. \ubb3c\ub860, \uadf8\ub798\ud53d \uc694\uc18c\uc758 \ud3b8\uc9d1\uc744 \uc704\ud574\uc11c\ub294 \ub354 \ub9ce\uc740 \ud568\uc218\uc640 \uc778\ud130\ud398\uc774\uc2a4\ub97c \uad6c\ud604\ud574\uc57c \ud558\uc9c0\ub9cc, \ub2e8\uc21c\ud788 \ud45c\ud604\ub9cc\uc744 \uc704\ud55c\ub2e4\uba74 \uc774 2\uac1c\uc758 \ud568\uc218\uc758 \uad6c\ud604\ub9cc\uc73c\ub85c\ub3c4 \ucda9\ubd84\ud569\ub2c8\ub2e4. \ub2e4\uc74c\uc740 NailNumberShapeData \ud074\ub798\uc2a4\uc758 \ucf54\ub4dc\uc785\ub2c8\ub2e4. \uc5ed\uc2dc \uc911\uc694\ud55c \ubd80\ubd84\ub9cc\uc744 \uc5b8\uae09\ud558\uba74 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"js\">\r\nXr.data.NailNumberShapeData = Xr.Class({\r\n    extend: Xr.data.ShapeData,\r\n\r\n    construct: function (\/* { pos: [x, y], \r\n                              outbox_size: [width, height], inbox_size: [width, height], \r\n                              title: '..', value: 0, title_offset_y: 0, value_offset_y: 0 } *\/ arg) {\r\n        Xr.data.ShapeData.call(this);\r\n\r\n        this._data = arg;\r\n        this._mbr = new Xr.MBR();\r\n    },\r\n\r\n    methods: {\r\n        \/* ShapeData *\/ clone: function () {\r\n            let arg = {};\r\n            for (k in this._data) {\r\n                arg[k] = this._data[k];\r\n            }\r\n\r\n            let newThing = new Xr.data.NailNumberShapeData(arg);\r\n            newThing._mbr.copyFrom(this._mbr);\r\n\r\n            return newThing;\r\n        },\r\n\r\n        data: function () {\r\n            return this._data;\r\n        },\r\n\r\n        MBR: function () {\r\n            return this._mbr;\r\n        },\r\n\r\n        \/* PointD *\/ representativePoint: function () {\r\n            \/\/ \uadf8\ub798\ud53d \uc694\uc18c\uc758 \ub300\ud45c \uc88c\ud45c\uc744 \uc9c0\uc815\ud569\ub2c8\ub2e4. \r\n            \/\/ \ub300\ubd80\ubd84\uc758 \uacbd\uc6b0 MBR\uc758 \uc911\uc2ec\uc810\uc774 \ub300\ud45c \uc88c\ud45c\uc785\ub2c8\ub2e4.\r\n            return new Xr.PointD(this._mbr.centerX(), this._mbr.centerY());\r\n        },\r\n\r\n        \/* int *\/ type: function () {\r\n            return \"NailNumberShapeData\";\r\n        },\r\n    }\r\n});\r\n<\/pre>\n<p>\uc0dd\uc131\uc790\uc5d0\uc11c \uadf8\ub798\ud53d \uc694\uc18c\ub85c\uc368 \ud45c\ud604\ud558\ub294\ub370 \ud544\uc694\ud55c \ub370\uc774\ud130\ub4e4\uc744 \ub9e4\uac1c\ubcc0\uc218\ub85c \ubc1b\uc2b5\ub2c8\ub2e4. \uc138\ubd80\uc801\uc778 API\uc758 \uc124\uba85\uc740 \ud53c\ud558\uace0 \uaf2d \uc911\uc694\ud55c \ubd80\ubd84\ub9cc\uc744 \uc5b8\uae09\ud558\uc5ec \uac04\ub2e8\uc774 \uc124\uba85\ud588\uc9c0\ub9cc, \uacf5\uac04 \ub370\uc774\ud130\uc758 \uc2dc\uac01\ud654\uc5d0 \ub300\ud574 \uc6d0\ud558\ub294 \uc5b4\ub5a0\ud55c \ubc29\ubc95\uc774\ub77c\ub3c4 \uc704\uc758 \ubc29\ubc95\uc744 \ud1b5\ud574 \uc9c0\uc6d0\uc774 \uac00\ub2a5\ud569\ub2c8\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\ud1b5\uacc4 \ub370\uc774\ud130\ub97c \uacf5\uac04 \uc0c1\uc5d0 \uc2dc\uac01\ud654\ud558\uae30 \uc704\ud574 \uc9c0\ub9ac\uc815\ubcf4\uc2dc\uc2a4\ud15c(GIS)\uc744 \ud65c\uc6a9\ud558\ub294 \uac83\uc740 \ub9e4\uc6b0 \ud6a8\uacfc\uc801\uc778 \ubc29\ubc95\uc785\ub2c8\ub2e4. \ud754\ud788 \uc8fc\uc81c\ub3c4(Thematic Map)\ub77c\uace0 \ud558\ub294 \ub2e8\uacc4\uc0c9\uc0c1\uad6c\ubd84\ub3c4(Choropleth Map), \ucc28\ud2b8\ub9f5(Chart Map), \ubc00\ub3c4\ub9f5(Densit Map) \ub4f1\uc774 \uac00\ub2a5\ud558\uc5ec, \uac01\uac01\uc758 \uc608\uc2dc\ub294 \uc544\ub798 \uadf8\ub9bc\uacfc \uac19\uc2b5\ub2c8\ub2e4. \uc774\uc678\uc5d0\ub3c4 \ub2e4\uc591\ud55c \uc885\ub958\uc758 \uc8fc\uc81c\ub3c4\uac00 \uc788\uace0, \ud45c\ud604\ud558\uace0\uc790 \ud558\ub294 \uad00\uc810\uc5d0\uc11c \uc0c8\ub85c\uc6b4 \uc8fc\uc81c\ub3c4\uac00 \uacc4\uc18d \uc0dd\uaca8\ub0a0 \uac83\uc785\ub2c8\ub2e4. \uc774\uc5d0 \ub300\ud574 GIS \uc5d4\uc9c4\uc744 \uc774\uc6a9\ud558\uc5ec \uc0c8\ub85c\uc6b4 \uc8fc\uc81c\ub3c4\ub97c \uc0dd\uc131\ud558\ub294 \ub0b4\uc6a9\uc744 API \uad00\uc810\uc5d0\uc11c \uc815\ub9ac\ud574 \ubd05\ub2c8\ub2e4. &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/www.gisdeveloper.co.kr\/?p=9208\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;GIS \uc5d4\uc9c4\uc744 \uc774\uc6a9\ud55c \uacf5\uac04 \ud1b5\uacc4 \ub370\uc774\ud130 \uc2dc\uac01\ud654 \ud655\uc7a5&#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],"tags":[],"class_list":["post-9208","post","type-post","status-publish","format-standard","hentry","category-fingereyes-xr"],"_links":{"self":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/9208","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=9208"}],"version-history":[{"count":13,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/9208\/revisions"}],"predecessor-version":[{"id":9312,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/9208\/revisions\/9312"}],"wp:attachment":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=9208"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=9208"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=9208"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}