「GIS笔记」使用Mapshaper -clean 命令实现矢量数据拓扑修复(附命令详解及演示数据)
我们在处理GIS空间数据的时候经常会遇到一些拓扑问题,比如区域没有闭合、两个域名有交叠、两个区域有空隙、重复的空间要素等,这些问题都会影响我们后续的空间分析和空间查询。因此,我们需要使用一些工具来对数据进行拓扑修复,这样才能保证数据的正确性。
上图:常见的拓扑问题-空隙
Mapshaper 的 clean
命令可以比较容易的帮我们解决这个问题。
Mapshaper clean的基本原则
- 多边形要素会自动删除重叠和填充相邻多边形之间的小间隙,只有完全包围的间隙才能填充。包含在多个多边形中的区域(重叠)被分配给面积最大的多边形,间隙也会被分配给面积最大的多边形。PS: 这个默认规则可能产生副作用,后期的版本可能会修改,使用的时候需要注意。
- 线要素会自动删除同一路径内的自相交的元素。自相交的路径在交点处被分割,并转换为同一要素内的多个路径。当两条独立的路径在段端点之间相交时,将在交点处插入新的顶点。
- 点要素通过删除同一要素内的重复坐标来进行清理。
命令参数
-clean
命令有以下参数:
gap-fill-area =
(多边形)设置多边形填充面积,小于该面积的间隙被自动填充; 大于这个面积的间隙作为孔保留。示例值:2km2 500m2 0。默认为从数据集的几何形状计算的动态值。
sliver-control =
(多边形)优先删除带有高周长-面积比的多边形。接受0-1的值,默认值为1。
overlap-rule =
(多边形)根据此规则将重叠的多边形区域分配给其中一个重叠的要素。可能的选项是:min-id,max-id,min-area,max-area(默认值为max-area)。
allow-overlaps
允许要素重叠。默认行为是删除重叠。
snap-interval =
在一个给定的阈值范围内抓取顶点。默认为一个非常小的阈值。使用源单位。
rewind
修复多边形环的绕组顺序中的错误。
allow-empty
允许空几何,默认情况会删除。
使用示例
源数据如下图:
运行如下代码:
mapshaper gap.shp -clean -o gap_clean.shp
效果如图:
可以看到这个空隙被面积大的多边形“吃”掉了。
测试数据
关注本站微信公众号,回复“资源下载”,获取验证码。
在微信里搜索“麻辣GIS”或微信扫描右侧二维码即可关注本站微信公众号。
所有文章
点击查看系列全部文章--> 「更新中」Mapshaper入门学习笔记
相关阅读
声明
1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。
2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。