国土部门给过来的数据经常需要转换,比如土地报批和高标准农田的数据经常给一个txt文件过来,不能直接在GIS软件中使用。这些txt文件结构通常如下。
如果txt文件的数据量小,那么在Excel中预处理再在ArcGIS中使用工具生成面还算简单。如果面的个数很多,那用Excel预处理这一步就很繁琐了。
之前已经接触过Python以及ArcPy,估计可以使用编程的方法解决。在一番面向百度编程之后,终于找到一个堪称完美的解决办法。在此也感谢一下趟水的前辈。https://blog.csdn.net/rsLanZai/article/details/109207498https://blog.csdn.net/rsLanZai/article/details/109207498?utm_source=app&app_version=5.0.0如果使用的是ArcGIS Pro和Python3,那么需要将代码的语法调整一下。另外我也踩了一个坑。
在运行代码前,需要检查一下txt文件的编码,如果是gbk或者gb2312那么可以正常运行,如果是utf-8,那么open方法需要传第三个参数encoding='utf-8',或者将txt文件的编码方式改成gb2312。
将代码文件制作成ArcGIS Pro可用的脚本模型,就可以傻瓜操作了。
ArcGIS Pro脚本模型
https://download.csdn.net/download/baidu_28157641/79580860
------------------------------------------------------------
更新
上面的办法还是不够完美,一是相接触的地块没有区分开来而是完全融合在一起,二是没有完全把地块的属性信息写入shp。
刚刚学习到一种真真完美的办法:
需要的话加一下多加一个坐标系参数