【Python】Arcpy实现矿坐标批量转换SHP图层格式

 一、需求

 有大量(成百上千)的矿坐标需要转换为矢量格式,格式如下:

需要对坐标进行解析,然后转换为shp格式,并按地块编号字段进行存储;

由于有大量的这类型数据需要转换,又涉及不同的坐标格式,人为处理起来是非常麻烦的;这里我们优先想到采用了arcpy来批量转换。

 二、首先对坐标进行解析提取;

测试001  [4243800.0, 12504800.0], [4243800.0, 12506300.0], [4244800.0, 12506300.0], [4244800.0, 12504800.0]

测试002  [105.1116, 50.0429], [105.1155, 50.0429], [105.1155, 31.5959], [105.0155, 31.5959], [105.0155, 50.0129], [105.031, 50.0129]

 三、然后将坐标串转换为面图层;并按照指定字段进行命名;

过程中,还要考虑坐标为空的图斑,有些坐标甚至有坐标不全的特殊情况,导致转换失败;

四、软件成品

五、获取联系方式

如你刚好有需要,联系作者!有偿使用,详见左上角文件头像处; 

备注:有其他需求的欢迎找我定制工具; 

ArcGIS Pro中的 arcpyPython for ArcGIS API)库可以用于自动化地理空间处理任务,包括批处理标注图层。如果你想批量标注多个图层的指定字段,你可以使用`arcpy.da.UpdateCursor`和`arcpy.Geometry()`等工具。以下是一个基本步骤: 1. **导入模块**:首先,你需要导入必要的模块,如`arcpy`, `os`, 和 `datetime`。 ```python import arcpy from os import listdir ``` 2. **设置工作空间**:指定数据所在的文件夹作为工作空间。 ```python workspace = "你的数据文件夹路径" ``` 3. **获取图层列表**:列出工作空间下的所有图层,通常这些都是.shp或.lyr格式的地图层。 ```python layer_files = [f for f in listdir(workspace) if f.endswith('.lyr') or f.endswith('.shp')] layers = [arcpy.mp.ArcGISProject.workspaceItem(layer_file) for layer_file in layer_files] ``` 4. **创建更新游标**:对于每个图层,创建一个UpdateCursor来操作它们的数据。 ```python for lyr in layers: with arcpy.da.UpdateCursor(lyr, ['你的字段名']) as cursor: # 这里是你需要标注的字段名,例如"Shape_Area"或"FID" ``` 5. **标注过程**:在游标循环内部,对每个几何对象(Feature),根据字段值应用所需的操作(比如标注面积、距离等)。这部分依赖于你的具体需求,可能涉及到计算、字符串格式化等。 6. **保存更改**:完成操作后别忘了提交更改回数据库。 ```python for row in cursor: # 根据字段值做标注操作,然后更新行 cursor.updateRow(row) ``` 7. **结束循环**:关闭所有游标。 ```python for cursor in cursors.values(): cursor.close() ``` 注意:实际操作中,你可能需要处理异常,并确保每个图层都在同一个坐标系统下,以便正确地处理几何数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

QQ359677345

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值