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

 

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

 

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 可以使用ArcGIS软件中的“KML to Layer”工具将KML文件转换为图层文件,然后再使用“Feature Class to Feature Class”工具将图层文件转换为SHP文件。具体操作步骤如下: 1. 打开ArcMap软件,选择“File”菜单中的“Add Data”选项,将KML文件添加到地图中。 2. 在ArcToolbox中找到“Conversion Tools”文件夹,展开后找到“From KML”子文件夹,选择“KML to Layer”工具。 3. 在“KML to Layer”对话框中,选择要转换的KML文件,指定输出文件夹和输出文件名,点击“OK”按钮开始转换。 4. 转换完成后,在ArcMap中会自动添加一个新的图层文件,右键点击该图层文件,选择“Data”菜单中的“Export Data”选项。 5. 在“Export Data”对话框中,选择要导出的图层文件,指定输出文件夹和输出文件名,选择输出文件格式为“Shapefile”,点击“OK”按钮开始导出。 6. 导出完成后,在指定的输出文件夹中会生成一个SHP文件和相关的文件。 注意:在转换过程中可能会出现一些错误和警告信息,需要根据具体情况进行处理。同时,KML文件中的一些属性信息可能无法完全转换到SHP文件中,需要进行手动编辑和调整。 ### 回答2: ArcGIS是一款广泛使用的GIS软件,可以用于制作、编辑和管理地理空间数据。在使用ArcGIS进行地图制作或数据分析时,常常需要将KML文件转换为SHP文件。下面将提供一些KML文件转换为SHP文件的方法。 首先,可以使用ArcGIS中的“转换原始数据”工具。在ArcToolbox面板中,选择“数据转换工具”>“从KML到层”>“转换原始数据”。在“输入KML文件”字段中,选择要转换的KML文件的位置,然后在“输出地理数据库”字段中定义输出SHP文件的位置和名称。单击“OK”按钮,ArcGIS将自动进行转换。 其次,可以使用ArcGIS Online中的“KML到图层”小工具。在ArcGIS Online主页中,选择“小工具”>“分析”>“KML到图层”。在“KML URL”字段中输入KML文件的网络地址或上传KML文件,然后单击“运行分析”按钮。在“输出数据”中选择“下载”,即可下载生成的SHP文件。 此外,在ArcGIS中,还可以使用Python脚本进行KML文件转换为SHP文件。使用Python脚本可以更加方便地自定义转换过程,也可以批量转换多个KML文件。下面是一个简单的Python脚本示例: ```python import arcpy # 设置输入和输出文件路径 input_kml = "path/to/input/kml/file" output_shp = "path/to/output/shp/file" # 定义转换参数 kml_layer = "input_layer" output_coord_system = arcpy.SpatialReference("WGS 1984") # 进行转换 arcpy.KMLToLayer_conversion(input_kml, "NO_GROUNDOVERLAY", kml_layer) arcpy.Project_management(kml_layer + ".lyr", output_shp, output_coord_system) ``` 总的来说,KML文件转换为SHP文件在ArcGIS中非常简单,可以通过内置工具、在线工具或Python脚本完成。这些工具都可以为用户提供高质量的转换结果和灵活的定制选项,满足用户不同的地图制作和空间数据分析需要。 ### 回答3: ArcGIS是一个非常常用的软件,它可以帮助用户管理,分析和处理地理信息数据。其中,KML(Keyhole Markup Language)文件是一种基于XML的格式,用于描述地理位置的数据。可以使用ArcGIS中的工具将KML文件转换为SHP(Shapefile)文件。SHP文件是一种常用的地理信息数据交换格式,它可以与许多软件兼容,例如ArcGIS,QGIS等。在本文中,我们将介绍如何用ArcGIS将KML文件转换为SHP文件。 步骤一:打开ArcGIS软件,单击“文件”选项卡,在下拉菜单中单击“打开”。 步骤二:在“打开”对话框中,浏览到KML文件所在的位置。选择每个KML文件并单击“添加”选项,以将它们添加到ArcGIS中。 步骤三:一旦文件已添加到ArcGIS,单击“Catalog”选项卡以打开“Catalog”窗口。此选项卡通常位于ArcGIS窗口的右侧。在“Catalog”窗口中,选择哪个文件夹将新的SHP文件放置在其中。然后右键单击该文件夹,并选择“新建”>“Shapefile”。 步骤四:在“新建Shapefile”对话框中,键入新的文件名并选择要生成的文件类型(点,线或多边形)及其坐标系统。 步骤五:在“新建Shapefile”对话框的“字段”选项卡中,添加要包含在SHP文件中的字段。您可以添加尽可能多的字段。但是,必须至少包含一个名称字段,以便为每个要素分配唯一值。 步骤六:单击“确定”按钮以开始生成SHP文件。 步骤七:一旦SHP文件生成完成,单击“Arc Toolbox”选项卡或“Catalog”窗口中的“工具箱”图标,以打开工具箱。然后展开“转换工具>从KML>到图层> KML到图层”。 步骤八:在“KML到图层”工具中,选择要转换的KML文件及其地理坐标系(通常为WGS84)。还可以选择要保存的SHP文件及其坐标系。 步骤九:单击“运行”按钮以开始将KML文件转换为SHP文件。 这就是将KML文件转换为SHP文件的完整过程。注意,在生成新的SHP文件时,必须设置其坐标系,以便正确投影和定位要素。此外,必须确保KML文件和SHP文件具有适当的坐标系,以便在ArcGIS中正确显示它们。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值