原则:

优先级从上到下:(以地理国情普查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中进行

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

  1. arcgis之合并碎小图斑到相邻大块图斑

    文章目录 计算面矢量面积 arcgis软件操作 计算面矢量面积 参考这篇博文. arcgis软件操作 利用Area字段,选中碎小图斑. 打开eliminate窗口. 融合结果可视化

  2. python的类属性和方法_Python中类属性、实例属性和实例方法的区别

    你似乎对概念有相当好的理解.很难找到用通用方式解释的信息,尤其是像python这样一种广泛使用的语言.我基本上会附和你的正确假设,并在此过程中做一些小的调整.在 类属性是将从类共享创建的所有对象的特征 ...

  3. python实例属性与类属性_Python中的类属性和实例属性引发的一个坑-续

    上篇文章Python 中的类属性和实例属性,我们探讨了类属性和实例属性引发的一个小坑.总结了类属性和实例属性的区别如下:类属性可以被类和实例调用,实例属性只能被实例调用 类属性不会随着实例的调用而改变 ...

  4. Arcgis融合相邻且某些属性相同的图斑且属性取面积最大的图斑操作流程

    下载资源参考: https://download.csdn.net/download/yilvyangguang520/25289311 https://download.csdn.net/downl ...

  5. 发布一个实体类属性生成小工具,给开发加点料

    做了很久的代码生成工具,基本上都是基于表生成实体类属性的,把数据库表的信息拿出来,然后之乎者也后生成一个标准的实体类,包含字段.属性.描述等东西. 是基于整个数据库生成整个框架代码的工具,如我的代码生 ...

  6. arcmap按图斑批量出图_ArcGIS实践教程(34)ArcGIS/ArcMap提取图斑转折点坐标(37)ArcGIS/ArcMap多个图层(要素类)的合并...

    (34)ArcGIS/ArcMap提取图斑转折点坐标 如果没有伪节点那么,选中一个线或者面,打开sketch Properties,就可以看到节点坐标. 还有一种方法就是:通过toolbox-data ...

  7. C#监控类属性的更改(大花猫动了哪些小玩具)

    C#监控类属性的更改(大花猫动了哪些小玩具) 实体类创建后在方法中对哪些属性赋值了,传递到底层方法时在底层如何得知哪些属性被赋值过.如何监控属性的更改,请看脑洞大开之<大花猫动了哪些小玩具> ...

  8. Arcgis 按图斑批量出图(按卫片图斑批量出图) 批量出JPG图(一个图斑一个jpg,一条数据一个jpg)

    Arcgis 按图斑批量出图(按卫片图斑批量出图) 批量出JPG图 主要功能:按图斑批量出图 实际应用案例:有一个卫片图斑层(1.2.3卫片图斑),按1 2 3每个图斑出一个JPG图 主要参考文档:h ...

  9. python支持保护类型_day14总结-内置类属性、私有化、保护及继承

    内置类属性 创建类的时候,系统默认为我们添加的类的属性 class Person: """人类""" number = 61 def __i ...

  10. python 类-Python 类属性和类方法

    仅用学习参考 目标类的结构 类属性和实例属性 类方法和静态方法 01. 类的结构 1.1 术语 -- 实例使用面向对象开发,第 1 步 是设计 类 使用 类名() 创建对象,创建对象 的动作有两步: ...

最新文章

  1. 单链表-删除单链表L中第一个值为x的结点(双指针法)
  2. hutool的定时任务不支持依赖注入怎么办_「架构」 - 定时任务 amp; Elastic-Job基本使用...
  3. Fragment 生命周期:
  4. JAVA确保垃圾回收后结束程序_Java垃圾回收机制(转)
  5. visio wps 流程图_科研必备:几款好用的流程图工具,助力你的论文/科研绘图
  6. sama5d3 环境检测 gpio--yk测试
  7. 准确性 敏感性 特异性_如何掌握类型特异性的艺术
  8. 微信暂停新用户注册标志一个时代的结束
  9. 32怎么将mcu内的代码擦除_凭借这款MCU产品,瑞萨电子竟然超越了ARM?
  10. 突发!Java首度“落泪”,愿永久祝福Python!网友:我也想哭!
  11. oracle字符串转日期比较大小写,【varchar】oracle中比较日期大小日期定义的是varchar2类型的......
  12. halcon修改程序框字体大小
  13. python 异步定时任务
  14. CFA一级知识点总结
  15. Upgraded Edition
  16. 互联网思维——用户思维
  17. 一起来扒一扒B站董事长陈睿的那些传奇经历
  18. 深度学习——卷积神经网络是否能编码位置信息?
  19. 任务调度:全网最全 xxl-job任务触发流程
  20. 全球500家最大公司及网址

热门文章

  1. 8086cpu物理寻址
  2. android 信号检测,卫星、手机信号都能测!安卓神器你值得拥有
  3. cad抠图 lisp_五个实用的AutoCAD的lisp程序
  4. 计算机Excel设置透视图,excel共享表格数据-EXCEL在共享模式中,如何让数据透视表能够自动刷新?...
  5. CHROME插件开发之·web页面与插件后台通信(chrome.runtime.sendMessage => chrome.runtime.onMessageExternal.addListener)
  6. Abaqus设置初始地应力场
  7. wsimport命令生成webService java客户端代码
  8. python开根号_python的开根号
  9. 梅花易数C语言实现(六十四卦卦辞用的是python)用了python
  10. 微商软文发布方法有哪些?文案怎么编辑?