将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

posted @ 2022-07-19 21:25  Peninsula  阅读(2042)  评论(0编辑  收藏  举报