利用ARCGIS进行地类计算与统计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

上图中红色是原先 SJ 层边界,淡绿填充层是相交后生成的 SJDL 层,可以看出 SJDL 实际上就是 07 地类界线将 SJ 层切开,或者 SJ 层界线将 07 地类切开,亦 即两者的公共部分保留。 (4)打开 SJDL 的图层属性,在字段对话框中保留【Refname】(社名)、 【DLDM】(地类代码)、【DLMC】(地类名称)和【Shape_Area】(面积)四 个字段(参见 2.2.1)。 (5)打开 SJDL 的属性表(参见 2.2.2) 属性表里面每一条记录对应 SJDL 中的一个面,表明了这块地所属的社、地类 名称和代码以及面积这些信息,比如说腊圃村村委这块地被 07 现状边界切成了 四块,对应前面四条记录。这个表是最基本的表,后面的数据都将由这个表整 理得出。 (6)导出属性表 在属性表界面中,右下角的【选项】菜单,【选项】→【导出】,打开导出表
利用 ARCGIS 进行地类计 算与统计
Prepared on 24 November 2020
地类计算与统计
一、 数据准备。
应用到的数据包括社界(DWG 文件)和所求年份的现状图(Shape 或
GeoDatabase)
DWG 文件的注记的插入点(Text 为左下角点)要落在对应的社界面上,
这样才能保证数据转换后注记和面层的一一对应。
二、 数据处理。
数据的处理主要包括数据的转换、点面属性连接、数据相交三个部分。
数据转换
2.1.1 建立数据集
(1)点击
打开 ArcCatalog 程序,找合适的路径然后【右键】→新
建→Personal Geodatabase:

(2)新建数据库后,【双击】进入数据库,【右键】→新建数据集→输入名称
外,其余使用默认设置,不用修改,直接【下一步】,直到【完成】:
▽ 添加注记和面层,然后点【确定】导入
▽ 2.1.3 检查修改面层的拓扑 !!面层可能存在裂缝和重叠错误,这样会带来计算面积的错误,因此要进行 拓扑的检查 (1) 数据集 aaa 中,【右键】→【新建】→【拓扑】 (2) 前面两步使用默认直接【下一步】,选择要素的时候勾选面层然后【下
一步】 ▽
使用默认等级,然后【下一步】 ▽
【编辑器】→【开始编辑】→用【选择工具】( 部分:
)选中重叠

【编辑器】→【裁切】(clip,可以将与选择部分有重叠的所有面擦除)

直接【确定】,对所有重叠部分重复以上步骤

在 ArcMap 工具栏位置【右键】→【拓扑】调出拓扑工具栏→【验证全部拓
扑】
重新验证拓扑看还有没有拓扑错误

修改完没有拓扑问题后,【编辑器】→【保存编辑】→【停止编辑】
点击工具栏的【ArcToolbox】按钮,打开 ArcToolbox 工具箱 ▽ ▽
按照【ArcToolbox】→【Analysis Tools】→【Overlay】→【Spatial Join】(空 间连接)
打开空间连接对话框 !!早期计算地类采用【Intersect】(相交)工具,一样可以得到结果且有助于 理解连接的过程,但操作相对复杂,应用【空间连接】工具操作比较简单,对 结果检查比较容易
▽ 添加字段后如上图所示
▽ 在 mu 字段上【右键】→【计算字段】,打开计算字段对话框
▽ 设置如上图所示,在等号下面输入 round([Shape_Area]*,3),亦即 mu= round([Shape_Area]*,3),其中[Shape_Area]*是根据[Shape_Area]字段的平方数计 算出亩数,round 函数用来对亩数保留三位小数。点击【确定】,进行计算。
红线面积 = 拓扑处理后的社界总面积 = 与现状图相交后的地类总面积 = 查询后 的地类总面积 计算过程会有系统差,但一般前后面积相差不到 1 个平方米,如果范围比较大 可以将误差适当放大,但是超过 10 个平方米则应当认为计算过程有错误,可以 分环节进行检查。 在 ARCGIS 中查看总面积: 打开面层的属性表,在属性表的面积字段(Shape_Area)【右键】→【统计】

输入数据集名称

