文章目录

  • wkt转shp
  • shp转wkt

wkt转shp

  • 使用ogr从wkt字符串创建shapefile
  • 输入为一个文本文件,每一行格式为a;b;c;wkt\n,分号分割,abc分别为三个字段的值,wkt为字符串。一行的示例dfas;defg;hjkpiuu;POLYGON((128.99 46.99略去一些))
  • 如果多个字段仅需略作修改即可
  • 将文本文件的每一行的wkt转为面,并将前3个值作为字段添加到shp中
  • wkt转为shp最主要的是创建几何使用ogr.CreateGeometryFromWkt(wktstr),参数为wkt字符串,返回的是一个几何 osgeo.ogr.Geometry,将几何添加到feature要素中即可
  • 参考链接
import osr
import ogroutShapefile = r"aa4.shp"
tabletxt = r"data.txt"outDriver = ogr.GetDriverByName("ESRI Shapefile")
# Create the output shapefile
outDataSource = outDriver.CreateDataSource(outShapefile)
#设置投影
srs = osr.SpatialReference()
srs.ImportFromEPSG(4326)
outLayer = outDataSource.CreateLayer("states_extent", srs,geom_type=ogr.wkbPolygon)# 创建3个字段并设置类型和长度
aField = ogr.FieldDefn("A", ogr.OFTString)
aField.SetWidth(5)
outLayer.CreateField(aField)
bField = ogr.FieldDefn("B", ogr.OFTString)
bField.SetWidth(18)
outLayer.CreateField(bField)
cField = ogr.FieldDefn("C", ogr.OFTString)
cField.SetWidth(100)
outLayer.CreateField(cField)#创建几何
featureDefn = outLayer.GetLayerDefn()
def addPoly(a,b,c,wktpoly):feature = ogr.Feature(featureDefn)feature.SetGeometry(wktpoly)feature.SetField("A", a)feature.SetField("B", b)feature.SetField("C", c)outLayer.CreateFeature(feature)feature = Nonef = open(tabletxt,'r')
#文件可能比较大,逐行读取
line = f.readline()
while line:a,b,c,wktstr = line.split(";")wktpoly = ogr.CreateGeometryFromWkt(wktstr)addPoly(a,b,c, wktpoly)line = f.readline()
f.close()outDataSource = None
  • 结果

shp转wkt

  • 将shp转为wkt字符串,并读取相应的字段值,输出字符串
from osgeo import ogrshapefile = r"shp\BOUA.shp"driver = ogr.GetDriverByName("ESRI Shapefile")
dataSource = driver.Open(shapefile, 0)
layer = dataSource.GetLayer()layerDefinition = layer.GetLayerDefn()
#获取字段名称列表
fields = []
for i in range(layerDefinition.GetFieldCount()):fields.append(layerDefinition.GetFieldDefn(i).GetName())
print(fields)
#获取字段值和相应的几何
for feature in layer:name = feature.GetField("NAME")pac = feature.GetField("PAC")geom = feature.GetGeometryRef()geomwkt = geom.ExportToWkt()print("%s;%s;%s\n"%(name,pac,geomwkt))
  • 输出结果如下,也可输出到txt中,可以方便传输了

