ArcGIS Pro调用.project_as()转换空间启用数据框坐标系时崩溃求助
修复空间启用数据框投影转换时ArcGIS Pro崩溃的方案
原代码通过apply逐行调用project_as的方式,会为每一行几何对象单独执行投影操作,频繁的对象创建与内存分配容易引发内存碎片,在7万行数据量级下更易触发ArcGIS Pro的内存上限导致崩溃。以下是更高效的代码调整方案:
推荐方案:使用SEDf内置批量投影方法
直接调用空间启用数据框的project方法,该方法底层采用批量处理逻辑,内存占用更低、执行效率更高:
# 直接修改原数据框的空间参考为WKID 4326 sedf = sedf.project(4326)
如果需要保留原数据框,仅生成投影后的副本:
# 复制原数据框后执行投影 sedf_projected = sedf.copy() sedf_projected = sedf_projected.project(4326)
额外优化建议
- 处理前清理内存:导入
gc模块执行内存回收,减少内存占用
import gc gc.collect()
- 提前过滤无效几何:避免无效几何在投影过程中引发异常或额外内存消耗
# 筛选出几何有效的行 sedf = sedf[sedf['SHAPE'].is_valid]
内容的提问来源于stack exchange,提问作者Noah Little
相关产品推荐
相关产品推荐

