天天看点

shp导入MongoDB步骤一、shp转json二、将json文件的头尾去掉三、导入MongoDB总结

文章目录

  • 步骤
  • 一、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文件,将开头的部分和结尾的部分删掉,使得最终文件内部仅保留数组格式的内容。

初始状态:

shp导入MongoDB步骤一、shp转json二、将json文件的头尾去掉三、导入MongoDB总结

修改之后:

shp导入MongoDB步骤一、shp转json二、将json文件的头尾去掉三、导入MongoDB总结

文件末的大括号也要删掉。

三、导入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

重新完成第二步就可以成功导入了。