将excel数据通过json转换为shp(面状)
问题背景:拿到的数据是excel表格,包含一些属性字段。其中空间信息存放在字段geometry中,需要转化为面状shp数据。
20221026 更新excel表格样式如下图:
解决思路:将excel转为json数据,再将json数据处理成能够转为shp的格式(geojson)。最后在关联属性表,将属性更新上去。
1、第一步,将excel数据进行简单处理,保留id和geometry字段,将坐标对的括号替换成方括号[]。
2、第二部,将excel内容复制,按行转化json数据。https://www.bejson.com/json/col2json/
得到的json格式如下:
3、对json数据进行处理。
"geometry": "", 替换成 "geometry": {
"properties": "", 替换成 "properties": {
"coordinates": " 替换成 "coordinates": [[[
]" 替换成 ]]]]
}, 替换成 }},
将,
"geometry" 替换成
},
"geometry"
在最前面加上 {
"type": "FeatureCollection",
"features":
在最后面加上 };
确保最后一个]前无逗号(,),如图所示:
4、jsformat格式化json数据,确保格式正确,该闭合的括号都闭合。
5、将处理后的json数据转化为shp数据。 https://mapshaper.org/
6、将转换得到的shp数据使用arcmap,用ID字段进行关联。将关联后的数据导出,得到包含属性的shp文件。
对于geojson来说,这些属性是必要的:
扩展阅读:geojson 格式说明(格式详解) https://blog.csdn.net/qq_17627195/article/details/125225582
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步