版权声明:本文为博主原创文章,转载请注明原文出处!
作者:阿振
写作时间:2021-01-21 19:00:05
这三种格式是在我们进行GIS系统开发和设计时经常会遇到的数据交换格式。
我们现在有一个WKT格式的要素,我想看一下这个要素到底是什么形状,有没有什么方便的方法呢?
在QGIS的菜单栏中选择Plugin
->Python Console
打开Python控制台面板,输入Python代码。
下面的代码很简单,将WKT转为Geometry,通过Geometry生成Feature,然后将Feature添加到图层Layer中。
wkt = 'POLYGON((99.60 37.24, 100.77 37.24, 100.77 36.54, 99.60 36.54, 99.60 37.2)'
# 定义一个矢量图层,第一个参数是URL表示的参数路径,例如:Point?crs=epsg:4326&field=id:integer&field=name:string(20)&index=yes
# 第二个参数是图层名称,第三个是数据源,"memory"表示来自内存,即在程序中动态生成的数据
temp = QgsVectorLayer('Polygon?crs=epsg:4326', 'result', 'memory')
# 给QGIS工程的实例添加该图层
QgsProject.instance().addMapLayer(temp)
# 开始编辑图层添加数据,先新建一个Feature,设置Feature的Geometry,然后给图层添加该Feature
temp.startEditing()
geom = QgsGeometry().fromWkt(wkt)
feature = QgsFeature()
feature.setGeometry(geom)
temp.dataProvider().addFeatures([feature])
# 提交修改
temp.commitChanges()
结果如下: