You need to enable JavaScript to run this app. R中使用writeOGR导出SPDF时触发NA NULL未知数据类型报错
优惠活动
大模型
产品
解决方案
定价
更多

R中使用writeOGR导出SPDF时触发NA NULL未知数据类型报错

报错根因

报错由两个问题共同触发:

  1. 当前polygon空间对象的属性表完全为空,属性变量数为0,writeOGR解析全为NULL/NA的空属性结构时,无法识别合法字段类型,因此抛出类型识别错误。
  2. 原writeOGR的参数写法不符合ESRI Shapefile驱动的规则,存在参数传值错误。
分步解决操作
  • 验证属性表为空的状态,执行代码查看属性结构:
    head(polygon@data)
    正常返回结果为0列的空data.frame,无任何可写入字段。
  • 补全合法的最小属性结构,为每个空间要素添加基础标识字段,保证属性表存在非空、类型可识别的字段:
    # 为每个多边形添加顺序编号的id字段
    polygon$id <- seq_along(polygon)
    
  • 修正writeOGR的参数写法:ESRI Shapefile驱动不支持直接把输出文件路径作为dsn(数据源)传值,dsn参数需指定存储文件的文件夹路径,layer参数指定不带后缀的输出文件名,补充覆盖写入参数避免文件锁冲突,正确导出代码如下:
    # 将./替换为实际存储shapefile的文件夹路径
    writeOGR(polygon, dsn = "./", layer = "polygon", driver = "ESRI Shapefile", overwrite = TRUE)
    
  • 导出完成后到目标文件夹检查,确认生成完整的.shp、.shx、.dbf等配套文件即为导出成功。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.05 12:06:11