专栏名称: 小猿猴GISer
GIS遥感交流学习
目录
相关文章推荐
康石石  ·  我在金匠找到了自己! ·  16 小时前  
康石石  ·  设计毕业证保值的院校,是港理 ·  昨天  
康石石  ·  25年国家级A类竞赛变化一览! ·  2 天前  
51好读  ›  专栏  ›  小猿猴GISer

DeepSeek只需几秒钟,把上百个图斑转为TXT

小猿猴GISer  · 公众号  ·  · 2025-02-08 20:37

正文

领导让你把这100多个图斑数据计算出拐点坐标,
并且转为TXT——



转换几个图斑到TXT还可以操作下,
这可是100多个呀,
还是去问问DeepSeek:

一个文件夹里有100多个shapefile图斑,写个可以在ArcGIS Pro中运行的代码,把文件夹下的每个shapefile图斑数据计算拐点坐标,转为TXT文件。

于是,DeepSeek进行了系统又深度的思考:

充分理解用户需求:

嗯,用户想在ArcGIS Pro里处理100多个shapefile的面状数据,计算每个的拐点坐标,并导出为TXT文件。首先,我需要考虑如何遍历文件夹里的所有shp文件。ArcPy模块应该能派上用场,因为它是ArcGIS Pro的Python库,可以处理地理数据。


接下来,每个shapefile都是面状的,可能需要检查几何类型是否正确,避免处理线或点数据。然后,对于每个面要素,需要提取所有折点的坐标。这里可能需要使用ArcPy的几何对象,比如用SearchCursor读取每个要素的几何,然后获取其顶点。

......


极致的细节把控:

生成TXT文件的话,每个shapefile对应一个TXT,文件名可能需要对应,比如原始文件名加“_vertices.txt”。写入坐标时,可能需要按照环的顺序,每个点一行,或者用其他格式。用户可能需要每个点的X和Y,或者还有其他信息,比如所属的要素ID或部分序号。


可能的问题:坐标系问题,比如地理坐标系的经纬度还是投影坐标系的单位。用户是否需要特定的精度或格式?比如保留小数点后几位。另外,有没有可能某些面有洞,导致内环的坐标也需要处理?这时候需要判断是否是外环还是内环......


高效简洁的代码输出:

处理大量文件时,代码的效率也很重要,避免内存问题。可能需要测试一下代码在大量数据下的表现。错误处理也不能少,比如跳过非面状图层,或者无法读取的文件。

......


为了便于使用,我做成了一个工具—



输入SHP图斑所在的文件夹;

指定一个输出文件夹,存储输出的TXT文件;

设置坐标的小数位数即可。

注:坐标系为数据自身的坐标系



然后,几秒钟的时间,

就运行成功啦!



到存储TXT的文件夹看下:



打开一个TXT文件看看:



这个工具特点:

适用ArcGIS Pro;

将一个文件夹下的所有SHP面数据转为TXT;

保留小数位数;

支持包含多部分要素(MultiPatch)和带岛洞的复杂多边形。







请到「今天看啥」查看全文