文章目录
- 步骤
- 一、shp转json
- 二、将json文件的头尾去掉
- 三、导入MongoDB
- 总结
步骤
一、shp转json
我这里使用的是QGIS。
在QGIS的bin目录下打开命令行,使用ogr2ogr命令
D:\QGIS\bin>ogr2ogr -f geoJSON <json文件位置> <shp文件位置>
像这样:
D:\QGIS\bin>ogr2ogr -f geoJSON E:\data\china_trans.json E:\data\china_trans.shp
二、将json文件的头尾去掉
用记事本或者vs等打开json文件,将开头的部分和结尾的部分删掉,使得最终文件内部仅保留数组格式的内容。
初始状态:
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNfRHLGZkRGZkRfJ3bs92YsYTMfVmepNHL1smaOJTQE9kMVpHW3BjMMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZwpmLwgzN4EDOxMjM2ATNwEjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
修改之后:
文件末的大括号也要删掉。
三、导入MongoDB
在命令行输入以下命令:
mongoimport -d text -c user --jsonArray E:\data\china_trans.json
//E:\data\china_trans.json是我的文件路径
//text是我的数据库名
//user是我的集合名
导入成功!
总结
在第三步出现以下错误都是因为第二步掐头去尾不够彻底:
Failed: cannot decode array into a D
Failed: error processing document #2: invalid character ‘:’ looking for beginning of value
Failed: error reading separator after document #1: bad JSON array format - found no opening bracket ‘[’ in input source
重新完成第二步就可以成功导入了。