新浪博客

ArcGIS进行土地利用现状数据库面积量算研究

2011-03-30 16:01阅读:
一、实验数据结构
土地利用数据库常见的图层有地类图斑、线状地物、零星地物和行政区划四层数据,各层数据结构如下表:
数据层
字段名称
字段代码
字段类型
字段长度
小数位数
DLTB
地类图斑
标识码
ID
Int
10

地类编码
DLBM
Char
4

权属代码
QSDM
Char
12

地类面积
DLMJ
Float
15
2
线状地物面积
XZDWMJ
Float
15
2
零星地物面积
LXDWMJ
Float
15
2
计算面积
JSMJ
Float
15
2
XZDW
线状地物
标识码
ID
Int
10

地类编码
DLBM
Char
4

权属代码1
QSDM1
Char
12

权属代码2
QSDM2
Char
12

地类面积
DLMJ
Float
15
2
地物长度
DWCD
Float
15
1
地物宽度
DWKD
Float
15
1
扣除系数
KCXS
Float
5
1
LXDW
零星地物
标识码
ID
Int
10

地类编码
DLBM
Char
4

权属代码
QSDM
Char
12

地类面积
DLMJ
Float
15
2
XZQH
行政区划
标识码
ID
Int
10

权属代码
QSDM
Char
12


其中,DLTBXZDWLXDWDLBMXZDWDWKDLXDWDLMJ,以及XZQHQSDM都是已知属性数据,是在土地调查中直接输入的,其他数据均可通过数据分析得出的。
建立一个新的文档,添加四层数据,用Editor编辑生成如图所示的要素,输入已知属性数据,进行地图整饰后保存地图文档TDLYXZ.mxd
2010年1月17日 - 杰迪武士 - The Temple of JeDi
二、赋QSDM
ArcGIS主要运用ArcToolBox>AnalysisTools>Overlay>Identity这一工具实现赋QSDM
XZQHDLTB进行Identity
2010年1月17日 - 杰迪武士 - The Temple of JeDi
XZQHXZDW进行Identity注意选中“Keep Relationship
2010年1月17日 - 杰迪武士 - The Temple of JeDi
XZQHLXDW进行Identity
2010年1月17日 - 杰迪武士 - The Temple of JeDi
利用属性表中FieldCalculator功能给将Identity后的QSDM赋到原有QSDM中,并删除其他多余字段,保留原有属性结构。其中,因为某些XZDWXZQH分界线,所以有QSDM1QSDM2两个权属代码。
这样就完成了对DLTBXZDWLXDWQSDM赋值,接下来对DLTB_QSDMXZDW_QSDMLXDW_QSDM三层数据继续处理。
三、XZDWDLMJKCXS求取
1KCXS求取
这里我们先求取KCXS,因为有些XZDWDLTB分界线,而有些不是,所以当XZDWDLTB分界线时KCXS选取0.5,当XZDW是不是DLTB分界线时KCXS选取1.0KCXS的判别同样采用Identity这一工具来实现。
DLTB_QSDMXZDW_QSDM进行Identity注意选中“Keep Relationship
2010年1月17日 - 杰迪武士 - The Temple of JeDi
打开属性表对KCXS进行判断,对KCXS进行FieldCalculatorAdvanced运算:
2010年1月17日 - 杰迪武士 - The Temple of JeDi
代码为:
if [RIGHT_DLTB_QSDM] = [RIGHT_DLTB_QSDM_1] then
output=1
else
output=0.5
end if
即判断线段两侧的DLTB是否为同一图斑,若是则KCXS1,否则KCXS0.5
2DLMJ求取
在属性表中用FieldCalculatorSHAPE_LengthDWCD赋值,由DWCDDWKD的乘积向DLMJ赋值,这样就求取了DLMJ
新建字段KCMJ,数据类型为Float,赋值为DLMJKCXS的乘积,以备下一步使用。
删除其他多余字段,除KCMJ外保留原有属性结构。接下来对XZDW_QSDM_KCXS进行操作。
四、DLTBDLMJ求取
经过以上几步,XZDWLXDW的属性字段已经求取完毕,剩下DLTBDLMJ等字段没有求取,接下来要运用ArcToolBox>AnalysisTools>Overlay>SpatialJoin这一工具来实现。
XZDW_QSDM_KCXSSpatialJoinDLTB_QSDM中:
2010年1月17日 - 杰迪武士 - The Temple of JeDi
2010年1月17日 - 杰迪武士 - The Temple of JeDi
其中要注意三点
1、在FieldMapofJoinFeatures中删除SHAPE_Area后不需要的字段。
2、在FieldMapofJoinFeatures中删除XZDWMJ原有字段,替换成XZDW_QSDM_KCXSKCMJ字段,右击XZDWMJ点击Properties,在OutputFieldPropertiesMergeRule中选择Sum
3MatchOption选择CONTAINS
这一步生成了DLTB_QSDM_SJXZDW
同上将LXDW_QSDMSpatialJoinDLTB_QSDM中:
2010年1月17日 - 杰迪武士 - The Temple of JeDi
其中也要注意“CONTAINS”和“SUM”这两个参数的选择。
这一步生成了DLTB_QSDM_SJXZDW_SJLXDW
在属性表中利用FieldCalculatorSHAPE_AreaJSMJ赋值,由JSMJXZDWMJLXDMJ的差向DLMJ赋值,这样就求取了DLMJ
删除其他多余字段,保留原有属性结构。
通过上面的操作,我们填写完成了DLTBXZDWLXDW所有的属性数据,生成最终文件为DLTB_QSDM_SJXZDW_SJLXDWXZDW_QSDM_KCXSLXDW_QSDM三个,已经基本大功告成!
2010年1月17日 - 杰迪武士 - The Temple of JeDi
五、各XZQHDLMJ汇总
最终,我们要生成各行政单位各地类的一个汇总表,这一步我们无法ArcGIS中完成,需要借助Excel数据透视功能
1、将最总生成的三个数据层导出dbf属性表。
2DLTBLXDW的属性表只保留DLBMQSDMDLMJ三个属性,而XZDW要保留DLBM、两个QSDMKCMJ
3、对XZDW的属性表进行单独处理,将两个QSDM排成一列,并补充对应的DLBMKCMJ
4、将DLTBXZDWLXDW处理好的属性表合并到一个Excel表格文件中。
5、运用数据透视功能,最终完成了DLMJ的汇总工作!

后记:
通过上面的操作基本可以达到不用专业的土地利用现状数据库软件而完成面积统计的工作,但是同样有一些缺陷,比如说没有考虑到区域总面积的控制,这一点可以在JSMJ中给各个图斑按比例进行核减,然后再进行DLTB面积的计算就可以达到目的。此外,耕地的田坎扣除也没有考虑,这需要制作坡度分级图等一系列的操作,在今后将进一步完善!

我的更多文章

下载客户端阅读体验更佳

APP专享