坐标系统选 Unknown(未知),或者用【导入】选 DWG 文件的投影 ▽
容限使用默认即可,点击【完成】

2.1.2 将 DWG 数据导入数据集 !!首先必须确定 DWG 文件的路径没有中文名(D:\pssj\),否则导入会
一片空白 (1)【双击】进入数据集 aaa,【右键】→【导入】→【要素类(多个)】 (2)在【Input Features】中添加 DWG 文件的注记层(Annotation)和面层 (Polygon)
保留字段是保留有用的字段参与空间连接,去除不需要的字段,使结果简洁明
了。
打开相应图层的【属性】

切换到【字段】这一栏

对于注记层,点【全部清除】,然后勾选【Refname】,保留 Refname 字段 (存储社名的字段)
对于面层,点【全部清除】即可,不需要保留属性字段 2.2.2 进行空间相交运算
果。
!!重叠部分的挖空和缝隙的填补操作是比较常用的编辑方式。挖空用【裁
切】命令,填补缝隙则通过【修改要素】修改节点或者【自动完成多边形】完
成,在此不写具体的操作步骤。
点面属性连接
!!点面属性连接是根据点落在面内部的特性,通过空间连接运算,将点的属性
添加到面的属性里面。具体来说就是标注点(Annotation)的 Refname 字段存储
▽ 对话框中,【目标要素】下拉选择面层,【连接要素】下拉选择注记层,【输 出要素类】则自己选择路径并为输出的要素类命名(在此命名为 SJ)。其余使 用默认。点击【确定】
▽ ArcMap 自动加载空间连接生成的图层(SJ),打开其【属性表】
▽ 找到相应图层→【右键】→【打开属性表】

【Refname】存储社名,【Shape_Area】存储面积,【Join_Count】字段是空间 连接过程中自动生成的,表示连接到这个面的注记点的个数,如果为 0 则表示 这个面上没有点,如果为 2 或 3 则表示这个面上有 2 个或者 3 个点,这样就不 符合一一对应原则,要检查修改。由上图可知【Join_Count】全部为 1,点与面 一一对应,可以进行下一步运算。 !!到了这一步,社界面积就计算出来了,可以通过 Access 统计每个社的面 积。
【常规】→【地图】→【分米】(此选项可以控制标注的大小,一般选分米即 可)→【确定】 ▽
打开 SJ 层属性,在字段中只保留 Shape_Area 字段(参见地类计算与统计 2.2.1)
▽ 打开 SJ 层属性表,【选项】→【添加字段】(添加一个字段用来存储亩数)
▽ 如上图设置,然后【确认】 !!常用的字段类型包括 Text(文本型),用来存储文字;Short Integer 和 Long Integer(短、长整型),用来存储整数,只是长整型可存储位数更多; Float 和 Double(单、双精度型),用来存储小数,Double 型可存储更长位数。
▽ 计算结果如图所示,ArcGIS 的 double 类型默认将小数点前的 0 去掉,而 Cad 注 记则要把 0 显示出来(如亩)。在这里采取先导出 Excel 表将 0 显示,然后粘 贴到新建的 text 字段中的办法来解决。
了社名,要将社名这个属性添加到对应的社界面上。
2.2.1 添加数据,检查位置,保留字段
(1)在 ArcMap 中添加标注层(sj_dwg_Annotation)和面层
(sj_dwg_Polygon)
原 CAD 图
对应 ARCMAP 图
检查一下点的位置,确定每个面上对应唯一的注记点,排除异常情况。
(2)保留字段
添加拓扑规则,规则选择【不能重叠】和【不能有缝隙】,分两次添加,然后 【下一步】 ▽
点击【完成】,然后选【是】验证拓扑
▽ (3) 修改拓扑错误
打开 ArcMap,添加 aaa_Topology,即可看到拓扑检查结果(红色部分) 可以看出,面层存在重叠,不存在裂缝,修要修改重叠部分,采用挖空的方法

