shp与json互转(转载)

转自:http://blog.sina.com.cn/s/blog_673c98be0102v78i.html

对于搞GIS开发的,这2种数据格式太重要了。

一.shp转json

这个要容易些,方法也比较多啊。你想通过shp来定义自己的坐标串json,其实方法还是比较多的,没有直接的但间接的很多。

(1)shp->kml/kmz

在ArcMap里利用工具就可以直接转换得到,废话不多说。不会的自己查啊。

(2)shp发布了地图服务,那么通过请求rest service返回geomerty,设置格式为json,也能得到

shp与json互转

(3)GDAL工具,得到的是GeoJson格式啊

参考http://www.bram.us/2012/03/14/convert-esri-shapefile-shp-to-geojson-json/

插件里看是否装了GDAL工具,没装的话自行安装

shp与json互转

找到ogr2ogr.exe,拖到cmd里

shp与json互转

输入命令,主要是源文件shp的路径,目标文件json的路径,主要转换有警告,是不支持中文啊,而且文件所在目录也不要有中文,否则会报错的。

shp与json互转

主要是为了得到坐标串,结果出来了就ok了。

shp与json互转

(4)ARCGIS10.2以上版本啊,支持了geometry转wkt/json

参考http://blog.csdn.net/linghe301/article/details/29554257,这哥们的博客很强大。

由于我的还是10.0,没有亲自试一试,不过肯定是没问题的啊。

(5)在线shp转geojson

网址http://shp2json.ronny.tw/

但是我没有研究明白是如何操作的。

(6)mapshaper,这个在线的很不错,可以拖拽shp,显然是html5做的啊,牛逼!

http://mapshaper.org/

不尽能转换,这个主要目的貌似是为了简化抽稀shp的。

二.json转shp

好像不好搞哦,我搜索了很久的啊。

(1)通过1(4)中提到的方法是可以的。得是arcgis认识的json格式才行吧。

(2)mapshaper,在线转换geoJson

shp与json互转

json具体用的时候肯定得根据自己的需要再上述结果上进行处理的,具体你是用手工的还是写程序来处理就看自己的了。

仅供参考,各位如果有更好的方法,可以交流学习啊,谢谢!

对于搞GIS开发的,这2种数据格式太重要了。

一.shp转json

这个要容易些,方法也比较多啊。你想通过shp来定义自己的坐标串json,其实方法还是比较多的,没有直接的但间接的很多。

(1)shp->kml/kmz

在ArcMap里利用工具就可以直接转换得到,废话不多说。不会的自己查啊。

(2)shp发布了地图服务,那么通过请求rest service返回geomerty,设置格式为json,也能得到

shp与json互转

(3)GDAL工具,得到的是GeoJson格式啊

参考http://www.bram.us/2012/03/14/convert-esri-shapefile-shp-to-geojson-json/

插件里看是否装了GDAL工具,没装的话自行安装

shp与json互转

找到ogr2ogr.exe,拖到cmd里

shp与json互转

输入命令,主要是源文件shp的路径,目标文件json的路径,主要转换有警告,是不支持中文啊,而且文件所在目录也不要有中文,否则会报错的。

shp与json互转

主要是为了得到坐标串,结果出来了就ok了。

shp与json互转

(4)ARCGIS10.2以上版本啊,支持了geometry转wkt/json

参考http://blog.csdn.net/linghe301/article/details/29554257,这哥们的博客很强大。

由于我的还是10.0,没有亲自试一试,不过肯定是没问题的啊。

(5)在线shp转geojson

网址http://shp2json.ronny.tw/

但是我没有研究明白是如何操作的。

(6)mapshaper,这个在线的很不错,可以拖拽shp,显然是html5做的啊,牛逼!

http://mapshaper.org/

不尽能转换,这个主要目的貌似是为了简化抽稀shp的。

二.json转shp

好像不好搞哦,我搜索了很久的啊。

(1)通过1(4)中提到的方法是可以的。得是arcgis认识的json格式才行吧。

(2)mapshaper,在线转换geoJson

shp与json互转

json具体用的时候肯定得根据自己的需要再上述结果上进行处理的,具体你是用手工的还是写程序来处理就看自己的了。

仅供参考,各位如果有更好的方法,可以交流学习啊,谢谢!

猜你喜欢

转载自www.cnblogs.com/zhaoyanhaoBlog/p/9025592.html