面朝大海,春暖花开

作者:xiaokcehui2018-12-14 5:41分类: GIS使用 标签: ArcMap 合并字段 Join

ArcMap在围填海项目中的典型使用:图斑占用自然岸线的统计

1、将图斑与自然岸线做相交运算

Analysis Tools\Overlay\Inersect

2、1个图斑可能与自然岸线多次相交,需要合并,这里有两个办法:

(1)利用ArcGIS

http://blog.sina.com.cn/s/blog_62b0de6c01014df3.html 在arcgis中,将属性相同且相邻的地块合并的文章里有怎么合并属性相同的记录,并统计某字段的信息

用 Arctoolbox\Data Management Tools\Generalization\dissolve 工具。

dissolve field 项选 合并字段。如果其他字段也想带到结果的话,可以在statistics field里选一下,设置好规则。

下面有个 create multipart features选项。勾选的话,合并属性相同但位置不相邻的也会合并。

在此将属性相同且相邻的地块合并,create multipart features选项,这项不勾选。

点击查看原图

 

(2)将图层输出到Excel,使用VBA

'合并重叠列
Sub abc()
Dim i As Long, k As Long
Dim j As Long, m As Long
Dim sum As Double
Dim t As Long
Dim end1 As Long, rows As Long
end1 = 105'统计列
rows = 85'合并列
'重叠列,需要排序
t = 2

k = 1
i = 1
Do
   
   
    If i < 2 Then
       For m = 1 To end1
       Sheet2.Cells(k, m) = Sheet1.Cells(i, m)
       Next
       i = i + 1
    Else
        j = i
        Do
            If Abs(j - i) < 0.01 Then
            sum = Sheet1.Cells(i, end1)
            Else
            sum = sum + Sheet1.Cells(j, end1)
            End If
            j = j + 1
            '重叠列
        Loop While Abs(Sheet1.Cells(j, t) - Sheet1.Cells(i, t)) < 0.01
    
       For m = 1 To end1 - 1
       Sheet2.Cells(k, m) = Sheet1.Cells(i, m)
       Next
      
       Sheet2.Cells(k, end1) = sum
       i = j
    End If
   k = k + 1
  
Loop While i < rows + 1

MsgBox "成功"
End Sub

3、将自然岸线占用统计信息链接到图斑,Join

4、将链接自然岸线信息的图斑图层输出Excel,编辑提交

 

温馨提示如有转载或引用以上内容之必要,敬请将本文链接作为出处标注,谢谢合作!

已有 0/1982 人参与

发表评论:

欢迎使用手机扫描访问本站,还可以关注微信哦~