我有一个csv文件,其数据字段包含像bellow
这样的数据POLYGON((79.87749999947846 6.997500000409782,79.88249999947845 6.997500000409782,79.88249999947845 7.002500000409782,79.87749999947846 7.002500000409782,79.88759999947846 6.997500000409782))
我想在qgis中使用此数据字段绘制多边形。我怎么能这样做?
答案 0 :(得分:4)
例如,我有一个带有两列“ Id ”和“ geom ”的csv,geom有你的POLYGON示例,
转到 图层 - >添加图层 - >添加分隔文本图层 并浏览您的csv和几何字段组合框选择包含您的wkt数据的列,在我的情况下是“ geom ”和几何定义选择( 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()
答案 1 :(得分:1)
您将文本复制到剪贴板。
然后:
你已经完成了。
就这么简单。
答案 2 :(得分:0)
使用知名文本(WKT)从剪贴板创建新图层
剪贴板上的功能可以粘贴到新图层中。为此,选择一些要素,将其复制到剪贴板,然后使用“编辑‣将要素粘贴为‣”并将其粘贴到新图层中,然后选择:
“新矢量层…”:出现“将矢量层另存为...”对话框(请参阅从现有层创建新层以获取参数)
或临时刮擦层…:您需要为该层提供名称
创建一个新图层,其中填充了选定的要素及其属性(并添加到地图画布)。
注意
可以通过选择要素从剪贴板创建图层 并复制到QGIS以及其他应用程序的功能中, 只要使用众所周知的文本(WKT)定义了它们的几何形状即可。