You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Arcpy获取文件夹内shapefile几何质心的最小纬度

实现方案

你可以用arcpy.da.SearchCursor读取每个要素的质心坐标,遍历所有要素后筛选出最小纬度值即可,不需要调用额外的地理处理工具。

修改后可直接运行的代码

import arcpy
arcpy.env.overwriteOutput = True

arcpy.env.workspace = r"C:\Users\username\dataset_folder"

for fc in arcpy.ListFeatureClasses():
    # 初始化最小纬度为无穷大
    min_lat = float('inf')
    # 用搜索游标遍历所有要素,SHAPE@XY返回(x, y)元组,y值对应纬度
    with arcpy.da.SearchCursor(fc, ["SHAPE@XY"]) as cursor:
        for row in cursor:
            centroid_y = row[0][1]
            if centroid_y < min_lat:
                min_lat = centroid_y
    # 打印结果
    print(f"要素类名称:{fc},质心最小纬度:{min_lat}")

注意事项

  • 使用with语句调用游标会自动释放资源,不需要手动删除游标和行对象
  • 如果你的shapefile使用的是投影坐标系,SHAPE@XY返回的y值是投影坐标系下的北距,若需要WGS84等地理坐标系的纬度,可以在调用游标时添加空间参考转换参数,写法参考:
    with arcpy.da.SearchCursor(fc, ["SHAPE@XY"], spatial_reference=arcpy.SpatialReference(4326)) as cursor:
    其中4326是WGS84坐标系的EPSG编码,可替换为你需要的目标地理坐标系编码
  • 如果存在空要素类的情况,min_lat会保持无穷大,可根据业务需要添加空要素类判断逻辑。

内容的提问来源于stack exchange,提问作者puredata

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 17:24:07