ArcGIS小图斑根据相邻地类属性融合。
来源:互联网 发布:linux ramdisk 编辑:程序博客网 时间:2024/05/22 08:31
原则:
优先级从上到下:(以地理国情普查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获取相邻图斑属性
工具运行成功后,在输出的图层中新建两个文本字段,融合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面积的图层中进行融合处理
效果如下图:
然后将符合原则三的图斑load进入融合后的图层进行面积Eliminate消除
到这里图形的数据已经处理完了,可以看出 还是7668条数据,接下来要进行属性挂接
最后属性挂接
通过唯一码字段将原来的属性信息挂接到图形数据中。你可以在access或者arcmap中进行
- ArcGIS小图斑根据相邻地类属性融合。
- ArcGis融合小多边形到相邻多边形
- ArcGIS属性表根据字段条件赋值
- 科学地融合
- 【技术类】【ArcGIS对国产卫星的支持】篇4:ArcGIS中融合产品的生成
- ArcGIS教程:地统计分析
- 【技术类】【ArcGIS对国产卫星的支持】篇6:ArcGIS中Level1级正射融合影像的管理
- 如何根据一个规则表动态地在Form的初始化时设置控件的属性
- wpf学习-根据绑定数据有条件地改变元素的属性
- ArcGIS Server ADF开发:根据图层不同属性用不同图标定位兴趣点
- ArcGIS Server ADF开发:根据图层不同属性用不同图标定位兴趣点
- ArcGIS API for Silverlight之Web Mapping开发:根据图层属性查询
- C#开发ArcGIS Engine根据坐标提取对应区的属性(点选查询)
- ArcGIS教程:地统计工作流
- ArcGIS教程:什么是地统计?
- CSS选择器:属性选择器+后代选择器+子元素选择器+相邻兄弟选择器+伪类+伪元素
- ArcGIS 测距 添加相邻点之间的距离
- 根据手机号码查询归属地
- IE8语义化方法
- python 模拟登陆 找不到对应元素
- LINK1104 ERROR
- String.format参加字符串拼接大比拼
- JavaEE-SSH搭建出现错误笔记
- ArcGIS小图斑根据相邻地类属性融合。
- 好的开源项目
- mybatis全局配置文件SqlMapConfig.xml
- STL学习之vector与deque
- [干货最新]将自己库添加Cocoapods支持
- 关于赵桐正老师ThinkPHP的学习(1)
- 由简单推导复杂
- 跨域请求的几种方式
- java 工厂模式