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

原则:

优先级从上到下:(以地理国情普查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条,最终数量需要与之进行验证。

利用python字段计算器进行判断

代码如下:

def aaa(aa,bb,cc):

    i= 0

   for x in aa.split(","):

       if x == cc:

           return "".join(x)+"-"+bb.split(",")[i]

       elif x[:3] == cc[:3]:

          return "".join(x)+"-"+bb.split(",")[i]

       elif x[:2] == cc[:2]:

          return "".join(x)+"-"+bb.split(",")[i]

       i += 1

计算完之后,可以看出其实复合第一第二原则的很少,而null值即为不符合原则的这里先分离唯一码和CC码,

代码如下:!融合CC码!.split("-")[1]


再计算CC码

代码如下:!融合CC码!.split("-")[0]



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

导入大于500面积的图层中进行融合处理



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


效果如下图:


         然后将符合原则三的图斑load进入融合后的图层进行面积Eliminate消除



到这里图形的数据已经处理完了,可以看出 还是7668条数据,接下来要进行属性挂接

最后属性挂接

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







  • 13
    点赞
  • 82
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: ArcGIS是一款功能强大的地理信息系统软件,可用于处理和分析来自不同来源的数据。在GIS数据处理中,融合相邻且某些属性相同的图属性面积最大的图是一个常见的需求。为了达到这个目的,可以使用ArcGIS提供的批处理工具箱——.tbx文件。 这个批处理工具箱中包含了融合相邻且某些属性相同的图属性面积最大的图的工具。这个工具箱中包含了多个工具,如“合并相邻图层”、“筛选图层”、“提取最大面积”等。用户可以按照需要依次使用这些工具,以完成融合处理的任务。 用户首先需要将需要融合的图层导入到ArcGIS中,并且把所有需要保留的属性选中。然后,用户可以使用“合并相邻图层”工具,将相邻的图层合并为一个图层。接着,使用“筛选图层”工具,将图按照某些属性进行筛选,保留属性相同的图。最后,使用“提取最大面积”工具,提取出面积最大的图,即为结果。 这个批处理工具箱的使用可以节省用户大量的时间和精力,特别是对于大数据量的情况经常使用。用户可以通过修改这些工具中的参数,以适应不同的数据处理需求。此外,还可以将这些工具整合在一起,形成一个自动化的处理流程,给用户提供一站式数据处理服务。 ### 回答2: ArcGIS是一个强大的地理信息系统软件,可以实现多种功能,其中包括批处理功能。批处理可以自动化执行重复的任务,提高数据处理的效率和准确性。 在这个问题中,需要实现的功能是将相邻且某些属性相同的图进行融合,并将属性面积最大的图作为结果输出。 首先,我们需要创建一个批处理模型。打开ArcGIS,在工具箱中选择“新建工具箱”,然后创建一个新的工具。在该工具中添加多个工具,包括“转换要素类”,“融合”,“删除重复要素”等。 接下来,我们需要设置参数。在“转换要素类”工具中,需要选择输入数据集和输出数据集,可以指定数据源类型、投影和字段映射。在“融合”工具中,需要选择输入要素和输出要素,以及执行融合属性。在“删除重复要素”工具中,需要选择输入要素和删除的属性。 一旦设置好参数,我们可以执行该批处理模型。该模型将会自动按照设定的参数执行融合操作,并输出结果。在输出结果中,可以看到融合后的图以及对应的属性。 总之,ArcGIS的批处理功能可以帮助我们自动化执行重复的数据处理任务,提高数据处理的效率和准确性。对于本问题,我们可以通过设置合适的参数,实现相邻且相同属性的图融合,并对属性取最大值,得到最终结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值