我有一个 CSV 文件,其中的数据字段包含如下数据
POLYGON ((79.87749999947846 6.997500000409782, 79.88249999947845 6.997500000409782, 79.88249999947845 7.002500000409782, 79.87749999947846 7.002500000409782, 79.87749999947846 6.997500000409782))
我想通过使用 qgis 中的这个数据字段来绘制一个多边形。我该怎么做?
最佳答案
例如,我有一个 csv 有两列“Id”和“geom”,geom 有你的 POLYGON 示例,
转到 layer->Add Layer->Add delimited text Layer 并浏览您的 csv 和几何字段组合框选择包含您的 wkt 数据的列,在我的case 是 "geom"和 Geometry definition 选择 (WKT) 选项
结果是:
换一种方式,使用 Python:
uri ='file:///C://Users//fjraga//Desktop//test.csv?delimiter=%s&crs=epsg:4326&wktField=%s' % (",", "geom")
lyr = QgsVectorLayer(uri, 'Test','delimitedtext')
QgsMapLayerRegistry.instance().addMapLayer(lyr)
但如果你只想使用 QGIS python 控制台加载这个 WKT 几何,试试这个:
wkt = "POLYGON ((79.87749999947846 6.997500000409782, 79.88249999947845 6.997500000409782, 79.88249999947845 7.002500000409782, 79.87749999947846 7.002500000409782, 79.87749999947846 6.997500000409782))"
temp = QgsVectorLayer("Polygon?crs=epsg:4326", "result", "memory")
QgsMapLayerRegistry.instance().addMapLayer(temp)
temp.startEditing()
geom = QgsGeometry()
geom = QgsGeometry.fromWkt(wkt)
feat = QgsFeature()
feat.setGeometry(geom)
temp.dataProvider().addFeatures([feat])
temp.commitChanges()
关于gis - 如何使用 WKT 在 qgis 中绘制多边形?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45011384/