在ArcGIS Pro中用R调用GTFSShapesToFeatures工具转换数据报错求助
解决GTFSShapesToFeatures转换时的“字段不可为空”错误
错误原因
rt_tp_txt字段被ArcGIS的转换工具设置为非空约束,但你的GTFS格式shapes.txt文件中,该字段存在空值,导致插入属性行时触发报错。
解决方法
补全源数据的空值
用文本编辑器或Excel打开shapes.txt,检查所有行的rt_tp_txt列,把空单元格填充默认值(比如unknown),保存后重新运行转换代码。预创建允许空值的输出shapefile
如果无法修改源数据,可以先手动创建输出shapefile,设置rt_tp_txt字段允许为空,再调用转换工具。修改后的R代码如下:RTL_Route <- py_run_string(" import arcpy # 创建空的线要素类(shapefile) arcpy.CreateFeatureclass_management(r'D:/SadiaChowdhury/Data analysis/Data Cleaning/Transit RoutesFinal/RTL20240401', 'RTL_shapes.shp', 'POLYLINE') # 添加rt_tp_txt字段并设置为可空 arcpy.AddField_management(r'D:/SadiaChowdhury/Data analysis/Data Cleaning/Transit RoutesFinal/RTL20240401/RTL_shapes.shp', 'rt_tp_txt', 'TEXT', nullable=True) # 执行GTFS形状转换 arcpy.conversion.GTFSShapesToFeatures(r'D:/SadiaChowdhury/Data analysis/Data Cleaning/Transit Routes Final/RTL20240401/shapes.txt', r'D:/SadiaChowdhury/Data analysis/Data Cleaning/Transit RoutesFinal/RTL20240401/RTL_shapes') ")检查自定义字段规范
如果rt_tp_txt是你添加的自定义字段而非GTFS标准字段,确认工具是否默认对该字段施加了非空约束,必要时调整字段定义后再转换。
内容的提问来源于stack exchange,提问作者It's lighthouse
相关产品推荐
相关产品推荐

