前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >QGIS中WKT转为可视化涂层

QGIS中WKT转为可视化涂层

作者头像
卡尔曼和玻尔兹曼谁曼
发布2021-01-27 10:18:05
2.2K0
发布2021-01-27 10:18:05
举报

文章目录


版权声明:本文为博主原创文章,转载请注明原文出处!

作者:阿振

写作时间: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中。

代码语言:javascript
复制
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()

结果如下:

QGIS中WKT转为可视化图层
QGIS中WKT转为可视化图层
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-01-21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • QGIS中WKT转为可视化涂层
    • 常见的几种用于互操作的空间数据标准格式
      • 使用QGIS的Python接口将WKT转为可视化涂层
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档