微前端架构如何改变企业的开发模式与效率提升
1019
2022-11-12
QGIS中WKT转为可视化涂层
文章目录
QGIS中WKT转为可视化涂层
常见的几种用于互操作的空间数据标准格式使用QGIS的Python接口将WKT转为可视化涂层
作者:阿振
写作时间:2021-01-21 19:00:05
QGIS中WKT转为可视化涂层
常见的几种用于互操作的空间数据标准格式
WKT(Well-Known Text)是开放地理空间联盟OGC(Open Geospatial Consortium )制定的一种文本标记语言,用于表示矢量几何对象及其空间参照系统等。WKB(Well-Known Binary) 是OGC制订的WKT的二进制表示形式,解决了WKT表达方式冗余的问题,便于传输和在数据库中存储信息。GeoJSON是JSON格式的空间要素信息输出格式,它便于被JavaScript等脚本语言处理,OpenLayers等GIS库是采用GeoJSON格式进行数据互操作的。
这三种格式是在我们进行GIS系统开发和设计时经常会遇到的数据交换格式。
使用QGIS的Python接口将WKT转为可视化涂层
我们现在有一个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,然后给图层添加该Featuretemp.startEditing()geom = QgsGeometry().fromWkt(wkt)feature = QgsFeature()feature.setGeometry(geom)temp.dataProvider().addFeatures([feature])# 提交修改temp.commitChanges()
结果如下:
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~