wkt转shp / wkt转shapefile / shp转wkt相关推荐

  1. java shp文件_java发布shp数据

    环境:IDEA java geoserver. 参考:github项目:geoserver-manager 功能:使用java语言通过Geoserver软件发布shp(zip格式)地图服务. 1.新建 ...

  2. 中国基础地理数据(1951-2023)含水系、气象站shp、乡镇行政shp、DEM等 免费下载

    中国大都市群基础地理数据(1951-2023) 简介 大都市区基础地理数据(1951-2023)包括全国和京津冀.长三角和大湾区三大城市群的1比25万三级水系流域数据集.全国基础地理数据库1比100万 ...

  3. html中加载shp文件,运用shapefile.js解析Shp文件

    shapefile.open("http://localhost:8181/shp/zd.shp") .then(source => source.read() .then( ...

  4. postgis导入shp文件失败Shapefile import failed提示dbf file (dbf) can not be opened

    版权声明:转载请注明作者(独孤尚良dugushangliang)出处:https://blog.csdn.net/dugushangliang/article/details/105144851 Po ...

  5. ArcGIS合并shp文件及单个shp文件中的相邻斑块

    把需要合并的shp文件导入到ArcGIS中,然后打开如下图的合并工具: 打开后如下图所示: 把需要合并的文件分别加入后,点击OK就可以合并所选文件为一个文件.但是合并后的文件中斑块仍然是小块的: 如图 ...

  6. ARCGIS中按照某字段属性批量导出shp ,即将一个shp图层分割成单个的shp

    如何通过某字段属性批量导出各个字段对应的shp文件?比如我现有一副国家的的行政区划图,想要提取各个省份的shp文件. 通过Analysis Tools--Extract--Split工具实现. 步骤如 ...

  7. pyhton 创建shp文件并投影,批量进行坐标转换与添加投影信息,合并shp文件,分割shp文件

    代码如下,注释是经过百度翻译的中文.这是我的python地理分析课程作业之一. 如何获取投影信息,可以通过arcgis输出投影信息,更换投影信息的时候主要也要进行坐标转换,尤其从地理坐标系转到投影坐标 ...

  8. WKT创建shapefile、shapefile输出WKT

    Python利用WKT创建shapefile.shapefile输出WKT 最近在做一个网格化管理系统时,本准备使用PostgreSQL数据库来存储网格WKT数据(方便直接导出shp文件,定期发布地图 ...

  9. SpringBoot + geotools 操作 shp文件

    SpringBoot整合GeoTools 1.GeoTools相关的依赖 2.本文所用到的公共类及实体类 3.本文所用到的数据库表 4.WKT格式怎么转化为GeoJson格式 5.GeoJson格式怎 ...

最新文章

  1. RDKit | 化合物活性数据的不平衡学习
  2. 手势追踪,高通走完其VR一体机的最后一里路
  3. 11.23关于微信JSAPI缺少参数的问题解决
  4. 差动机器人毕业设计_双轮差动机器人曲线算法设计与实现
  5. CentOS7虚拟机之间设置免密登录
  6. Oracle 11.2.0.4下载地址
  7. c#爬虫-1688官网自动以图搜图
  8. MySQL检索数据(过滤+通配符+正则表达式)
  9. C语言:编写程序,打开文本文件stu.txt,读出文件内容,将其中的字符‘s’删除,将修改后的内容存到student.txt文件中。
  10. php中is_scalar判断是否是标量
  11. 关于用C#调用C++的dll中的函数,获取字符串返回值的一些细节
  12. 第一篇 Object-C快速入门
  13. vue2生成图片导出pdf
  14. 数据可视化大屏设计经验分享
  15. 文献阅读 - Expressive Expression Mapping with Ratio Images
  16. Python的scrapy之爬取6毛小说网
  17. 移动硬盘遇到无法访问,参数错误的处理方法
  18. 什么是云原生架构?云原生和应用上云不是一码事!
  19. 从Q2财报看百度的转型三部曲
  20. 登录接口已修复梦想贩卖机V2 2.0.4 修复版,附带安装教程。

热门文章

  1. SQLServer只有MDF文件恢复数据库的方法
  2. linux开启多个matlab_Matlab并行编程方法
  3. 常用正则表达式表(简洁无废话)
  4. [一起学Hive]之十四-Hive的元数据表结构详解
  5. 人工智能现阶段只是“人工”+“弱智”
  6. 与沃尔玛合作对抗亚马逊,电商SaaS Shopify与有赞谁更有范?
  7. [自用]js 打印网页中指定的部分内容和范围
  8. openstack官方翻译+实践
  9. epoll模型实现及惊群效应
  10. NewStar CTF UnserializeOne