这个不修改,直接【下一步】 ▽
这里要勾选【第一行包含列标题】,然后【完成】。这里直接点击【完成】则 使用默认名为表名,如果想修改表名则点击【下一步】,然后再【完成】。
▽ 如上图所示,在数据库的表视图里可以看到导入的表(DLSJ)
▽ 双击表 DLSJ 可以查看导入内容是否正确。 (4)地类统计,合并相同地类的面积。 由上图可以看到,每个社都存在有同一地类有多块地的情况,如村委有两块 1110 的地,布尾社有多块 1310 的地。一般情况我们制表只需知道红线范围内 每个社每个地类有多少面积,所以要进行统计将同一个社的同一地类的所有地 块的面积加起来。 点击【查询】→双击【在设计视图中创建查询】
对话框 ▽
导出数据对话框中,【导出:】栏选 all records(所有数据),输出表里选路径 并命名 dbf 文件(这里命名为),然后【确定】
▽ 由上图可以看出,导出的 dbf 文件包含两个:dbf 后缀和 xml 后缀文件。dbf 后 缀文件存储所有数据;xml 是元数据文档,起说明作用,可以忽略。

拓扑错误已经消除,可以进行下一步操作
!!如果导入 DWG 文件的线层,然后用线层构面的话,可以省略掉拓扑检查
和修改这一步,操作会相对简单些。但拓扑检查是保证数据质量最常用的检查
方式,因此这里将这部分内容写上,大家可以对比一下两种方法,以达到一方
面简化操作步骤增加效率,一方面可以增加对拓扑的理解,保证数据质量的效

用 Excel【打开】dbf 后缀文件,【另存为】xls 文件()。至此,地类面积已经 求出并导出为 Excel 文件,后续统计以导出的 Excel 文件为基础。
三、 地类数据统计
(1)打开 Access(【开始】→【程序】→下图) (2)用 Access 打开 (3)上图中,点击【打开】后,会出现导入对话框
图层相交求地类面积
(1)在上节打开的 ArcMap 中添加 2007 年的现状地类 Shape 数据 (Geodatabase 数据也可,如果求 2008 年地类则添加 2008 年现状图,以此类 推) (2)由图上可以看出社界和现状图重叠在一起,相交运算是通过现状图的界线 将村界切开,并且把现状图的属性放到切开的小块社界中(可以参看 Intersect 工具的帮助) (3)打开相交工具对话框【ArcToolbox】→【Analysis Tools】→【Overlay】 →【Intersect】(相交) 在【输入要素】中下拉选择 SJ(社界)和 07MZDL(07 现状图),【输出要素 类】选择路径并输入名称(在此命名为 SJDL)。其余使用默认,点击【确定】 开始相交运算。运算完成后会自动将 SDDL 加载到 ArcMap 中。
▽ 添加要进行查询的表,选中 DLSJ 然后【添加】→【关闭】
Hale Waihona Puke Baidu
▽ 在查询对话框中,分别【双击】RefName、DLDM、DLMC 和 Shape_Area,添 加四个字段到查询字段中。
▽ 在字段栏内部【右键】→【总计】,调出【总计】选项
▽ ▽ 在【总计】选项中,除了 Shape_Area 对应栏选【总计】外,其余栏选【分 组】。其他选项不用修改 !!这个查询实际上是将同一个分组的相同项进行总计,首先是合并同一个社 的相同地类,然后合并同一地类的不同地块面积。 ▽ 选项设立好后,点击工具栏的【红色!号】(运行),则得到查询结果。 ▽ 查询结果是每个社的每个地类的总面积 ▽ 【点击】左上角(红色圈)全选数据,然后【右键】→【复制】,将复制的数据 粘贴到 Excel 表中,可以用于制作各种表格。 !!理解查询操作可以有助于各种面积的统计,比如说要统计红线范围内各个 地类的面积,则在查询字段里不选 RefName 字段即可,得到结果如下: !!整个地类计算过程中,要求前后面积一致,这样方能保证计算的过程不会 出错。一般要确保下面等式:
▽ 【总计】一项就是总的面积。在计算过程中多查看面积并进行对比可保证计算
过程的准确性。
ARCGIS 注记转化到 CAD
进行空间运算后的结果有时要导出为 CAD 文件,这里以导出社界亩数为例说 明如何将 ARCGIS 的面层及标注导出到 CAD 中去。
打开 ArcMap,添加社界层(SJ) ▽
【图层】→【右键】→【属性】,打开图层属性对话框 ▽
相关文档
最新文档