分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

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

发布时间:2023-09-06 01:20责任编辑:赖小花关键词:jsjson

1、使用ogr2ogr工具

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

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

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

650) this.width=650;" src="https://s1.51cto.com/oss/201710/27/69e042b353a8fdcda282dcf68601fdb4.png-wh_500x0-wm_3-wmp_4-s_1107493769.png" title="在命令行运行ogr2ogr报错" alt="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图层

650) this.width=650;" src="https://s5.51cto.com/oss/201710/27/6a158af4606802848c4deaef3aca962f.png-wh_500x0-wm_3-wmp_4-s_4243497053.png" title="加载原始内蒙古地级行政区划" alt="6a158af4606802848c4deaef3aca962f.png-wh_" />

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

650) this.width=650;" src="https://s5.51cto.com/oss/201710/27/593b4d951a64a03f4db5c89635897a3a.png-wh_500x0-wm_3-wmp_4-s_3634698777.png" title="merge要素" alt="593b4d951a64a03f4db5c89635897a3a.png-wh_" />

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

650) this.width=650;" src="https://s1.51cto.com/oss/201710/27/9f368c0c4832dfa4d09d2088936dce6b.png-wh_500x0-wm_3-wmp_4-s_192336833.png" title="编辑后和全国地图对比" alt="9f368c0c4832dfa4d09d2088936dce6b.png-wh_" />

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

650) this.width=650;" src="https://s3.51cto.com/oss/201710/27/b5baf6532cbda3c5c4fb1ea6735f3f27.png-wh_500x0-wm_3-wmp_4-s_818521391.png" title="Feature To Line" alt="b5baf6532cbda3c5c4fb1ea6735f3f27.png-wh_" />

    处理后得到结果

650) this.width=650;" src="https://s1.51cto.com/oss/201710/27/f1c4e958f728340c6a8d681ac7110454.png-wh_500x0-wm_3-wmp_4-s_1046211611.png" title="内蒙line图层" alt="f1c4e958f728340c6a8d681ac7110454.png-wh_" />

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

650) this.width=650;" src="https://s1.51cto.com/oss/201710/27/b607d5dfe409b861dad137147db1c007.png-wh_500x0-wm_3-wmp_4-s_1949120739.png" title="编辑线数据" alt="b607d5dfe409b861dad137147db1c007.png-wh_" />

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

650) this.width=650;" src="https://s2.51cto.com/oss/201710/27/89dea06991a07d9e79b2f86e548e45d9.png-wh_500x0-wm_3-wmp_4-s_618742503.png" title="merge裁切的线" alt="89dea06991a07d9e79b2f86e548e45d9.png-wh_" />

    目前效果如下

650) this.width=650;" src="https://s3.51cto.com/oss/201710/27/b423515c13f06ae1da7d9a4224e24e61.png-wh_500x0-wm_3-wmp_4-s_188304161.png" title="当前效果" alt="b423515c13f06ae1da7d9a4224e24e61.png-wh_" />


    设置仅显示内蒙古Polygon

650) this.width=650;" src="https://s1.51cto.com/oss/201710/27/6e0c62e27be1181c98d6233cc7fd0ead.png-wh_500x0-wm_3-wmp_4-s_768721993.png" title="设置显示内蒙古" alt="6e0c62e27be1181c98d6233cc7fd0ead.png-wh_" />

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

650) this.width=650;" src="https://s1.51cto.com/oss/201710/27/8fa4bde628219d6f89abded9ef1cdc8b.png-wh_500x0-wm_3-wmp_4-s_302718889.png" title="编辑内蒙古polygon" alt="8fa4bde628219d6f89abded9ef1cdc8b.png-wh_" />

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

650) this.width=650;" src="https://s1.51cto.com/oss/201710/27/a336d98bca0bcc51a5fd984892adf2f3.png-wh_500x0-wm_3-wmp_4-s_3807196477.png" title="截断多边形" alt="a336d98bca0bcc51a5fd984892adf2f3.png-wh_" />

650) this.width=650;" src="https://s1.51cto.com/oss/201710/27/964eddc96659b2b5940218f3d4d6d687.png-wh_500x0-wm_3-wmp_4-s_4180105653.png" title="默认参数" alt="964eddc96659b2b5940218f3d4d6d687.png-wh_" />

650) this.width=650;" src="https://s4.51cto.com/oss/201710/27/91fd94b67ff26bf971b7ca9a0840bf27.png-wh_500x0-wm_3-wmp_4-s_1030164820.png" title="裁剪结果" alt="91fd94b67ff26bf971b7ca9a0840bf27.png-wh_" />

    5)最后的效果

650) this.width=650;" src="https://s5.51cto.com/oss/201710/27/8ae5f7782045fb5cf1e4b29181de71f6.png-wh_500x0-wm_3-wmp_4-s_1232346497.png" title="最后的效果" alt="8ae5f7782045fb5cf1e4b29181de71f6.png-wh_" />


至此,该任务完成!

本文出自 “紫竹阁子” 博客,转载请与作者联系!

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

原文地址:http://firefly2123.blog.51cto.com/741257/1976878

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved