{"id":13166,"date":"2022-11-25T10:45:34","date_gmt":"2022-11-25T01:45:34","guid":{"rendered":"http:\/\/www.gisdeveloper.co.kr\/?p=13166"},"modified":"2022-11-25T11:42:46","modified_gmt":"2022-11-25T02:42:46","slug":"pyqgis-tip","status":"publish","type":"post","link":"http:\/\/www.gisdeveloper.co.kr\/?p=13166","title":{"rendered":"pyQGIS Tip"},"content":{"rendered":"<h3>\ud2b9\uc815 Feature\ub97c \ud655\ub300\ud558\uae30<\/h3>\n<p>\uc544\ub798\uc758 \ucf54\ub4dc\ub294 \uc120\ud0dd\ub41c Feature\ub97c \ud655\ub300\ud569\ub2c8\ub2e4.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\ncanvas = iface.mapCanvas()\r\nid = 0\r\n#canvas.setSelectionColor(QColor(\"red\"))\r\nlayer.select(id)\r\ncanvas.zoomToSelected(layer)\r\n<\/pre>\n<p>\uc544\ub798\uc758 \ucf54\ub4dc\ub294 Feature\ub97c \uc120\ud0dd\ud558\uc9c0 \uc54a\uace0 FID\uac00 0\uc778 Feature\ub97c \ud655\ub300\ud569\ub2c8\ub2e4.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\ncanvas = iface.mapCanvas()\r\nid = 0\r\nfeat = layer.getFeature(id)\r\ngeom = feat.geometry()\r\nbbox = geom.boundingBox()\r\ncanvas.setExtent(bbox)\r\ncanvas.refresh()\r\n<\/pre>\n<h3>\ud2b9\uc815 Feature\ub97c \uae5c\ubc15\uc774\uac8c \ud558\uae30<\/h3>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\ncanvas = iface.mapCanvas()\r\nid = 0\r\ncanvas.flashFeatureIds(layer, [id])\r\n<\/pre>\n<h3>\ud654\uba74 \uc88c\ud45c\uc640 \uc9c0\ub3c4 \uc88c\ud45c \uac04\uc758 \ubcc0\ud658<\/h3>\n<p>\uc544\ub798\uc758 \ucf54\ub4dc\ub294 \ud654\uba74 \uc88c\ud45c (100, 20)\uc744 \uc9c0\ub3c4 \uc88c\ud45c\ub85c \ubcc0\ud658\ud558\uace0 \ub2e4\uc2dc \ubcc0\ud658\ub41c \uc9c0\ub3c4 \uc88c\ud45c\ub97c \ud654\uba74 \uc88c\ud45c\ub85c \ubcc0\ud658\ud558\ub294 \ucf54\ub4dc\uc785\ub2c8\ub2e4.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\nptView = QPoint(100, 20)\r\nptMap = canvas.getCoordinateTransform().toMapCoordinates(ptView)\r\nprint(ptMap.x(), ptMap.y())\r\n\r\nptMap2 = QgsMapTool(canvas).toCanvasCoordinates(ptMap)\r\nprint(ptMap2.x(), ptMap2.y())\r\n<\/pre>\n<h3>\ub2e4\uc591\ud55c \ud615\ud0dc\uc758 \uc9c0\uc624\uba54\ud2b8\ub9ac \uc0dd\uc131<\/h3>\n<p>\uc88c\ud45c\ub97c \uc9c0\uc815\ud574\uc11c \ub2e4\uc591\ud55c \ud615\ud0dc\uc758 \uc9c0\uc624\uba54\ud2b8\ub9ac\ub97c \uc0dd\uc131\ud558\ub294 \ucf54\ub4dc\uc785\ub2c8\ub2e4.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\ngeomPoint = QgsGeometry.fromPointXY(QgsPointXY(10000, 15000))\r\n\r\ngeomMultiPoint = QgsGeometry.fromMultiPointXY(\r\n    [\r\n        QgsPointXY(10000, 15000),\r\n        QgsPointXY(11000, 16000),\r\n    ]\r\n)\r\n\r\ngeomPolyline = QgsGeometry.fromPolylineXY(\r\n    [\r\n        QgsPointXY(10000, 15000),\r\n        QgsPointXY(11000, 16000),\r\n        QgsPointXY(12000, 17000),\r\n        QgsPointXY(13000, 18000),\r\n    ]\r\n)\r\n\r\ngeomPolyline = QgsGeometry.fromMultiPolylineXY(\r\n    [\r\n        [\r\n            QgsPointXY(10000, 15000),\r\n            QgsPointXY(11000, 16000),\r\n            QgsPointXY(12000, 17000),\r\n            QgsPointXY(13000, 18000),\r\n        ]\r\n    ]\r\n)\r\n\r\npX = 971195\r\npY = 1841488\r\n\r\ngeomPolygon = QgsGeometry.fromPolygonXY(\r\n    [\r\n        [\r\n            QgsPointXY(pX, pY),\r\n            QgsPointXY(pX+1000, pY),\r\n            QgsPointXY(pX+1000, pY+1000),\r\n            QgsPointXY(pX, pY+1000),\r\n        ],\r\n        [\r\n            QgsPointXY(pX+100, pY+100),\r\n            QgsPointXY(pX+900, pY+100),\r\n            QgsPointXY(pX+900, pY+900),\r\n            QgsPointXY(pX+100, pY+900),\r\n        ]\r\n    ]\r\n)\r\n\r\ngeomPolygon = QgsGeometry.fromMultiPolygonXY(\r\n    [\r\n        [\r\n            [\r\n                QgsPointXY(pX, pY),\r\n                QgsPointXY(pX+1000, pY),\r\n                QgsPointXY(pX+1000, pY+1000),\r\n                QgsPointXY(pX, pY+1000),\r\n            ],\r\n            [\r\n                QgsPointXY(pX+100, pY+100),\r\n                QgsPointXY(pX+900, pY+100),\r\n                QgsPointXY(pX+900, pY+900),\r\n                QgsPointXY(pX+100, pY+900),\r\n            ]\r\n        ]\r\n    ]\r\n)\r\n<\/pre>\n<p>\uc544\ub798\ub294 Python \uc5b8\uc5b4\uc758 \ud2b9\uc9d5\uc744 \uc774\uc6a9\ud55c \ud6a8\uc728\uc801\uc778 \ucf54\ub4dc \uc791\uc131\uc785\ub2c8\ub2e4.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">\r\npts = [\r\n    (583899.8, 8177297.19), \r\n    (583900.23, 8177262.52), \r\n    (583896.49, 8177262.47), \r\n    (583895.96, 8177297.29), \r\n    (583899.8, 8177297.19)\r\n]\r\n\r\ngeomPolygon = QgsGeometry.fromPolygonXY( [[ QgsPointXY( xy[0], xy[1] ) for xy in pts ]] ) \r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\ud2b9\uc815 Feature\ub97c \ud655\ub300\ud558\uae30 \uc544\ub798\uc758 \ucf54\ub4dc\ub294 \uc120\ud0dd\ub41c Feature\ub97c \ud655\ub300\ud569\ub2c8\ub2e4. canvas = iface.mapCanvas() id = 0 #canvas.setSelectionColor(QColor(&#8220;red&#8221;)) layer.select(id) canvas.zoomToSelected(layer) \uc544\ub798\uc758 \ucf54\ub4dc\ub294 Feature\ub97c \uc120\ud0dd\ud558\uc9c0 \uc54a\uace0 FID\uac00 0\uc778 Feature\ub97c \ud655\ub300\ud569\ub2c8\ub2e4. canvas = iface.mapCanvas() id = 0 feat = layer.getFeature(id) geom = feat.geometry() bbox = geom.boundingBox() canvas.setExtent(bbox) canvas.refresh() \ud2b9\uc815 Feature\ub97c \uae5c\ubc15\uc774\uac8c \ud558\uae30 canvas = iface.mapCanvas() id = 0 canvas.flashFeatureIds(layer, [id]) &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/www.gisdeveloper.co.kr\/?p=13166\" class=\"more-link\">\ub354 \ubcf4\uae30<span class=\"screen-reader-text\"> &#8220;pyQGIS Tip&#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":[146],"tags":[],"class_list":["post-13166","post","type-post","status-publish","format-standard","hentry","category-pyqgis"],"_links":{"self":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/13166","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=13166"}],"version-history":[{"count":6,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/13166\/revisions"}],"predecessor-version":[{"id":13168,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=\/wp\/v2\/posts\/13166\/revisions\/13168"}],"wp:attachment":[{"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=13166"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=13166"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.gisdeveloper.co.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=13166"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}