ArcMap中使用ArcPy实现Geometry与WKT的相互转换
来源:互联网 发布:量子统计 淘宝 编辑:程序博客网 时间:2024/06/15 08:48
原文地址:http://blog.csdn.net/linghe301/article/details/29554257
在Web GIS迅猛发展的今天,使用浏览器来进行交互以其方便性、快捷性被广大用户所推崇,那么在传输格式方面,都已比较简单的JSON或者WKT来解决网络带宽带来的数据压力。
在ArcGIS10.2版本,已经提供了Geometry与JSON的相互转换,而且在现实业务中,Geometry与WKT的相互转换也比较多见。例如在ArcSDE环境中,用户可以使用Esri或者原生提供的函数来进行转换。
如果数据格式并非存储在SDE中,而是存储在文件格式中,怎么获得相关的WKT呢?
----------------------------------------------------------------------------------
版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!
建议看到转载,请直接访问正版链接获得最新的ArcGIS技术文章
Blog: http://blog.csdn.net/linghe301
----------------------------------------------------------------------------------
一:Geometry2WKT
1:比如下面存储在FGDB的三个多边形
2:创建一个TEXT类型的字段来存储WKT串,注意这个字段的长度,如果你的要素包含点比较多的话,长度可能要求比较高。我创建的字段名称为wkt,字段长度为4000.
----------------------------------------------------------------------------------
版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!
建议看到转载,请直接访问正版链接获得最新的ArcGIS技术文章
Blog: http://blog.csdn.net/linghe301
----------------------------------------------------------------------------------
3:创建好字段之后,打开要素类的属性表,然后选择wkt字段,右键选择Field Calculator选项
4:打开字段计算器,选择Python,输入wkt=!SHAPE.wkt!
注意:!SHAPE!是Python的固有写法,而且ArcPy也提供了其他函数,比如json、wkb、area等
http://resources.arcgis.com/en/help/main/10.2/index.html#/Geometry/018z00000070000000/
----------------------------------------------------------------------------------
版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!
建议看到转载,请直接访问正版链接获得最新的ArcGIS技术文章
Blog: http://blog.csdn.net/linghe301
----------------------------------------------------------------------------------
5:执行之后,我们可以看到wkt字段已经存储了这些Geometry转换后的wkt串文本信息。而且在转换过程中,并不需要ArcMap开启编辑。
用途:其实使用这种方法不仅仅可以获得相关图形的WKT,也可以变相的为文件存储的数据保存历史。
意思很明白,在编辑数据之前,我可以把原来的数据以WKT存储在某个字段中,如果编辑后发现编辑的有问题,可以使用接下来介绍的WKT2Geometry方法把图形还原回来。
----------------------------------------------------------------------------------
版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!
建议看到转载,请直接访问正版链接获得最新的ArcGIS技术文章
Blog: http://blog.csdn.net/linghe301
----------------------------------------------------------------------------------
二:WKT2Geometry
在进行ST_Geometry的使用或者测试过程中经常会碰到这种情况
用户使用了一个WKT串来生成一个Geometry对象来进行空间查询,首先我需要验证这个WKT是什么样子的,是否正确,是否可能有查询结果,我就需要将WKT串转换成Geometry看一下,那么该功能就需要用户掌握了。
例如上面的截图,我希望将ObjectID=2的三角形更新为ObjectID=1的四边形,那我获得了ObjectID=1的WKT串就可以实现上述操作。
(该例子仅仅说明转换方法)
----------------------------------------------------------------------------------
版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!
建议看到转载,请直接访问正版链接获得最新的ArcGIS技术文章
Blog: http://blog.csdn.net/linghe301
----------------------------------------------------------------------------------
1:打开属性表,选中ObjectID=2的要素,然后选择SHAPE字段右键
----------------------------------------------------------------------------------
版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!
建议看到转载,请直接访问正版链接获得最新的ArcGIS技术文章
Blog: http://blog.csdn.net/linghe301
----------------------------------------------------------------------------------
2:打开字段计算器,使用ArcPy提供的类FromWKT,里面输入字符串类型的WKT串
3:执行之后可以看到相关图形已经发生了变化
----------------------------------------------------------------------------------
- ArcMap中使用ArcPy实现Geometry与WKT的相互转换
- ArcMap中使用ArcPy实现Geometry与WKT的相互转换
- Arcgis for js之WKT和GEOMETRY的相互转换
- Geotools中Geometry对象与GeoJson的相互转换
- ArcMap中使用arcpy进行网格截图
- arcmap中里面arcpy制作PointDensity的相关代码
- android arcgis入门(八)、Json与Geometry的相互转换
- SQLServer——geometry与WKT
- arcgis for javascript :WKT与geometry互转
- 使用 XStream 实现 Java 对象与 XML 的相互转换
- create geometry from wkt
- WKT和Geometry
- arcpy输入arcmap视图
- 利用Arcpy向Arcmap中批量加载遥感影像
- 利用ArcMap的2个功能来帮助学习ArcPy
- 实现JOSN与Xml的相互转换
- linux 内核中ip字符串与整数相互转换 手动实现inet_aton 与inet_ntoa 的功能
- 【转】Java中实现字符串与十六进制编码相互转换
- js获取菲波那契数列的第N个元素
- Windows下 VM12虚拟机安装OS X 10.11(详细教程)
- org.springframework.beans.factory.BeanCreationException
- ArcGIS Engine 几何对象和WKB的转换
- 关于windows下phpstorm+vmware的lnmp共享文件夹问题的最佳实践
- ArcMap中使用ArcPy实现Geometry与WKT的相互转换
- 814/ A. An abandoned sentiment from past
- 56. Merge Intervals
- 进程与线程
- 【python 图像识别】图像识别从菜鸟走向大神系列1
- Vue2生命周期
- Java实现的链表,提供增,删,改,查方法。
- canvas实现放大镜查看图片
- Pixhawk原生PX4固件中的坑(2017.6.8TREE上的版本)