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

在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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 20:33:24