问题背景:编写arcpy工具中,有个计算栅格数据表面体积的功能需求,使用的是arcpy中的SurfaceVolumn方法,输出txt文件(也可以输出其它格式)。
重点来了,工具执行成功,也输出了txt文件。但是读取txt文件的表面体积报错了。错误信息为空值转数字型报错。
分析:从报错信息得出,类型转换错误。然后查看txt文件输出信息,果然表面体积那里输出为空。下意识认为是数据或程序代码出问题。
经过详细排查,耗费大量时间,没查出任何问题。
在此之前有生成成功的txt数据,与数据对比发现,有相同的字符数量。
结果:原来是输出栅格数据的路径过长,导致txt数据中的表面体积被截掉了。因此,arcgis保存数据的深度不能太深。
arcgis版本10.2.2