分享

ArcGIS小图斑根据相邻地类属性融合

 huajiang0954 2020-04-07

原则:

优先级从上到下:(以地理国情普查LCA为例,500平以下作为小面积)

1、如果最小地类一致,则根据小地类进行融合(如0360跟0360融合)

2、如果没有最小地类,则根据相同大的地类进行融合(0360跟0311融合)

3、如果大的地类也不一致,则与最大面积相邻面进行融合。

思路:

1、暂时不会做工具箱,所以需要一步一步的做;

2、第一、二步的核心是根据地类代码来融合。假设小图斑的数据为原始数据,而相邻大图斑为目标数据,就是你把原始地类代码替换成目标地类代码,同时应保留一个目标数据的唯一码,防止目标数据在融合过程中与其他相邻地类代码进行融合了;

3、根据第一二步的数据筛选出第三步的数据进行eliminate,这里需要注意 你是要与相邻地类中线最长的还是面积最大的融合。

4、过程中需要select load数据 所以需要耐心替换代码根据spatialjoin的工具+python代码来实现

电脑环境: 

win7,Arcmap10.3,ArcGIS内置python2.7.8

步骤如下: 

分离500平面积 

注意:这里要在面积大于500的图层中新建一个字段将OID挂接过去当做唯一码

通过spatialjoin获取相邻图斑属性

这里要注意是用小面积挂接大面积图层,另外注意新增两个TEXT字段来获取大面积图层的信息以便判读地类编码CC字段是否复合融合原则。工具运行成功后,在输出的图层中新建两个文本字段,融合CC码及融合唯一码

工具运行成功后,在输出的图层中新建两个文本字段,融合CC码及融合唯一码

到这里,属性已经获取成功了,现在就是来判断这些属性跟面积小于500属性的关系了,其中面积大于500图斑的数量为9795-2127=7688条,最终数量需要与之进行验证。

接下里分离复合第一二步原则的的图形,为空值的即不符合按第三原则进行融合,然后将符合第一二原则的图形LOAD进入面积大于500的图层,其中要注意融合CC码对应面积大于500图层的CC,融合唯一值面积对应大于500的唯一码。

进行dissolve融合,按照唯一码和CC,融合后的数量应该与导入前一致(7668)

最后属性挂接

通过唯一码字段将原来的属性信息挂接到图形数据中。你可以在access或者arcmap中进行

————————————————

版权声明:本文为CSDN博主「GIS小菜鸟」

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多