使用GDAL的ogr2ogr工具,结合ArcGIS Desktop对Geojson数据编辑

1、使用ogr2ogr工具

   官网地址http://www.gdal.org/ogr2ogr.html,下载需要的版本,考虑到笔者以后会经常使用,我把它解压到了文件夹“D:\App\Gdal\release-1500-gdal-2-2-1-mapserver-7-0-6”下。

    为了使用方便,在Path中设置的路径。

    打开命令行窗口,测试ogr2ogr命令失败,显示

69e042b353a8fdcda282dcf68601fdb4.png-wh_

   在管理员身份运行的命令行窗口运行“D:\App\Gdal\release-1500-gdal-2-2-1-mapserver-7-0-6\SDKShell.bat”以后,可以使用ogr2ogr命令。


2、geojson和shp的互相转换

    使用命令 

ogr2ogr -lco encoding=UTF-8 -f "ESRI Shapefile" E:\data\china_20171027_1349.shp E:\data\china.json


ogr2ogr -f "GeoJSON" E:\data\china_region_20171027_1604.json E:\data\china_region_20171027_1604.shp

可是实现geojson和shp的互转,需要注意的是,geojson中带有汉字时,需要加上参数“-lco encoding=UTF-8”,否则出现乱码,并产生警告信息。而shp转geojson时,不需要额外参数,如增加编码设置,也会产生警告信息。


3、数据编辑

    本次的任务是在全国省级行政区划图层中将内蒙古分为蒙东蒙西。

    手头可以利用的数据包括geojson格式的“china.json”和“nei_meng_gu_geo.json”。

    由于使用了gdal的ogr2ogr工具,我们很容易得到对应的shp数据,我们现在只需要解决shp的编辑即可。

    1)在ArcGIS Desktop中加载nei_meng_gu_geo图层

6a158af4606802848c4deaef3aca962f.png-wh_

    2)打开编辑工具->开始编辑,根据业务需要,选择要素,并选择编辑工具栏中的merge工具

593b4d951a64a03f4db5c89635897a3a.png-wh_

   3)merge后,分类渲染,并加载全国省级行政区划,我们发现在邻省的位置有很多接边要么重合要么有空隙,基本没有吻合,这样的数据,显然是没法用的。这种问题在数据编辑中很常见,主要是因为数据来源不同,数据精度不同造成的。

9f368c0c4832dfa4d09d2088936dce6b.png-wh_

   4)我们采用线裁剪的方法解决3)中的问题。在ArcToolbox中找到“Feature To Line”工具

b5baf6532cbda3c5c4fb1ea6735f3f27.png-wh_

    处理后得到结果

f1c4e958f728340c6a8d681ac7110454.png-wh_

    重新打开编辑状态,对nei_meng_gu_geo的Polyline数据进行编辑

b607d5dfe409b861dad137147db1c007.png-wh_

    删除无用的线,并merge下一步的裁切线

89dea06991a07d9e79b2f86e548e45d9.png-wh_

    目前效果如下

b423515c13f06ae1da7d9a4224e24e61.png-wh_


    设置仅显示内蒙古Polygon

6e0c62e27be1181c98d6233cc7fd0ead.png-wh_

    再次打开开始编辑,这次对“china_20171027_1349”做编辑

8fa4bde628219d6f89abded9ef1cdc8b.png-wh_

   选择截断线,打开高级编辑工具,选择工具如下

a336d98bca0bcc51a5fd984892adf2f3.png-wh_

964eddc96659b2b5940218f3d4d6d687.png-wh_

91fd94b67ff26bf971b7ca9a0840bf27.png-wh_

    5)最后的效果

8ae5f7782045fb5cf1e4b29181de71f6.png-wh_


至此,该任务完成!

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值