土地承包经营权项目承包地块过密节点问题的批量处理

2018-07-09 06:17徐广玲
装饰装修天地 2018年12期

徐广玲

摘 要:在土地承包经营权项目中,我们通常采用在南方cass软件中画线,然后在cass中构面或者在ArcGIS中构面的办法来生成承包地块,但是如果精度不满足数据库的要求,则会造成相邻承包地块之间大量的微小缝隙,也就是国源软件中过密节点的错误。数据库中的承包地块越多,造成的缝隙也就越多,例如,以一个3000多地块的行政村来说,就造成了5000多个缝隙错误,如果人工手动修改,将会花费很多时间,并且一次性未必能够处理干净,很有可能需要反复检查并修改多次才可以完成,所以我们要寻找一个更好的办法来解决这个问题。

关键词:面转换线;线转换面;空间赋值;拓扑关系;拓扑错误;空间位置

1 前言

为解决上述问题,本文提出在ArcGIS下利用面转换线、线转换面、空间赋值的功能,来一次性处理过密节点问题。

2 面转换线

首先,我们将已有的包含图形错误的原始数据面状要素图层做面转换线的处理。打开ArcMap,在DataManagementTools→Features→Featuretoline下,将承包地块面状要素图层先转换成线状要素图层。

我们在InputFeatures选择承包地块面状要素图层,在OutputFeatureClass选择线状要素图层输出的路径,在XYTolerance(optional)可以输入X,Y容差值。

创建新要素类时,系统将要求用户设置X、Y容差值。在拓扑验证、缓冲区生成、面叠加等聚类操作以及一些编辑操作中,使用X、Y容差值来设置两个坐标之间的最小距离,用于在这些操作过程中确定所有要素坐标(结点和折点)间最小距离的X、Y容差,这就会影响要素处理操作的结果。按照定义,X、Y还定义了坐标在聚类过程中可于X或Y(或两者)方向上移动的距离。X、Y容差是一个极小的距离值(默认值为0.001米,以地面的单位为单位)。它用于在聚类操作过程中解决坐标交叉点位置不精确的问题。使用几何操作处理要素类时,如果两个坐标的X距离和Y距离位于彼此的X、Y容差范围内,这两个坐标会被认为重合(也就是说,共享同一个X、Y位置)。因此,聚类坐标就会被移动到某个公共位置。

这里有一个关键点在于精度的选择。在本次错误数据中,要素节点距离均在0.000011-0.000172之间,而软件对精度的要求是大于0.05,所以我们在转换时选择一个合理的精度尤为重要,既要满足软件检查的需要,又不能生出多余的线段,否则会造成下一步线转换面时,生出多余的碎面。我们在0.05-0.000172之间使用默认值0.001就可以满足我们的要求。此次我们转换出4593条线段。

3 线转换面

在上一步操作中,我们已经得到转换出的线状要素图层,现在我们需要将线状要素图层转换成面状要素图层。

打开ArcMap,找到DataManagementTools→Features→FeatureTopolygon,同理,我们在InputFeatures选择线状要素图层,在OutputFeatureClass选择面状要素图层输出的路径,在XYTolerance(optional)内使用默认的0.001容差值即可。

在ArcGIS中,线转换面的功能是把所有的线状要素在容差精度范围内相接封闭成闭合的面状要素。此次共转出1398个面状要素(原有数据1380个地块,共转换出18个多余面,原因是承包地块图层中实际存在地格,也就是说图形中存在空隙,但是线状要素转换后,会转出全部的面状要素,所以,造成了18个多余面)。这个问题我们交给下一步去处理。

4 检查面状要素的拓扑错误

拓扑关系是指满足拓扑几何学原理的各种空间数据间的相互关系。ArcGIS为我们提供了良好的处理空间拓扑关系的平台。建立多边形唯一的空间位置,就是要保证多边形不能够相交、重叠。这样才能为空间赋值提供唯一的对应关系。

因此,我们先做一下拓扑检查,看看图形里是否有拓扑错误。

打开ArcCatalog,在mdb数据库中新建Topology图层,选择需要检查的图层,设置容差,添加拓扑检查规则MustNotOverlap。完成之后将拓扑图层添加到ArcMap里查看检查结果。原始数据中有面状要素重叠错误。

5 處理面状要素的拓扑错误

我们的最终目的是将包含图形错误的原始面状要素图层处理成正确的面状要素图层,再将原始数据中的属性值赋值到正确的面状要素图层里。为保证面状要素空间位置唯一并准确的进行空间赋值,那么我们必须要根据实际情况处理掉这些错误。

处理面状要素重叠的方法有以下几种:(1)在编辑状态下,双击图形后,可以通过直接修改要素节点来去除重叠部分;(2)在编辑状态下,在错误上右键选择merge,将重叠部分合并到其中一个面里;(3)在编辑状态下,在错误上右键选择createfeature,将重叠部分生成一个新的要素,然后利用editor下的merge把生成的面合并到相邻的一个面里;(4)在编辑状态下,用editor下clip直接裁剪掉重叠部分。

在此数据里,只要面状要素不重叠,即可保证空间位置的一一对应,那么为了节省时间,操作方便选择第四种方法,将面状要素重叠的部分切掉。处理完成后,我们就可以给新生成的面状要素图层赋属性了。

6 空间赋值

有了处理后的原始面状要素和新生成的面状要素,我们就可以利用ArcGIS空间连接功能进行最后一步空间属性赋值了。

空间连接是指根据要素的相对空间位置将连接要素中的行匹配到目标要素中的行。

默认情况下,连接要素的所有属性会被追加到目标要素的属性中并复制到输出要素类。通过在连接要素的字段映射参数中控制写入到输出中的属性,可以对其进行定义。

打开ArcMap工具箱,点开ArcToolbox→AnalysisTools→overlay→SpatialJoin功能,如图所示,在TargetFeatures输入目标面状要素图层,在JoinFeatures输入连接的面状要素图层,在OutputFeatureClass选择输出的路径及面状要素名称,在JoinOperation(optional)中选择JOIN_ONE_TO_ONE,目的是将所有输入目标面状要素写入到输出面状要素类。在MatchOption(optional)选择CONTAINS关系,目的是把与连接的面状要素完全重叠或包含关系的属性赋值到目标面状要素。这样,执行命令就可以了。

最后,我们打开目标面状要素,查看一下属性,会发现有一部分面状要素是没有属性的(我们将其选中会发现正好是18条记录,也验证了第二步骤,面状要素存在空图形,即空隙),所以在目标要素内删除无属性的记录即可。那么,到此我们的全部工作就做完了。

7 结束语

随着信息技术的发展及应用领域的不断扩大,尤其是计算机技术以前所未有的速度快速发展,地理信息系统技术也得到了飞速的发展。目前,地理信息系统软件ArcGIS已成为全世界用户群体最大、应用领域最广泛的GIS软件平台。在人们使用的各类信息中,绝大部分的信息与位置属性和空间定位有关。因此,熟练应用ArcGIS,学会用ArcGIS解决专业数据处理、空间分析及开发是尤为重要。