{"id":1887,"date":"2013-09-07T02:21:58","date_gmt":"2013-09-07T02:21:58","guid":{"rendered":"http:\/\/www.gisdeveloper.co.kr\/?p=1887"},"modified":"2017-01-27T12:55:32","modified_gmt":"2017-01-27T03:55:32","slug":"fingereyes-xr-%ea%b3%b5%ea%b0%84-%eb%8d%b0%ec%9d%b4%ed%84%b0-%ed%8e%b8%ec%a7%91%ec%97%90-%eb%8c%80%ed%95%9c-%ec%a0%95%eb%a6%acbridge-edit","status":"publish","type":"post","link":"http:\/\/www.gisdeveloper.co.kr\/?p=1887","title":{"rendered":"[GIS] FingerEyes-Xr\uc5d0\uc11c \uacf5\uac04 \ub370\uc774\ud130 \ud3b8\uc9d1\uc5d0 \ub300\ud55c \uc815\ub9ac(Bridge Edit)"},"content":{"rendered":"<p><font color=\"#8e8e8e\">(\uc8fc\uc758) \uc774 \uae00\uc740 \ud604\uc7ac \ud551\uac70\uc544\uc774\uc988\uc758 Bridge Edit \ubc29\uc2dd\uc744 \uc124\uba85\ud55c \uae00\uc785\ub2c8\ub2e4. \ucf54\ub4dc \uc791\uc131\uc744 \uc704\ud55c \ud6a8\uc728\uc131\uc744 \ubaa9\uc801\uc73c\ub85c \uc774 \uae00\uc758 \ub0b4\uc6a9\uc774 \uc2e4\uc81c API\uc640 \ub2ec\ub77c\uc9c8 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \uae00\uc740 FingerEyes-Xr \ubc84\uc804 2.7\uc744 \uae30\uc900\uc73c\ub85c \ud569\ub2c8\ub2e4.<\/font><\/p>\n<p>\ud551\uac70\uc544\uc774\uc988(FingerEyes-Xr)\ub294 \uc6f9\uc5d0\uc11c \uacf5\uac04 \ub370\uc774\ud130\ub97c \ud3b8\uc9d1\ud560 \uc218 \uc788\ub294 \uac15\ub825\ud55c \uae30\ub2a5\uc744 \uc9c0\uc6d0\ud569\ub2c8\ub2e4. \ud3b8\uc9d1\uc5d0 \ub300\ud55c Undo\/Redo\ub294 \ubb3c\ub860 Vertex\uc640 Segment\uc5d0 \ub300\ud55c \uc2a4\ub0c5\ud551(Snapping) \uae30\ub2a5\uc744 \uc9c0\uc6d0\ud568\uc73c\ub85c\uc368 \ud3b8\uc9d1\uc5d0 \ub300\ud55c \ud3b8\ub9ac\uc131\uc744 \uc0ac\uc6a9\uc790\uc5d0\uac8c \uc81c\uacf5\ud569\ub2c8\ub2e4.<\/p>\n<p>\ud551\uac70\uc544\uc774\uc988\ub294 \uacf5\uac04 \ub370\uc774\ud130 \ud3b8\uc9d1\uc5d0 \ub300\ud574\uc11c Direct Edit \ubc29\uc2dd\uacfc Bridge Edit \ubc29\uc2dd\uc744 \uc81c\uacf5\ud569\ub2c8\ub2e4. Direct Edit\uc740 \uacf5\uac04 \ub370\uc774\ud130\ub97c \ud3b8\uc9d1\ud558\uba74 \uace7\ubc14\ub85c DBMS\uc5d0 \ubc18\uc601\ub418\ub294 \ubc29\uc2dd\uc774\uace0 Bridge Edit \ubc29\uc2dd\uc740 \ud3b8\uc9d1\ub41c \uacf5\uac04 \ub370\uc774\ud130\ub97c \uace7\ubc14\ub85c DBMS\uc5d0 \uc800\uc7a5\ud558\uc9c0 \uc54a\uace0 \uc800\uc7a5\ud558\uae30 \uc911\uac04 \ub2e8\uacc4\uc5d0 \uc0ac\uc6a9\uc790\uc758 \ud655\uc778\uc744 \ud1b5\ud574 \uc800\uc7a5\ud558\ub294 \ubc29\uc2dd\uc785\ub2c8\ub2e4. Direct Edit \ubc29\uc2dd\uc740 Bridge Edit \ubc29\uc2dd\uc5d0 \ube44\ud574 \uac1c\ubc1c\uc774 \uc27d\ub2e4\ub294 \uc7a5\uc810\uc774 \uc788\uc73c\ub098 \ud3b8\uc9d1\uc744 \uc704\ud574 \uc0ac\uc6a9\uc790\uc758 \uacc4\uc815 \uc815\ubcf4\uac00 \ud544\uc694\ud558\ub2e4\ub294 \ubc88\uac70\ub85c\uc6c0\uc774 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n<p>\ud3b8\uc9d1 \ub300\uc0c1\uc774 \ub418\ub294 \uacf5\uac04 \ub370\uc774\ud130\ub294 DBMS\uc5d0 \uc800\uc7a5\ub418\uc5b4 \uc788\uc73c\uba70 \uc2e4\uc81c \uacf5\uac04 \ub370\uc774\ud130\ub97c \uc0ac\uc6a9\uc790\uc5d0\uac8c \ubcf4\uc5ec\uc8fc\uae30 \uc704\ud574 \ub808\uc774\uc5b4(Layer)\ub77c\ub294 \uac1c\ub150\uc744 \ud1b5\ud574 \ud45c\ud604\ub429\ub2c8\ub2e4. DBMS\uc5d0 \uc5f0\uacc4\ub41c \uacf5\uac04 \ub370\uc774\ud130\uc5d0 \ub300\ud55c \ub808\uc774\uc5b4\uac00 XrShapeMapLayer\uc785\ub2c8\ub2e4. Direct Edit \ubc29\uc2dd\uc740 \uc774 XrShapeMapLayer\uc5d0 \ub300\ud574 \ubc14\ub85c \ud3b8\uc9d1\ud558\uba70 DBMS\uc5d0 \ubc18\uc601\uc2dc\ud0a4\ub294 \uac83\uc785\ub2c8\ub2e4. \uc774 \uae00\uc5d0\uc11c \uc124\uba85\ud560 Bridge Edit \ubc29\uc2dd\uc740 XrShapeMapLayer\ub97c \ubc14\ub85c \ud3b8\uc9d1\ud558\ub294 \uac83\uc774 \uc544\ub2c8\ub77c XrMashupLayer\ub97c \ube0c\ub9ac\uc9c0(Bridge) \uac1c\ub150\uc73c\ub85c \ud558\uc5ec \uc6d0\ud558\ub294 \ud615\ud0dc\uc758 \uc815\ubcf4\ub85c \ud3b8\uc9d1\uc774 \ub05d\ub098\uba74 DBMS\uc5d0 \ubc18\uc601\ud558\ub294 \ubc29\uc2dd\uc785\ub2c8\ub2e4. <\/p>\n<p>\uc774 \ud3ec\uc2a4\ud2b8\ub294 Bridge Edit \ubc29\uc2dd\uc744 \ud1b5\ud574 \uacf5\uac04 \ub370\uc774\ud130\ub97c \ud3b8\uc9d1\ud558\uae30 \uc704\ud55c \ub0b4\uc6a9\uc744 \uc815\ub9ac\ud55c \uae00\uc785\ub2c8\ub2e4.<\/p>\n<p>\uba3c\uc800 \ud3b8\uc9d1\ud560 \uacf5\uac04 \ub370\uc774\ud130\uc5d0 \ub300\ud55c XrShapeMapLayer\uc640 \ube0c\ub9ac\uc9c0(Bridge) \uc5ed\ud65c\uc744 XrMashupLayer\uac00 \ud544\uc694\ud569\ub2c8\ub2e4. XrShapeMapLayer\uc5d0 \ud574\ub2f9\ud558\ub294 \uac1d\uccb4\ub97c _shapeLyr\uc774\ub77c\uace0 \ud558\uace0 XrMashupLayer\uc5d0 \ud574\ub2f9\ud558\ub294 \uac1d\uccb4\ub97c _mashupLyr\uc774\ub77c\uace0 \ud558\uba74 \ud3b8\uc9d1\uc744 \uc704\ud55c \ucd08\uae30\ud654 \ucf54\ub4dc\ub294 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n<pre>_map.edit.targetLayer = _mashupLyr;\r\n_map.addEventListener(XrMapMouseEvent.XRMAP_MOUSE_CLICK_EVENT, onMapClick);\r\n_map.addEventListener(\r\n    XrEditFeatureAddedNewEvent.XR_EDIT_FEATURE_ADDED_NEW_EVENT, onAddNewEvent);\r\n_map.edit.editMode = false;<\/pre>\n<p>\uc774\ub7ec\ud55c \ucd08\uae30\ud654 \uc774\ud6c4\uc5d0 \ud3b8\uc9d1 \uae30\ub2a5\uc744 \uad6c\ud604\ud560 \uc218 \uc788\uc73c\uba70, \ud3b8\uc9d1\uc740 \ub2e4\uc74c\uacfc \uac19\uc740 \uae30\ub2a5\uc73c\ub85c \ubd84\ub958\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. <\/p>\n<ol>\n<li>\uc0c8\ub85c\uc6b4 \ub3c4\ud615 \ucd94\uac00\n<li>\uae30\uc874 \ub3c4\ud615\uc758 \ud3b8\uc9d1\n<li>\uae30\uc874 \ub3c4\ud615\uc758 \uc0ad\uc81c<\/li>\n<\/ol>\n<p><strong><font size=\"3\">1. \uc0c8\ub85c\uc6b4 \ub3c4\ud615 \ucd94\uac00<br \/><\/font><\/strong><br \/>\uc0c8\ub86d\uac8c \ud3b8\uc9d1\ud560 \ub3c4\ud615\uc774 \ud3ec\uc778\ud2b8\ub77c\uace0 \ud560\ub54c, \uc0c8\ub85c\uc6b4 \ub3c4\ud615\ud3ec\uc778\ud2b8\uc744 \ucd94\uac00\ud558\uae30 \uc704\ud55c \uc2dc\uc791 \ucf54\ub4dc\ub294 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n<pre>_map.edit.editMode = true;\r\n_mashupLyr.removeAllMashups();\r\n_map.edit.addPoint(0);<\/pre>\n<p>\uc704\uc758 \ucf54\ub4dc\ub97c \ud1b5\ud574 \uc0ac\uc6a9\uc790\ub294 \uc9c0\ub3c4 \uc704\uc5d0 \ub3c4\ud615\uc744 \uc0c8\ub86d\uac8c \uadf8\ub9b4 \uc218 \uc788\uace0 \ub3c4\ud615 \uadf8\ub9ac\uae30\uac00 \uc644\ub8cc\ub418\uba74 \ud3b8\uc9d1\uc744 \uc704\ud55c \ucd08\uae30\ud654 \ucf54\ub4dc\uc5d0\uc11c \ucd94\uac00\ud55c \uc774\ubca4\ud2b8\uc778 XR_EDIT_FEATURE_ADDED_NEW_EVENT\uc5d0 \ub300\ud55c \uc2e4\ud589 \ud568\uc218\uc778 onAddNewEvent\uac00 \uc2e4\ud589\ub429\ub2c8\ub2e4. \uae30\ubcf8\uc801\uc778 \ud3b8\uc9d1\uc5d0\uc11c\ub294 \uc774 \uc774\ubca4\ud2b8\uc5d0 \ucf54\ub4dc\ub97c \ucd94\uac00\ud560 \ud544\uc694\uac00 \uc5c6\uc73c\ub098 \ub9cc\uc57d \ud544\uc694\ud558\ub2e4\uba74 \ucf54\ub4dc\ub97c \ucd94\uac00\ud560 \uc218 \uc788\uc73c\uba70 \uc774 \uae00\uc5d0\uc11c\ub294 \uc0ac\uc6a9\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. \uc774\ub807\uac8c \uc0c8\ub86d\uac8c \ucd94\uac00\ub41c \ub3c4\ud615\uc744 DBMS\uc5d0 \uc800\uc7a5\ud558\ub294 \ucf54\ub4dc\ub294 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n<pre>var svc:XrService;\r\nvar params:Object;\r\nsvc = new XrQueryTableService(\r\n    Global.GIS_SERVER, \"mssqlserver\", onFIDQueryCompleted, onFIDQueryError);\r\nif(!svc.run({cache: false, sql: \"SELECT (MAX(FID)+1) FID FROM SpatialDBTBL\"}))\r\n{\r\n    mx.controls.Alert.show(\"FID Query invoke error\");\r\n}<\/pre>\n<p>\uc704\uc758 \ucf54\ub4dc\ub294 \uc0c8\ub86d\uac8c \ucd94\uac00\ub41c \uacf5\uac04\ub370\uc774\ud130\ub97c \uc800\uc7a5\ud558\uae30 \uc804\uc5d0 Feature ID\ub97c \uc5bb\uae30 \uc774\ud55c \ucf54\ub4dc\uc785\ub2c8\ub2e4. \uc0c8\ub85c\uc6b4 Feature ID\ub97c \uacc4\uc0b0\ud558\ub294 \ubc29\ubc95\uc740 \ub2e4\uc591\ud558\uc9c0\ub9cc \uc5ec\uae30\uc11c\ub294 \uae30\uc874 ID \uac12\uc911 \ucd5c\ub300\uac12\uc5d0 \ub300\ud574 +1 \uc778 \uac12\uc744 \uc0ac\uc6a9\ud558\ub294 \ubc29\ubc95\uc744 \ud65c\uc6a9\ud588\uc2b5\ub2c8\ub2e4. Feature ID \uac12\uc744 \uc81c\ub300\ub85c \uc5bb\uc5b4\uc624\uac8c \ub418\uba74 onFIDQueryCompleted \ud568\uc218\uac00 \ud638\ucd9c\ud558\uba70 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n<pre>private function onFIDQueryCompleted(result:String):void\r\n{\r\n    XML.ignoreWhitespace = true;\r\n    var xml:XML = new XML(result);\r\n    var rows:XMLListCollection = new XMLListCollection(xml.row);\r\n    var cntRows:int = rows.length;\r\n    var fid:int;\r\n \r\n    if(cntRows == 1) \r\n    {\r\n        fid = parseInt(rows[0].FID);\r\n    }\r\n    else \r\n    {\r\n        mx.controls.Alert.show(\"FID is Nothing, Error\"); \r\n        return;\r\n    }\r\n\r\n    var svc:XrService = new XrUpdateShapeMapFromMashupService(\r\n        _map.edit, _shapeLyr, _mashupLyr, onNewUpdateCompleted, onUpdateFail);\r\n    var params:Object = { targetId:fid, sourceId:0 \/*, attributes:attrs*\/ };\r\n   \r\n    if(!svc.run(params)) \r\n    {\r\n        mx.controls.Alert.show(\r\n            \"XrUpdateShapeMapFromMashupService params are invalid.\");\r\n    }     \r\n}\r\n   \r\nprivate function onFIDQueryError():void\r\n{\r\n    trace(\"ERROR : FID Query\");\r\n}<\/pre>\n<p>\uc2e4\uc81c DBMS\uc5d0 \ubc18\uc601\ud558\uae30 \uc704\ud574\uc11c XrUpdateShapeMapFromMashupServer\ub97c \uc0ac\uc6a9\ud569\ub2c8\ub2e4. \uc131\uacf5\uc801\uc73c\ub85c DBMS\uc5d0 \ubc18\uc601\uc774 \ub418\uba74 onUpateCompleted\uac00 \uc2e4\ud589\ub418\uba70 \uc2e4\ud328\ud558\uba74 onUpdateFail\uc774 \uc2e4\ud589\ub429\ub2c8\ub2e4. \uc774 \ub450 \ud568\uc218\ub294 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n<pre>protected function onNewUpdateCompleted():void\r\n{\r\n    _map.edit.selectNone();\r\n    _map.edit.editMode = false;\r\n    _map.edit.editHistoryReset();\r\n    _mashupLyr.removeAllMashups();\r\n\r\n    _map.update();\r\n}\r\n   \r\nprotected function onUpdateFail(msg:String):void\r\n{\r\n    mx.controls.Alert.show(\"EDIT ERROR: \" + msg);\r\n}<\/pre>\n<p><strong><font size=\"3\">2. \uae30\uc874 \ub3c4\ud615\uc758 \ud3b8\uc9d1<br \/><\/font><\/strong><br \/>\ub2e4\uc74c\uc740 \uae30\uc874 \ub3c4\ud615\uc744 \ud3b8\uc9d1\ud558\ub294 \uae30\ub2a5\uc5d0 \ub300\ud55c \ub0b4\uc6a9\uc744 \uc0b4\ud3b4\ubcf4\uaca0\uc2b5\ub2c8\ub2e4. \uba3c\uc800 \uae30\uc874 \ub3c4\ud615\uc744 \ud3b8\uc9d1\ud558\uaca0\ub2e4\ub294 \uc2dc\uc791 \ucf54\ub4dc(CODE-A)\ub294 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.<\/p>\n<pre>_mashupLyr.removeAllMashups();\r\n_map.edit.editMode = false;\r\n_map.edit.editHistoryReset();<\/pre>\n<p>\uc704\uc758 \ucf54\ub4dc\ub294 \ud3b8\uc9d1\ud558\uace0\uc790 \ud558\ub294 \uae30\uc874 \ub3c4\ud615\uc744 \ub9c8\uc6b0\uc2a4\ub85c \uc120\ud0dd\ud558\uae30 \uc704\ud574 \ud3b8\uc9d1 \ubaa8\ub4dc\ub97c false\ub85c \uc9c0\uc815\ud55c \uac83\uc785\ub2c8\ub2e4. \uc55e\uc11c \ud3b8\uc9d1\uc744 \uc704\ud55c \ucd08\uae30\ud654 \ucf54\ub4dc \uc911\uc5d0\uc11c XRMAP_MOUSE_CLICK_EVENT \uc774\ubca4\ud2b8\uc5d0 \ub300\ud55c \ud638\ucd9c \ud568\uc218\uc778 onMapClick\ub97c \ub4f1\ub85d\ud558\uc600\uc2b5\ub2c8\ub2e4. \uc774 onMapClick \ud568\uc218\uc5d0\uc11c \ub9c8\uc6b0\uc2a4\ub85c \ud074\ub9ad\ud55c \uc9c0\uc810\uc5d0 \uc874\uc7ac\ud558\ub294 \ub3c4\ud615\uc758 Feature ID\ub97c \uc5bb\uc2b5\ub2c8\ub2e4.<\/p>\n<pre>protected function onMapClick(event:XrMapMouseEvent):void\r\n{\r\n    var clickX:Number = event.mouseEvent.localX;\r\n    var clickY:Number = event.mouseEvent.localY;\r\n    var fid:int = _shapeLyr.getFIDByMousePoint(x, y);\r\n    \r\n    if(fid != -1)\r\n    {\r\n        var shp:IXrShape = _shapeLyr.shapeSet.rows[fid];\r\n        var point:XrPointShape = shp as XrPointShape;\r\n        if(point != null)\r\n        {\r\n            _map.edit.selectNone();\r\n            _map.edit.editHistoryReset();\r\n\r\n            if(_mashupLyr.getMashup(0) != null) _mashupLyr.removeAllMashups();\r\n\r\n            var coord:XrCoordinate = \r\n                new XrCoordinate(point.points[0].x, point.points[0].y);\r\n            var mashup:IXrMashup = new XrMarkerMashup(0, coord, false);\r\n    \r\n            mashup.lineSymbol = new XrLineSymbol();\r\n            mashup.fillSymbol = new XrFillSymbol();\r\n            mashup.markerSymbol = new XrRectangleMarkerSymbol();\r\n\r\n            _mashupLyr.addMashup(mashup);\r\n            _mashupLyr.updateItem(0, false);\r\n\r\n            var attr:XrAttribute = _shapeLyr.attributeSet.rows[fid];\r\n      \r\n            _map.edit.setSketch(0);\r\n        }\r\n    }\r\n}<\/pre>\n<p>\uc704\uc758 \ucf54\ub4dc\ub97c \ud1b5\ud574 \ub9c8\uc6b0\uc2a4\ub85c \ud3b8\uc9d1\ud558\uace0\uc790 \ud558\ub294 \ub3c4\ud615\uc744 \uc120\ud0dd\ud560 \uc218 \uc788\uc73c\uba70 \ud3b8\uc9d1\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \ub2e8, \ub2e4\ub978 \ub3c4\ud615\uc744 \uc120\ud0dd\ud558\uae30 \uc704\ud574\uc11c\ub294 \ub2e4\uc2dc \uae30\uc874 \ub3c4\ud615\uc744 \ud3b8\uc9d1\ud558\uaca0\ub2e4\ub294 \uc2dc\uc791 \ucf54\ub4dc(CODE-A)\ub97c \ub2e4\uc2dc \uc2e4\ud589\ud574 \uc918\uc57c \ud569\ub2c8\ub2e4. \uc774 \ubd80\ubd84\uc774 Birdge Edit \ubc29\uc2dd\uc758 \ub2e8\uc810 \uc911 \ud558\ub098\uc785\ub2c8\ub2e4. \uc774\ub807\uac8c \ud3b8\uc9d1\ub41c \ub0b4\uc6a9\uc744 \uc2e4\uc81c DBMS\uc5d0 \uc800\uc7a5\ud558\uae30 \uc704\ud574 \ub2e4\uc74c \ucf54\ub4dc\uc758 \uc2e4\ud589\uc774 \ud544\uc694\ud569\ub2c8\ub2e4.<\/p>\n<pre>svc = new XrUpdateShapeMapFromMashupService(\r\n    _map.edit, _shapeLyr, _mashupLyr, onModifyUpdateCompleted, onUpdateFail);\r\n\r\nparams = { targetId:_targetFid, sourceId:0\/*, attributes:_attrs*\/ };\r\n\r\nif(!svc.run(params)) \r\n{\r\n    mx.controls.Alert.show(\r\n        \"XrUpdateShapeMapFromMashupService's params are invalid.\");\r\n}<\/pre>\n<p>\uc131\uacf5\uc801\uc73c\ub85c \ud3b8\uc9d1\ud55c \ub0b4\uc6a9\uc774 DBMS\uc5d0 \ubc18\uc601\ub418 onModifyUpdateCompleted\uac00 \ud638\ucd9c\ub429\ub2c8\ub2e4.<\/p>\n<pre>protected function onModifyUpdateCompleted():void\r\n{\r\n    _shapeLyr.shapeSet.removeRow(_targetFid);\r\n    _shapeLyr.attributeSet.removeRow(_targetFid);\r\n \r\n    _map.edit.selectNone();\r\n    _map.edit.editMode = false;\r\n    _map.edit.editHistoryReset();\r\n    _mashupLyr.removeAllMashups(); \r\n    _map.update();\r\n}<\/pre>\n<p><strong><font size=\"3\">3. \uae30\uc874 \ub3c4\ud615\uc758 \uc0ad\uc81c<\/font><\/strong><\/p>\n<p>\uc774\uc81c \ub05d\uc73c\ub85c, \uc120\ud0dd\ub41c \ub3c4\ud615\uc744 \uc0ad\uc81c\ud558\ub294 \ubc29\ubc95\uc5d0 \ub300\ud574 \uc0b4\ud3b4\ubcf4\uaca0\uc2b5\ub2c8\ub2e4. <\/p>\n<p>\uc0ad\uc81c\ud560 \ub3c4\ud615\uc744 \uc120\ud0dd\ud558\ub294 \ubc29\ubc95\uc740 \ud3b8\uc9d1\ud558\uace0\uc790 \ud558\ub294 \ub3c4\ud615\uc744 \uc120\ud0dd\ud558\ub294 \uac83\uacfc \ub3d9\uc77c\ud558\uba70, \uc77c\ub2e8 \uc120\ud0dd\ub41c \uc0c1\ud0dc\uc5d0\uc11c \ub2e4\uc74c \ucf54\ub4dc\ub97c \uc2e4\ud589\ud558\uba74 \uc0ad\uc81c\ub429\ub2c8\ub2e4.<\/p>\n<pre>var svc:XrUpdateShapeMapFromMashupService = new XrUpdateShapeMapFromMashupService(\r\n    _map.edit, _shapeLyr, _mashupLyr, onModifyUpdateCompleted, onUpdateFail);\r\n     \r\nvar params:Object = {targetId:_targetFid, removal:true };\r\n     \r\nif(!svc.run(params)) \r\n{\r\n    mx.controls.Alert.show(\"params are invalid.\");\r\n}<\/pre>\n<p>Direct Edit\ub294 DBMS\uc5d0 \ud3b8\uc9d1\ud55c \ub0b4\uc6a9\uc744 \ubc18\uc601\ud558\uae30 \uc804\uae4c\uc9c0 \uc5ec\ub7ec\uac1c\uc758 \uacf5\uac04\ub3c4\ud615\uc744 \ud3b8\uc9d1\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uadf8\ub7ec\ub098 Bridge Edit\ub294 Direct Edit\uc640 \ub2e4\ub974\uac8c \uc624\uc9c1 \ud558\ub098\uc758 \uacf5\uac04\ub3c4\ud615\uc5d0 \ub300\ud574\uc11c \ud3b8\uc9d1\uc744 \ud560 \uc218 \uc788\uace0 \ub2e4\ub978 \uacf5\uac04 \ub3c4\ud615\uc744 \ud3b8\uc9d1\ud558\uae30 \uc804\uc5d0 DBMS\uc5d0 \ubc18\uc601\uc744 \uc2dc\ucf1c\uc57c \ud569\ub2c8\ub2e4. \ud3b8\uc9d1 \uc774\ub825\uc5d0 \ub300\ud574\uc11c\ub294 DBMS\uc5d0 \ubc18\uc601\ub418\uae30 \uc804\uae4c\uc9c0\ub9cc Undo\/Redo\uac00 \uac00\ub2a5\ud558\ubbc0\ub85c Direct Edit\uc774 Bridge Edit\uc5d0 \ube44\ud574 \ub354 \ub9ce\uc740 \uacf5\uac04 \ub370\uc774\ud130\uc5d0 \ub300\ud574\uc11c \ubc18\uc601\uc774 \uac00\ub2a5\ud569\ub2c8\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>(\uc8fc\uc758) \uc774 \uae00\uc740 \ud604\uc7ac \ud551\uac70\uc544\uc774\uc988\uc758 Bridge Edit \ubc29\uc2dd\uc744 \uc124\uba85\ud55c \uae00\uc785\ub2c8\ub2e4. \ucf54\ub4dc \uc791\uc131\uc744 \uc704\ud55c \ud6a8\uc728\uc131\uc744 \ubaa9\uc801\uc73c\ub85c \uc774 \uae00\uc758 \ub0b4\uc6a9\uc774 \uc2e4\uc81c API\uc640 \ub2ec\ub77c\uc9c8 \uc218 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \uae00\uc740 FingerEyes-Xr \ubc84\uc804 2.7\uc744 \uae30\uc900\uc73c\ub85c \ud569\ub2c8\ub2e4. \ud551\uac70\uc544\uc774\uc988(FingerEyes-Xr)\ub294 \uc6f9\uc5d0\uc11c \uacf5\uac04 \ub370\uc774\ud130\ub97c \ud3b8\uc9d1\ud560 \uc218 \uc788\ub294 \uac15\ub825\ud55c \uae30\ub2a5\uc744 \uc9c0\uc6d0\ud569\ub2c8\ub2e4. \ud3b8\uc9d1\uc5d0 \ub300\ud55c Undo\/Redo\ub294 \ubb3c\ub860 Vertex\uc640 Segment\uc5d0 \ub300\ud55c \uc2a4\ub0c5\ud551(Snapping) \uae30\ub2a5\uc744 \uc9c0\uc6d0\ud568\uc73c\ub85c\uc368 \ud3b8\uc9d1\uc5d0 \ub300\ud55c \ud3b8\ub9ac\uc131\uc744 \uc0ac\uc6a9\uc790\uc5d0\uac8c \uc81c\uacf5\ud569\ub2c8\ub2e4. &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/www.gisdeveloper.co.kr\/?p=1887\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;[GIS] FingerEyes-Xr\uc5d0\uc11c \uacf5\uac04 \ub370\uc774\ud130 \ud3b8\uc9d1\uc5d0 \ub300\ud55c \uc815\ub9ac(Bridge Edit)&#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":[69,5,53],"class_list":["post-1887","post","type-post","status-publish","format-standard","hentry","category-fingereyes-xr","tag-fingereyes","tag-gis","tag-xr"],"_links":{"self":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/1887","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=1887"}],"version-history":[{"count":2,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/1887\/revisions"}],"predecessor-version":[{"id":2956,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/1887\/revisions\/2956"}],"wp:attachment":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1887"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1887"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1887"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}