当前位置:首页 >> 电力/水利 >>

ArcGis第3章空间数据的采集与组织


第三章 空间数据的采集与组织
数据采集是将现有的地图、外业观测成果、航空相片、遥感图像、文本资料等转成计 算机可以处理与接收的数字形式。数据采集分为属性数据采集和图形数据采集。对于属性 数据的采集经常是通过键盘直接输入;图形数据的采集实际上就是图形数字化的过程。数 据采集过程中难免会存在错误,所以,对图形数据和属性数据进行一定的检查、编辑是很 有必要的。 数据采集后如何将其组织在数据库中,以反映客观事物及其联系,这是数据模型要解 决的问题。GIS 就是根据地理数据模型实现在计算机上存储、组织、处理、表示地理数据 的。数据模型组织的好坏,直接影响到 GIS 系统的性能。 ArcGIS9 中主要有 Shapefile、Coverage 和 Geodatabase 三种文件格式。Shapefile 由存 储空间数据的 shape 文件、 存储空间数据的 dBase 表和存储空间数据与属性数据关系的.shx 文件组成;Coverage 的空间数据存储在二进制文件中,属性数据和拓扑数据存储在 INFO 表中,目录合并了二进制文件和 INFO 表,成为 Coverage 要素类;Geodatabase 是 ArcGIS 数据模型发展的第三代产物,它是面向对象的数据模型,能够表示要素的自然行为和要素 之间的关系。 本章在介绍创建 Shapefile、 Coverage 的基础上, 重点讲解了 Geodatabase 的创建过程, 并介绍了如何对空间数据进行编辑。在本章最后,提供了两个实例,供读者练习,以便更 好的掌握 GeoDatabase 数据库技术。

3.1 shapefile 文件创建
3.1.1 创建新 Shapefile 和 dBASE 表
ArcCatalog 可以创建新的 shapefile 和 dBASE 表,并通过添加、删除和索引属性来修 改它们,也可以定义 shapefile 的坐标系统和更新其空间索引。当在 ArcCatalog 中改变 shapefile 的结构和特性(properties)时,必须使用 ArcMap 来修改其要素和属性。 1. 创建新的 Shapefile 当创建一个新的 shapefile 时,必须定义它将包含的要素类型,Shapefile 创建之后, 这个类型不能被修改。如果选择了以后定义 shapefile 的坐标系统,那么直到被定义前,它 将被定义为“Unkown” 。 创建一个新的 shapefile 文件的具体过程如下: (1) 在 ArcCatalog 目录树中,右键单击需要创建 Shapefile 的文件夹,单击 New,再单 击 Shapefile,如图 3.1 所示。
1

(2) 打开 Create New Shapefile 对话框,设置文件名称和要素类型。要素类型可以通过下 拉菜单选择 Polyline、 Polygon、 MultiPoint、 MultiPatch 等要素类型。如图 3.2 所 示。

图 3.1 创建 Shapefile

图 3.2 Create New Shapefile 对话框

(3) 单击 Edit 按钮,定义 Shapefile 的坐标系统, 打开 Spatial Reference 对话框,如图 3.3 所示。 (4) 单击 Select 按钮, 可以选择一种预定义的坐标 系统;单击 Import 按钮,可以选择想要复制 其坐标系统的数据源;单击 New 按钮,可以 定义一个新的、自定义的坐标系统(具体介绍 见第四章) 。 (5) 如果 Shapefile 要存储表示路线的折线,那么 要复选 Coordinates will contain M Values, 如果 Shapefile 将存储三维要素,那么要复选 Coordinates will contain Z Values。 (6) 单击 OK 按钮,新的 Shapefile 在文件夹中出 现。 2. 创建新的 dBASE 表 在 Catalog 目录数中,右键单击需要创建 dBASE 表的文件夹,单击 New,再单击 dBASE 表,为其输 入一个名称,并按回车键。

图 3.3 Spatial Reference 对话框

2

3.1.2 添加和删除属性
在 ArcCatalog 中,可通过添加、删除属性项来修改 Shapefile 和 dBASE 的结构。可 以添加新的具有合适名称和数据类型的属性项,属性项的名称长度不得超过 10 个字符, 多余的字符将被自动截去。Shapefile 文件的 FID 和 Shape 列以及 dBASE 表的 OID 列不能 删除。OID 列是 ArcGIS 在访问 dBASE 表内容时生成的一个虚拟属性项,它保证了表中每个 纪录至少有一个唯一的值。Shapefile 文件和 dBASE 表除 FID、Shape 和 OID 列以外,至少 还要有一个属性项,该属性项是可以删除的。在添加属性项之后,必须启动 ArcMap 的编 辑功能才能定义这些属性项的数值。 1. 在 ArcCatalog 目录树中,右键单击需要添加属性的 Shapefile 或 dBASE 表,单击 Properties,如图 3.4 所示。 2. 打开 Shapefile Properties 对话框, 单击 Fields 标签, 如图 3.5 所示。 Filed Name 在 列中,输入新属性项的名称,在 Dtat Type 列中选择新属性项的数据类型。在下方的 Field Properties 选项卡显示了所选数据类型的特性参数,可在其中输入合适的数 据类型参数。

图 3.4 Shapefile 属性项添加

图 3.5 Shapefile Properties 对话框

单击确定按钮,完成属性项的添加。 在上述 Shapefile Properties 对话框中, 选中需要删除的属性项, 在键盘上按 Delete 键,删除所选属性项,单击确定按钮,完成属性项删除。 3.

3

3.1.3 创建和更新索引
可以向 Shapefile 和 dBASE 表添加属性索引,索引可以帮助提高评价(evaluate)属性 值的查询功能。当属性列中的数据改变后,ArcCatalog 创建的索引会自动更新。除了添加 属性索引外,还可添加、更新、删除 Shapefile 的空间索引,并且当在 Shapefile 中添加或 删除一个地理要素时, 其空间索引将会随之自 动更新。有时可能需要手工更新某 Shapefile 的空间索引,这时除更新了空间索引外,也同 时更新了其范围信息。 1. 创建和删除属性索引 在上述 Shapefile Properties 对话框中, 单击 Indexes 标签,进入 Indexes 栏,如图 3.6 所示。选中要建立索引的属性,删除此索 引只要取消属性的选中即可。 2. 创建、删除、更新空间索引 在 上 述 Shapefile Properties 对 话框 (Indexes 选项卡)中,如果 Shapefile 还没 有空间索引,在 Spatial Index 选项组中单击 Add 按钮创建空间索引,如果需要删除已有的 空间索引,单击 Delete 按钮。单击 Update 按 钮,可以更新空间索引。

图 3.6

Shapefile Properties 对话框

3.2 Coverage 文件创建
3.2.1 创建新的 Coverage 和 INFO 表
1. 创建新的 Coverage (1) 在 ArcCatalog 目录树中,右键单击需要创建 Coverage 的文件夹,单击 New,再单击 Coverage。 (2) 打开 New Coverage 对话框,为新的 Coverage 输入一个名字,选中使用另一个 Cove 作为模板的复选框,并单击 Browse 按钮,选择想作为模板使用的 Coverage,如图 3.7 所示。

4

(3) 单击 Next 按钮,打开定义投影对话框,如图 3.8 所示。单击 Define 按钮,定义或修 改新建 Coverage 的坐标系统。

图 3.7

New Coverage 对话框

图 3.8

New Coverage 对话框(定义投影)

(4) 单击 Next 按钮,在下拉式菜单中选择将有 拓扑的要素类,如果想创建一单精度的 Coverage,单击 Single 按钮。双精度是默认 选项,如图 3.9 所示。 (5) 单击 Finish 按钮,新的 Coverage 出 现在 Catalog 中。 2. 创建新的 INFO 表 (1) 在 ArcCatalog 目录树中,右键单击需 要新建 INFO 表的文件夹,单击 New,再单 击 INFO 表。 图 3.9 New Coverage 对话框(确定要素类) (2) 打开 Define INFO Table 对话框,如图 3.10 所示。为新数据输入一个名字。在 Item definition 选项组的 Item type 列中, 选择表格第一数据列的数据类型, 根据所选数据类型,分别输入列的 字段名(Item name) 、列宽(Item width) 、显示宽(Display width) 、 。 小数点位数(Decimal places) (3) 单击 New item 按钮,添加另一数 据列字段并对数据列参数进行定 义,直至添加了所有的数据列。 图 3.10 Define INFO Table 对话框 (4) 如果要删除或修改某列,可以使用 Item number 后的箭头,浏览到该列后,单击 Remove item 按钮或进行修改。 (5) 单击 OK 按钮,新建的 INFO 表出现在 Catalog 中。
5

3.2.2 建立拓扑
Build 与 Clean 都是建立拓扑的方法。 Build 在确定 Coverage 的同时,需要选择建立拓扑关系的空间要素类型。Bulid 后的 Coverage 仍保持原来属性表中的数据项,但不保留关联特性。 Clean 依据一定的容限值,建立多边形和弧段结点的拓扑关系,可以完成一些 Build 无法完成的工作。 1. 在 ArcCatalog 目录树中,右键单击需要建立拓扑关系的 Coverage,单击 Properties 命 令, 打开 Coverage Properties 对话框, 进入 General 选项卡, 如图 3.11 所示。 Feature 在 classes 中,选择需要建立拓扑关系的地理要素类。 2. 单击 Build 按钮,打开 Build 对话框,如图 3.12 所示。根据需要,改变建立拓扑关系 的 Feature class 或者 Anno subclass。单击 OK 按钮,完成 Coverage 拓扑关系建立。 3. 或单击 Clean 按钮, 打开 Clean 对话框, 如图 3.13 所示。 根据具体情况, 输入模糊 (Fuzzy) 及悬挂(Dangle)容限值,根据需要,选中 Clean lines only 复选框。单击 OK 按钮, 完成 Coverage 拓扑关系建立。

图 3.12

Build 对话框

图 3.11 Coverage Properties 对话框

图 3.13

Clean 对话框

3.2.3 定义 Coverage 的坐标系统
1. 在 ArcCatalog 目录树中,右键单击需要定义坐标系统的 Coverage,单击 Properties 命 令,打开 Coverage Properties 对话框,进入 Projection 选项卡,显示 Coverage 坐标系 统及投影参数信息,如图 3.14 所示。 如果 Coverage 还没有定义坐标系统,可以单击 Define 按钮,打开 Define Projection Wizard 对话框,如图 3.15 所示;当 Coverage 已经定义了坐标系统,也可以在 Define
6

2.

Projection Wizard 对话框中改变现有的坐标系统。

图 3.14 Coverage Properties 对话框

图 3.15 Define Projection Wizard 对话框

3. 4.

当选择第一个单选按钮时表示交互定义 Coverage 坐标系统,单击 Next,在 Projection 列表中选择投影类型,如图 3.16 所示。单击 Next,确定各项投影参数。 当选择第二个单选按钮时表示为 Coverage 匹配一个坐标系统,单击 Next,确定想使 用其坐标系统的 Coverage、Grid 或 TIN。如图 3.17 所示。

图 3.16 选择投影类型

图 3.17 选择要匹配坐标系统的数据

1.

返回 Coverage Properties 对话框(Projection) ,单击确定按钮。

3.2.4 Coverage 维护操作
对于原有的 Coverage,维护操作包括修改 Coverage 的控制点和范围、设置 Coverage

7

的容限、添加、修改、删除属性项、添加和去除索引、创建 Coverage 的关系类等。 1. 修改 Coverage 的控制点和范围 所有 Coverage 都有一套坐标控制点(Tic)和一个范围(Extent) 。 (1) 在 Catalog 目录树中,右键单击需要编辑 Tic 点的 Coverage,单击 Properties 命令, 打开 Coverage Properties 对话框,进入 Tics and Extent 选项卡,如图 3.18 所示。 (2) 通过 Add 按钮、Delete 按钮和 Update 按钮对 Tic 点进行添加、删除和更新。 (3) 单击 Extent 框中的 Fit 按钮,可以进行范围的重新计算;单击 Extent 框中需要修改 其范围值的文本框,并输入新的范围值,可以进行范围的修改。 (4) 单击确定按钮。 2. 设置 Coverage 的容限 很多针对 Coverage 的操作都要使用容限值(Tolerances) ,例如当用户在数字化或编辑 时打开结点捕捉(Node Snapping) ,位于一定距离内的两个结点就会自动合并在一起,这 个特定距离就是结点捕捉的容限值。如果地理要素的坐标单位是数字化仪的单位,那么容 限值的单位一般是英寸(Inches) ,如果地理要素是投影后的地理要素,容限值的单位一般 。 是英寸(Inches)或米(Meters) 进入上述 Coverage Properties 对话框,并进入 Tolerances 选项卡,如图 3.19 所示。在 各个容限值文本框中输入新的容限值,最后单击确定按钮。

图 3.18 Coverage Properties 对话框 (Tics and Extent 选项卡)

图 3.19 Coverage Properties 对话框 (Tolerances 选项卡)

3. Coverage 属性项维护 (1) 在 ArcCatalog 目录数中,右键单击需要添加新属性的 Coverage 要素类或 INFO 表, 单击 Properties 命令,打开 Coverage Feature Class Properties 对话框,进入 Items 选项 卡,如图 3.20 所示。 (2) 通过 Add 按钮、Delete 按钮、Edit 按钮、Add Index 按钮、Delete Index 按钮可以完 成属性项的添加、删除、修改、和索引的添加与去除。 (3) 单击确定按钮。
8

图 3.20 Coverage Feature Class Properties 对话框

4.

创建 Coverage 的关系类 一个 Coverage 的要素经常和其他 Coverage 的要素或独立数据表中的属性相联系。在 ArcCatalog 中通过创建关系来定义这些联系,它们储存在关系类中。通过关系,可以定义 要素类属性数据表的哪列和其他数据表的哪列共享相同的值。 创建 Coverage 的关系类与后面 3.3.6 中建立关系类相似,具体的介绍见 3.3.6。

3.3 Geodatabase 数据库创建
3.3.1 Geodatabase 概述
地理数据库(Geodatabase)是为了更好的管理和使用地理要素数据,而按照一定的模 型和规则组合起来的存储空间数据和属性数据的容器。地理数据库是按照层次型的数据对 象来组织地理数据的, 这些数据对象包括对象类 (Object Classes) 要素类 、 (Feature Classes) 和要素数据集(feature dataset) 。 对象类是指存储非空间数据的表格(Table) 。在 Geodatabase 中,对象类是一种特殊的 类,它没有空间特征,如:某块地的主人。在“地块”和“主人”之间,可以定义某种关系。 要素类是具有相同几何类型和属性的要素的集合,即同类空间要素的集合。如河流、 道路、植被、用地、电缆等。要素类之间可以独立存在,也可具有某种关系。当不同的要 素类之间存在关系时,我们将其组织到一个要素数据集(Feature dataset)中。
9

要素数据集是共享空间参考系统的要素类的集合,即一组具有相同空间参考的要素类 的集合。将不同的要素类放到一个要素数据集下的理由可能很多,但一般而言,在以下三 种情况下,我们考虑将不同的要素类组织到一个要素数据集中: (1) 当不同的要素类属于同一范畴。如:全国范围内某种比例尺的水系数据,其点、线、 面类型的要素类可组织为同一个要素数据集。 (2) 在同一几何网络中充当连接点和边的各种要素类,必须组织到同一要素数据集中。 如:配电网络中,有各种开关、变压器、电缆等,它们分别对应点或线类型的要素 类,在配电网络建模时,应将其全部考虑到配电网络对应的几何网络模型中去。此 时,这些要素类就必须放在同一要素数据集下。 (3) 对于共享公共几何特征的要素类,如:用地、水系、行政区界等。当移动其中的一 个要素时,其公共的部分也要求一起移动,并保持这种公共边关系不变。此种情况 下,也要将这些要素类放到同一个要素数据集中。 对象类、要素类和要素数据集是 Geodatabase 中的基本组成项。当在数据库中创建了 这些项目后,可以向数据库中加载数据,并进一步定义数据库,如建立索引、创建拓扑关 系、创建子类、几何网络类、注释类、关系类等。Geodatabase 的数据组织如图 3.21 所示。
地理数据库

Geodatabase

对象类 Object Classes

要素类 Feature Classes 要素数据集 Feature Datasetes

关系类 Relationship Classes

表格

Table

要素 Feature

关系

Relationship

要素类 Feature Classes

几何网络 Geometric Network

关系类 Relationshap Classes

要素 Feature

网络要素 Network Feature

关系

Relationship

图 3.21

Geodatabase 的数据组织

10

3.3.2 地理数据库建立的一般过程
建立地理数据库的第一步,是设计地理数据库将要包含的地理要素类、要素数据集、 非空间对象表、几何网络类、关系类以及空间参考系统等;地理数据库的设计完成之后, 可以利用 ArcCatalog 开始建立数据库:首先建立空的地理数据库,然后建立其组成项,包 括建立关系表、要素类、要素数据集等;最后向地理数据库各项加载数据。 当在关系表和要素类中加入数据后,可以在适当的字段上建立索引,以便提高查询效 率。建立了地理数据库的关系表、要素类和要素数据集后,可以进一步建立更高级的项, 例如空间要素的几何网络、空间要素或非空间要素类之间的关系类等。 1. 地理数据库设计 地理数据库的设计是一个重要的过程,应该根据项目的需要进行规划和反复设计。在 设计一个地理数据库之前,必须考虑以下几个问题:在数据库中存储什么数据、数据存储 采用什么投影、是否需要建立数据的修改规则、如何组织对象类和子类、是否需要在不同 类型对象间维护特殊的关系、数据库中是否包含网络、数据库是否存储定制对象。回答了 上述问题后,就可以开始地理数据库的建立了。 2. 地理数据库建立 借助 ArcGIS9 的 ArcCatalog,可以采用以下三种方法来创建一个新的地理数据库,选 择何种方法将取决于建立地理数据库的数据源、是否在地理数据库中存放定制对象。实际 操作中,经常联合几种或全部方法来创建地理数据库。 (1) 从头开始建立一个新的地理数据库 有些情况下,可能没有任何可装载的数据,或者已经有的数据只能部分地满足数据库 设计,这时,可以用 ArcCatalog 来建立新的要素数据集、表、几何网络和其他地理数据库 项的模式。 (2) 移植已经存在数据到地理数据库 对于已经存在的多种格式的数据:Shapefile、Coverage、INFO Table、dBASE Tables 等,以及其它系统中的数据格式: ArcStrom、Map LIBARISN、ArcSED 等,可以通过 ArcCatalog 来转换并输入到地理数据库中,并进一步定义数据库,包括建立几何网络 (Geometric Networks) 、子类型(Subtypes) 、属性域(Attribute Domains)等。 (3) 用 CASE 工具建立地理数据库 可以用 CASE 工具建立新的定制对象,或从 UML 图中产生地理数据库模式。面向对 象的设计工具可以用于建立对象模型、表示定制对象。基于这些模型,CASE 工具的代码 产生向导(Code Generation Wizard)帮助您建立 COM 对象,以实现定制对象的行为,建 立和管理定制对象的数据库模式。 本节着重介绍建立本地个人地理数据库的一般过程和方法,有关 CASE 工具建立地理 数据库的部分及 ArcSDE 等内容省略。 3. 建立空的数据库中的基本组成项 一个空的地理数据库,其基本组成项包括关系表、要素类、要素数据集。当数据库中
11

建立了以上三项,并加载了数据之后,一个简单的地理数据库就建成了。 4. 向地理数据库各项加载数据 可以用 ArcMap 中的 Editor 工具栏来建立新的对象,或调用已经存在的 Shapefiles, Coverages,INFO Tables 和 dBaseTables 数据来装载数据库对象。 5. 进一步定义数据库 对于数据库中加载的数据,可以在适当的字段上建立索引,以便提高查询效率。并可 以在建立了数据库的基本组成项后,进一步建立更高级的项,例如空间要素的几何网络、 空间要素或非空间要素类之间的关系类等。一个地理数据库只有定义了这些高级项后,才 能显出地理数据库在数据组织和应用上的强大优势。

3.3.3 创建一个新的地理数据库
借 助 ArcCatalog 可 以 建 立 两 种 地 理 数 据 库 : 本 地 个 人 地 理 数 据 库 ( Personal Geodatabase) ArcSDE 地理数据库。 和 个人地理数据库可以直接在 ArcCatalog 环境中建立, 而 ArcSDE 地理数据库必须首先在 网络服务器上安装数据库管理系统 (DBMS)和 ArcSDE,然后建立从 ArcCatalog 到 ArcSDE 地理数据库的 一个连接。 以建立本地个人地理数据库为 例: 在 ArcCatalog 树中选择一个文 件夹,单击 File 菜单,或在选中的 文件夹上点右键,选择 New,再选 择 Personal Geodatabase,如图 3.22 图 3.22 建立本地个人地理数据库 所示。输入个人数据库的名称,这 时该数据库是空的。

3.3.4 建立数据库中的基本组成项
Geodatabase 中的基本组成项包括对象类、 要素类和要素数据集。 当在数据库中创建了 这些项目后,可以创建更进一步的项目,如子类、几何网络类、注释类等。 1. 建立要素数据集 建立一个新的要素数据集,必须定义其空间参考,包括坐标系统和坐标域。数据集中 的所有要素类用相同的坐标系统,所有要素类的所有要素坐标必须在域的范围内。在定义 坐标系统时,可以选择预先定义的坐标系,或者以已有的要素数据集的坐标系或独立要素

12

类的坐标系作为模板,或者自己定义。 (1) 在 ArcCatalog 目录树中,在需要建立新要素数据集的地理数据库上单击右键,单击 New,选择 Feature Dataset 命令,打开 New Feature Dataset 对话框,如图 3.23 所示。 (2) 在 Name 窗口输入要素数据集名称,单击 Edit 按钮,打开 Spatial Reference 属性对话 框,如图 3.24 所示。 (3) 进入 Coordinate System 选项卡, 单击 Select 或 Import 来设置要素数据集的空间参考。

图 3.23

New Feature Dataset 对话框

图 3.24

Spatial Reference 属性对话框

或单击 New 来自己定义新的地理坐标系统或投影坐标系统。定义好坐标系统后,可 以单击 Modify 按钮,编辑所选择的坐标系统参数。 (4) 进入 X/Y Domain 选项卡,如图 3.25 所 示。在数值窗口分别输入数据集的最大 最小 X,Y 值及所需精度。 (5) 进入 Z Domain 选项卡, 如果要素数据集 中的要素类有 Z 值,输入最大最小的 Z 值及所需精度。 (6) 进入 M Domain 选项卡,如果要素数据 集中的要素类有 M 值, 输入最大最小的 M 值及所需精度。 (7) 单击确定按钮即可完成要素数据集的空 间参考的定义。 2. 建立要素类 要素类分为简单要素类和独立要素类。 简
13 图 3.25 Spatial Reference 属性对话框 (X/Y Domain 选项卡)

单要素类存放在要素数据集中,不需要定义空间参考,要素类将使用要素数据集的坐标; 独立要素类存放在数据库中的要素数据集之外,必须定义空间参考坐标。 (1) 建立一个简单要素类 1) 在 ArcCatalog 目录树中, 在需要建立要素类的要素数据集上单击右键, 单击 New, 选择 Feature Class 命令,如图 3.26 所示。

图 3.26 在要素数据集中建立要素类

2) 打开 New Feature Class 对话框,如图 3.27 所示。在 Name 文本框中输入要素类名 称,在 Alias 文本框中输入要素类假名,假名是对真名的描述。在 Type 选项组选 择 This feature class will store ESRI simple features 单选按钮。 3) 单击下一步按钮,打开确定要素类数据库关键字对话框,如图 3.28 所示。选择 Use configuration keyword 单选按钮,输入关键字,这是为新表或要素类指定相关 的数据库存储参数(如果想用默认的要素类存储参数,单击 Default) 。

14 图 3.27 New Feature Class 对话框 图 3.28 确定要素类数据库关键字对话框

4) 单击下一步按钮, 打开确定要素类字段名及其类型与属性对话框, 如图 3.29 所示。 在简单要素类中,OBJECTID 和 SHAPE 字段是必需字段,OBJECTID 是要素的 ID,SHAPE 是要素的几何形状,如点、线、多边形等。 5) 单击 Field Name 列下面的第一个空白行,添加新字段,输入新字段名,并选取数 据类型。 6) 在 Field Properties 栏中显示字段属性:新字段名的假名、字段在 ArcMap Editor 中的可编辑状态、新字段中是否允许出现空值 Null; Default Value 右边输入默 在 认值,建立默认值与字段的关联关系;在 Domain 右边,单击字段的域,把一个 域同字段关联。 7) 单击 Field Name 列下的字段 SHAPE,在 Field Properties 选项卡显示几何字段 SHAPE 的属性特征。如图 3.30 所示。

图 3.29

确定要素类字段名及其类型与属性

图 3.30 定义要素类几何字段属性

8) 在 Field Properties 栏中输入几何字段假名,并在 Allow NULL values 中选择 No, 几何字段中禁止出现空值 Null,在 Geometry Type 中选择该要素类中存储的要素 类型。 9) 分别在 Grid1,Grid2,Grid3 右边输入几何要素类的空间索引格网大小(Grid1 必 须大于 0,Grid2 和 Grid3 可以是 0) 。 10) 在 Contains Z Values 右边选择 Yes,让这个要素类的几何字段存储 Z 值。在 Contains M Values 右边选择 Yes,让这个要素类的几何字段存储 M 值。 11) 因为正在要素数据集中建立要素类,所以不能修改空间参考。 12) 单击完成按钮,即可完成几何字段属性的定义,建立一个简单要素类。 (2) 建立一个独立要素类
15

独立要素类就是在地理数据库中不属于任何要素数据集的要素类,其建立方法与在要 素数据集中建立简单要素类相似。只是独立要素类需要建立自己的空间参考坐标系统,并 设定自己的投影系统参数和 X/Y 域。 1) 在 ArcCatalog 目录树中,在需要建立独立要素类的地理数据库上单击右键,单击 New,选择 Feature Class 命令。 2) 其余过程与建立简单要素类相同,直到进入定义要素类几何字段属性对话框,参 见图 3.30。单击 Spatial Reference 属性按钮,打开 Spatial Reference 属性对话框, 即可建立自己的空间参考坐标系统和 X/Y 域。 3) 单击完成按钮。 3. 建立关系表 (1) 在 ArcCatalog 目录树中,右键单击需要建立关系表的地理数据库,单击 New,选择 Tabel 命令,如图 3.31 所示。 (2) 打开 New Tabel 对话框,如图 3.32 所示。在 Name 文本框中输入表名,在 Alias 文本 框中输入表的假名。 Type 选项组选择 This table will store ESRI simple objects 按钮。 在

图 3.31 建立关系表

图 3.32 New Table 对话框

(3) 单击下一步按钮,打开数据库存储的关键字配置对话框,如图 3.33 所示。选择 Use configuration keyword 单选按钮,输入关键字(对于建立一个使用指定存储关键字的 。 表如此操作) (4) 单击下一步按钮,打开属性字段编辑对话框,如图 3.34 所示。在该对话框中为新表 添加属性字段、选择数据类型,并在 Field Properties 栏中输入属性字段的假名、设 置属性字段的内容是否可以在 ArcMap Editor 中编辑修改等, 这与给要素类添加属性 字段相似。
16

(5) 单击完成按钮,完成新表的建立与属性字段的定义。

图 3.33 数据库存储的关键字配置对话框

图 3.34

属性字段编辑对话框

3.3.5 向地理数据库加载数据
地理数据库中支持 Shapefile、Coverage、INFO 表和 dBASE 表,如果已有数据不是上 述几种格式,可以用 ArcToolbox 中的工具进行数据格式的转换,再加载到地理数据库中。 1. 导入数据 当导入已有的 Shapefile 和 Coverage 到地理数据库时,就会在数据库中建立一个新的 独立要素类, 或建立一个新的要素 数据集和要素类, 或建立一个已经 存在的要素数据集中的一个要素 类, 对于前两种情况, 必须定义空 间参考。 如果 Shapefile 和 Coverage 包含有定义的投影, 导入工具将自 动建立一个同样投影的新要素类, 除非指定其他投影。 如果导入数据 时选择用不同于源数据的投影, 要

17 图 3.35 导入 Shapefile

素将被自动投影变换。 (1) 导入 Shapefile 可将 Shapefile 导入到地理数据库新的或已有的要素数据集中, 或导入到数据库独立的 要素类中。 1) 在 ArcCatalog 树中,右键单击想导入到地理数据库的 Shapefile,单击 Export,单 击 To Geodatabase(single) ,如图 3.35 所示。 2) 打开 Feature Class To Feature Class 对话框, 如图 3.36 所示。 输入 Shapefile 文件的 路径及目标数据库或目标数据库中要素数据集的路径,并为导入的新要素类输入 名字。

图 3.36 Feature Class To Feature Class 对话框

3) 在 Field Info(optional)栏中,可以选择需要导入的字段、并输入导入 Shapefile 后的新的字段名。 4) 单击 OK 按钮,出现进程条,当进程结束时,导入的 Shapefile 将出现在目标数据 库或数据库中的数据集中。 ,可以实现多个 Shapefile 一次导入到 如果在第一步中单击 To Geodatabase(multiple) 目标数据库或数据库中的一个数据集中。 (2) 导入 Coverage 1) 在 ArcCatalog 树中,右 键单 击想导入到地理数据库的 Coverage,单击 Export,单击 To Geodatabase(single) 图 ,如 3.37 所示。 2) 打开 Feature Class To Feature Class 对话框,如图 3.38 所示。 输入目标数据库路径和新要素

18

图 3.37 导入 Coverage

类的名称。 击 OK 按 钮 , 出 现 进 程 条 , 3) 单 当进程结束时,导入的 Coverage 将出现在目标数据库中。 如果在第一步中单击 To Geodatabase(multiple) 以实现多个 Coverage 一次导入到 ,可 目标数据库中。

图 3.38

Feature Class To Feature Class 对话框

也可以右击想要导入数据的数据库或数据集,单击 Import,即可导入要素类;可以从 一个地理数据库向另一个地理数据库中导入要素类;也可以在同一个地理数据库中,导入 要素类到一个新的要素类。 (3) 导入 dBASE 表和 INFO 表 利用 ArcCatalog 可以把 dBASE 表和 INFO 表导入到地理数据库中,并自动纠正任何 不合逻辑的或重复的字段名字,还可以通过交互方式指定如何更改字段,再进行导入;还 可以一次导入多个 dBASE 表和 INFO 表到地理数据库中。 1) 在 ArcCatalog 树 中 , 右 键 单击想导入到地理数据库的 dBASE 表或 INFO 表,单击 Export,单击 To Geodatabase (single) ,如图 3.39 所示。 2) 打开 Table To Table 对话框, 如图 3.40 所示。输入目标数 据库的表的路径以及导入到 地理数据库后新表的名称。 3) 单击 OK 按钮,出现进程条, 图 3.39 导入 dBASE 表和 INFO 表 当进程结束时,导入的 dBASE 表或 INFO 表将出现在目标数据库中。

19

如果在第一步中单击 To Geodatabase(multiple) ,可以实现多个 dBASE 表或 INFO 表 一次导入到目标数据库中。也可以右击想要导入数据的数据库,单击 Import,即可导入表。

图 3.40 Table To Table 对话框

(4) 导入栅格数据 向地理数据库中导入栅格数据有 两种方式:一是导入到地理数据库中 作为栅格数据集存储;二是导入到地 理数据库中已经存在的栅格数据 集 中。 1) 在 ArcCatalog 树中,右击想 导入栅格数据的地理数据 库, 单击 Import, 单击 Raster Datasets,如图 3.41 所示。 2) 打 开 Raster To Geodatabase(multiple) 对 话 框,如图 3.42 所示。添加想 要导入的多个栅格数据,单 击 OK 按钮。

图 3.41

导入栅格数据

20

若在第一步中单击 Raster Datasets(mosaic)命令,打开 Mosaic 对话框,如图 3.43 所示。 添加想要导入的多个栅格数据,输入地理数据库中已经存在的栅格数据集的路径,单击

图 3.42

Raster To Geodatabase(multiple)对话框

OK 按钮。

图 3.43

Mosaic 对话框

(5) 复制地理数据库数据 可以在地理数据库之间直接移动和复制数据。在 ArcCatalog 树中,右击要复制的数据 集、要素类或表,单击 Copy,右击目标地理数据库,单击 Paste 即可。 2. 载入数据 当导入 Shapefile、Coverage 到一个地理数据库时,导入的数据作为新的要素类存在。 当导入 INFO 表和 dBASE 表到一个地理数据库时,它们作为一个新表存在。所以,在导 入数据之前,这些要素类和表是不存在的。 数据载入不同于数据导入。当在数据库中创建了基本的项目之后,即在数据库中建立 了要素集、要素类和表后,可以利用数据载入工具,将 Shapefile 和 Coverage 要素载入到
21

地理数据库的要素类中,将 dBASE 数据表和 INFO 属性表载入到地理数据库表中。 (1) 在 ArcCatalog 树中, 右键单击要载入数据库的要素类或表, 单击 Load, 单击 Load data, 如图 3.44 所示。出现 Simple Data Loader 对话 框,如图 3.45 所示。 (2) 单击下一步按钮, 打开输 入数据对话框, 如图 3.46 所示。 浏览并找到要输入 的要素类和表,单击 Add,增加要素类和表到 源数据列表中。

图 3.44 载入数据

图 3.45 Simple Data Loader 对话框

图 3.46 输入数据对话框

(3) 单击下一步按钮,打开确定装载数据的目标地理数据库对话框,如图 3.47 所示。选 中 I do not want to load all features into a subtype,表示不想把数据装载到一个指定的 子类型中;选中 I want to load all features into a subtype,表示要把数据装载到一个指 定的子类型中,这时要选择需要装载源数据的子类型。 (4) 单击下一步按钮,打开源字段匹配到目标字段对话框,如图 3.48 所示。在 Matching

22

图 3.47 确定目标地理数据库对话框

图 3.48 源字段匹配到目标字段

Source Field 窗口中选择同目标字段匹配的源数据的字段。如果不想让源数据字段的 数据装载到目标字段,在 Matching Source Field 窗口中选择 None。 (5) 单击下一步按钮,打开确定装载源数据对话框。如果需要装载所有的源数据,选择 第一个选项,如图 3.49 所示。 (6) 如果需要用属性查询来限制源数据的要素装载到目标数据库,选择第二个选项。如 图 3.50 所示。

图 3.49 确定装载源数据对话框(第一个选项)

图 3.50

确定装载源数据对话框(第二个选项)

(7) 单击 Query Builder 按钮,打开 Query Data 对话框,如图 3.51 所示。用 Query Builder 建立查询,限制装入到目标数据库中源数据的要素或行。 (8) 单击 OK 按钮,返回确定装载源数据对话框,单击下一步按钮,打开参数总结信息 框。单击 Finish 按钮,完成把选择的数据装载到数据库。 (9) 单击下一步按钮,打开参数总结信息框,如图 3.52 所示。单击 Finish 按钮。

23

图 3.51 Query Data 对话框

图 3.52 参数总结信息框

建立新要素 当在数据库中创建了要素类后,可以将数据库中的要素类直接拖到 ArcMap 的内容表 中,并在图形窗口通过 Editor 来建立新要素,并进行属性编辑。 3.

3.3.6 进一步定义数据库
建立索引 在对关系表和要素类中的数据进行查询检索时,可以在字段上建立属性索引提高查询 速度。空间索引可以提高对空间要素的图形查询速度,属性索引是 RDBMS 用于检索表中 的纪录。可以在要素类和关系表中的一个或多个字段上建立属性索引。 (1) 建立属性索引 1) 在 ArcCatalog 目录树中,右键单击需要建立属性索引的表或要素类,单击 Properties 命令,如图 3.53 所示。 2) 打开 Feature Class Properties 对话框,并进入 Indexes 选项卡,如图 3.54 所示。单 击 Add 按钮,打开 Add Attribute Index 对话框,如图 3.55 所示。 1.

24

图 3.53 建立属性索引

图 3.54 Feature Class Properties 对话框

3) 在 Name 文本框中输入新的索引名 称,如果索引是唯一的,选中 Unique 复选框,如果索引将按升 序,选中 Ascending 复选框。 4) 在 Fields Available 栏中,单击需要 建立索引的字段,单击右箭头按 钮,把选择字段移到 Fields Select 窗口。单击上下箭头按钮,改变选 择字段在索引中的顺序。 5) 单击 OK 按钮,返回 Feature Class Properties 对 话 框 , 在 Attribute 图 3.55 Add Attribute Index 对话框 Indexes 显示出新建的索引。单击 确定按钮。 (2) 修改空间索引 1) 右键单击需要修改空间索引的 Shapefile,单击 Properties,如图 3.56 所示。打开 Shapefile Properties 对话框(Indexes 选项卡) ,如图 3.57 所示。

25

图 3.56 修改空间索引

图 3.57 Shapefile Properties 对话框

2) 通过 Add 按钮、Delete 按钮、Update 按钮来建立、删除和更新空间索引。 3) 单击确定按钮。 2. 创建子类和属性域 地理数据库按照面向对象的模型存储对象,这些对象可表示非空间实体(表)和空间 。存储在要素类或表中的对象可以按照子类型来组织,并有一套完整的规 实体(要素类) 则。 (1) 属性域(Attribute Domains) 属性域表述的是限定属性的一组值。 有两种不同的属性域:范围域(Range Domains)和代码值域(Coded Value Domains) 。 范围域可以指定一个范围的值域(最大值和最小值) ,最大值和最小值可以使用整型或浮 点型数值表示。代码值域给一个属性指定有效的取值集合,包括两个值,一个是存储在数 据库中实际值,一个是说明数值意义的用户描述。代码值域可以应用于任何属性类型,包 括文本、数字、日期等。 (2) 子类型(Subtypes) 子类型是根据要素类的属性值将要素划分为更小的分类。比如一个地块要素类可以根 据属性字段 Res 的值分为 Residential 和 Non-Residential 两个子类型。 对象的子类是由它们的代码值来确定的,子类代码存储在要素类或表的整型字段中。 每个子类都包含自己的默认值和值域范围。 (3) 属性分割与合并 在编辑数据时,常常需要把一个要素分割(Splitting)成两个要素,或把两个要素合
26

并(Merging)成一个要素,分割与合并在要素的属性操作不是很容易。当一个要素被分 割时,属性值的分割由分割规则(Split Policy)来控制。当两个要素合并时,属性值的合 并由合并规则(Merge Policy)来控制。每一个属性域都有分割和合并规则,当一个要素 被分割或合并时,ArcGIS 将根据这些规则,决定其结果要素属性取值。 分割规则包括缺省值(Default Value) 、复制(Duplicate) 、几何比例(Geometry ratio) 三条;合并规则包括缺省值(Default Value) 、和值(Sum Values) 、几何权重(Weighted Average)三条。 (4) 属性域操作 1) 建立属性范围域: A 在 ArcCatalog 目录树中, 右键单击要建立属性 范围域的地理数据库,单击 Properties 命令, 如图 3.58 所示。打开 Dtatbase Properties 对话 框(Domains 选项卡) ,如图 3.59 所示。 B 在 Domain Name 栏下的第一个空白字段,输 入新属性域名称, 在对应的 Description 栏中输 入描述。 为新建的属性域选 C 在 Domain Properties 栏中, 择属性字段类型、属性域类型(Range)、输入 属性域的最小值和最大值、 选择分割和合并策 略。如图 3.60 所示。 图 3.58 建立新的属性范围域

图 3.59 Dtatbase Properties 对话框 27

图 3.60 新建属性范围域的各项设置

D 单击确定按钮。 2) 建立属性代码值域: A 在地理数据库中建立一个新的属性代码值域,与建立新的属性范围域类似。 只是在 Domain Properties 栏中的 Domain Type 中选择 Coded Values 类型。 B 在 Coded Values 栏中,单击 Code 列第一个空白字段,输入新代码值及代码 值的用户友好描述,直到所有的有效代码值及其描述都被输入。为新建的属 性代码值域选择分割策略和合并策略。 C 单击确定按钮。 3) 修改属性域: 进入上述 Dtatbase Properties 对话框 (Domains 选项卡) 参见图 3.60。 Domain Name , 在 栏下选中要删除或修改的属性域,在键盘上按 Delete 键,或在 Domain Properties 栏下对各 项属性域特征进行修改。 4) 关联属性域: 在地理数据库中,一旦建立了一个属性域,就可以将其默认值与表或要素类的字段关 联起来。属性域同一个要素类或表建立关联以后,在地理数据库中一个属性有效规则就被 建立起来了。同一个属性域可以与同一个表或要素类或子类型的多个字段关联,也可以与 多个要素类或多个表的多个字段关联。 A 在 ArcCatalog 目录树中,右键单击需要关联属性域的表或要素类,单击 Properties 命令,如图 3.61 所示。打开 Feature Class Properties 对话框(Fields 选项卡) ,如图 3.62 所示。

图 3.61 关联属性域

图 3.62 Feature Class Properties 对话框

B

在 Field Name 栏,单击需要建立默认值并把它关联到属性域的字段:
28

PARCEL_ID。 C 在 Field Properties 栏,在 Default value 中输入默认值:10,在 Domain 中选 择想用于这个字段的属性域(仅仅可以用于这个字段类型的域才显示在列表 中) :Residential。 D 单击确定按钮。 (5) 子类型操作 利用 ArcCatalog 可以给要素类添加子类型,并为每一个子类型设置默认值和属性域。 也可以删除或修改已经存在的子类型。 1) 建立子类型: A 在 ArcCatalog 目录树中,右键单击需要添加子类型的表或要素类,单击 Properties 命令,如图 3.63 所示。 B 打开 Feature Class Properties 对话框(Subtypes 选项卡) 。在 Subtypes Field 下 拉框中选择一个子类型字段:STOP_NUM, Default Subtype 窗口中出现所 在 选字段的默认的新的子类型名称:New Subtype。如图 3.64 所示。

图 3.63 建立子类型

图 3.64 Feature Class Properties 对话框

C D

在 Subtypes 栏中,在 Code 列下输入新的子类型代码及其描述,描述将自动 更新 Default Subtypes 窗口中的内容。 在 Default Values and Domains 栏中,对于每一个字段,在 Default Value 中输 入默认值,在 Domain 栏中选择一个属性域(将新子类型的字段关联到一个 属性域) 。

29

重复上述步骤,添加其他子类型。单击 Use Defaults 按钮,可以让新子类型 采用默认子类型的所有默认值和属性域。 F 单击确定按钮。 2) 修改子类型: 修改和删除子类型同建立一个子类型的方法相似:进入上述 Feature Class Properties 对话框(Subtypes 选项卡) ,在 Subtypes 栏下选中需要删除或修改的子类型,在键盘上按 Delete 键,或在 Subtypes 和 Default Values and Domains 栏下对各项子类型特征进行修改。 3. 创建关系类 数据库中的各个表数据之间是存在各种各样的关系的。比如,供水系统中的水管和水 管维修记录之间的关系、宗地和业主之间的所属关系等。在地理数据库中,事物之间的这 些联系可以使用关系类来表现。关系类可以在空间对象间实现,也可以在非空间对象间实 现,或者在空间对象与非空间对象之间实现。此时,空间对象是存储在要素类中,非空间 对象存储在对象类中,关系类存储在关系类中。关系类还可以有属性。任何一个对象类或 要素类都可以创建多个关系类。 (1) 关系类概述 1) 基数(Cardinality) 关系类有一个明显的特征就是基数(Cardinality) ,它描述对象之间的关系,分为以下 、一对多(1-M) 四种:一对一(1-1) 、多对一(M-1)和多对多(M-N) 。 2) 关联键 要创建关系,表(对象类或要素类)中必须包含某个“共同”的字段,这样的字段称 (key) 。键值可以是文本型、数值型的(通常为整型) 为“键” 。在关联的两个表中,关联 的键字段名称不一定要一致,但是数据类型必须一致。关系类的创建是在源类(Oringin class)的主键(primary key)和目标类(destination class)的外键(foreign key)之间创建 的。 主键: 存储可以唯一表示表中的每个对象的属性值的字段。 Geodatabase 自动创建一个 Object ID 字段,这个字段可以作为每个要素类和表的主键。 外键:外键可以和另一个对象的属性相关联。在对象类中,外键不需要唯一,而且通 常也是不唯一的。在某些关系,如一对多和多对多的关系中,不要求外键值唯一。 3) 关联标注 在关系类中,查找关联表的时候需要关联标注,标注分为向前标注和向后标注。使用 向前标注可以从源类找到目标类;使用向后标注,可以从目标类找到源类。 4) 关系种类 地理数据库支持支持两种关系:一是简单关系(又称为对等关系) ,二是复合关系。 简单关系(Simple Relationship)是地理数据库中的两个或多个对象之间的关系,对象 是独立存在的,进行对象操作时不会影响其它类中的对象。简单关系可以有一对一、一对 多、多对多的基数。 复合关系(Composite Relationship)首先要有一个目标类,它依赖于源类,如果从源 类中删除对象,目标类中相关联的对象也会被删除。复合关系总是一对多的,但也可以通 E
30

过关系规则限制到一对一。 (2) 建立关系类 1) 建立简单关系类: 右键单击需要在其中建立关系类的地理数据库或要 A 在 ArcCatalog 目录树中, 素数据集,单击 New 命令,单击 Relationship Class 命令,如图 3.65 所示。 B 打开 New Relationship Class 对话框,如图 3.66 所示。输入新关系名: parcelowners,选择源表或要素类:owners,选择目标表或要素类:Parcels。

图 3.65 建立关系类

图 3.66

New Relationship Class 对话框

C

D

单击下一步按钮,打开 New Relationship Class(选择关系类型)对话框,如 图 3.67 所示。选择 Simple(peer to peer) relationship 单选按钮,建立简单关系 类。 单击下一步按钮,打开 New Relationship Class(确定关系类属性)对话框, 如图 3.68 所示。输入从源类到目标类的向前路径标注:owners,输入从目标

31

图 3.67

选择关系类型对话框

图 3.68

确定关系类属性对话框

E

F

类到源类的向后路径标注: owned by, is 选择关系的消息传递方向 (Forward, Backward,Both,None) 。 单击下一步按钮,打开 New Relationship Class(选择关系类基数)对话框, 如图 3.69 所示。选择一对一的关系(即一个拥有者只拥有一个地块,一个地 块只属于一个拥有者) 。 单击下一步按钮,打开 New Relationship Class(关系类添加属性)对话框,

图 3.69 选择关系类基数对话框

图 3.70 关系类添加属性对话框

G

H

如图 3.70 所示。选择 No…单选按钮(在本例中,关系类不需要属性) 。 单击下一步按钮, 打开 New Relationship Class (选择主键) 对话框, 如图 3.71 所示。在第一个下拉框中为要素类或表选择主键,在第二个下拉框中,选择 所选的主键的外键。 单击下一步按钮, 打开 New Relationship Class (总结信息) 对话框, 如图 3.72 所示。

32

图 3.71 选择主键对话框

图 3.72 总结信息对话框

I 单击完成按钮,新建立的一个简单关系类出现在目录树中。 2) 建立复合关系类: 建立复合关系类与建立简单关系类相似,只是在 New Relationship Class(选择关系类 型)对话框中选择 Composite relationship 单选按钮,建立复合关系类。在 New Relationship Class(选择关系类基数)对话框中选择一对多的复合关系。 3) 建立具有属性的关系类: 任何关系类,不论是简单的还是复合的,不论是什么样的基数,都可以有属性。具有 属性的关系类被存储在数据库的表中,这个表至少包括一个指向源要素类或表的外关键 字,和一个指向目标要素类或表的外关键字。 A 在上述 New Relationship Class(关系类添加属性)对话框中选择 Yes…单选 按钮。参见图 3.70。 B 单击下一步按钮,打开 New Relationship Class(添加属性字段)对话框,如 图 3.73 所示。在 Field Name 列下输入添加字段 的名字,如 attri1、attri2, 并分别为字段选择数据类 型:Text。在 Field Properties 栏中,设置新字 段的属性。 C 重复以上步骤,直到定义 完关 系类的所有属性字段。 D 其余步骤与上述创建不需 要属性的关系类相似。单 击完成按钮,即可创建具 有属性的关系类。 4) 建立关系类规则: 关系类规则用于限制源要素类或表 图 3.73 添加属性字段对话框 中的对象类型,是否可以被连接到目标 要素类或表中的一个确定类型的对象。 A 在 ArcCatalog 目录树中,右键 单击需要建立规则的关系类, 单击 Properties, 打如图 3.74 所示。 Relationship 开 Class Properties 对话框(Rules 选项卡) ,如图 3.75 所示。 B 在 Origin Table/Feature Class 窗口,如果源类有子类型,单击与关系规则关联 的子类型,如果源类没有子类型,关系规则将应用于所有要素。 C 在 Destination Table/Feature Class 窗口,如果目标类有子类型,单击与源类中 被选的子类型相关的目标子类型,如果目标类没有子类型,关系规则将应用 于所有要素。
33

D

选择 Destination Cardinality 选项卡下的复选框: Specify the range of associated destination objects,指定每一个源类相关的目标对象的范围。

图 3.74 建立关系类规则

图 3.75 Relationship Class Properties 对话框

E 重复上述步骤,指定这个关系类的所有关系规则。 F 单击确定按钮,完成关系类规则的建立。 (3) 管理关系类 1) ArcCatalog 中关系类重命名与删除 右键单击需要重命名或删除的关系类, 在 ArcCatalog 目录树中, 单击 Rename 或 Delete 命令即可。参见图 3.74。 2) ArcMap 中浏览关联对象 在 ArcMap 中可以浏览(explore)地理数据库中与一定对象相关联的对象。标识要素 时,Identify Results 对话框可用来查找一个要素的关联对象。使用表时,可以查找关联对 象的一个表。 3) 浏览一个要素的关联对象: A 在 ArcMap 中打开 parcels 要素类,如图 3.76 所示。 B C 单击 按钮, 打开 Identify Results 对话框, 如图 3.77 所示。 选择图层 Parcels。

点击地图上的要素,在 Identify Results 对话框的左侧面板中打开所点击要素 的路径标签,查看其属性的关联对象。如图 3.78 所示。 4) 浏览表中与一个对象关联的对象:

34

A

在 ArcMap 内容列表中,点击 Source 标签。右键单击一个表 owners,单击

图 3.76 在 ArcMap 中打开数据

图 3.77 Identify Results 对话框

图 3.78 查看属性的关联对象

B C D

Open,如图 3.79 所示。 打开属性表, 选择表中的一个对象, 在表下方单击 Options 按钮, 指向 Related Tables,然后单击关系的路径标签 parcelowners : owners。如图 3.80 所示。 为关联的表打开一个新的表对话框,在该表中,关联的对象也会被选中。如 图 3 .81 所示。 单击 Show Selected,只显示与第一个表选取的对象相关联的对象。

35

图 3.79 打开表

图 3.80

owners 属性表

36

图 3.81

Parcels 属性表

5) ArcMap 中使用关联字段 为了能使来自关联对象的字段用来符号化和标注,必须在要素类和相关的要素类或表 中创建一个连接。创建好连接后,来自相关要素类或表中的字段被添加到要素层中,就 可以使用这些字段对地图进行标注、符号化并查询要素。 A 在 ArcMap 内容列表中右键单击要素层,单击 Joins&Relates,再单击 Join。 如图 3.82 所示。 B 打开 Join Data 对话框,选择 Join data based on a pre-defined relationship class (基于预定义关系类连接数 据) ,如图 3.83 所示。 C 单击 OK 按钮。现在可以使用 关联字段来符号化、标注和查 询要素了。 D 打开要素层的属性表,可以看 到表中增加了相关要素类的 字段;或右键单击要素层,单 击 Properties,打开 Layer 图 3.82ArcMap 中使用关联字段 Properties 对话框, 进入 Lables 标签,在 Text String 栏 Label 下拉框中,也可以看到可标注字段中也增加了相关要素类的字段。如图 3.84 所示。

37

图 3.83 Join Data 对话框

图 3.84 Layer Properties 对话框(Lables 标签)

创建注释类 表示地理现象的地理要素除了有几何形状和空间位置外,还有一些描述文本,通常将 这些文本称为注释。注释是用于存储文本信息的专门要素类,和存储在地图文档中的标注 (Label)不同,注释类是存储在 Geodatabase 中的,这样的以要素存储的优势是,随时可 以将文本信息添加到地图显示中来。 注释被存储为 ESRI 的简单要素类,它可以存在于一个要素数据集内部,也可以作为 独立要素类。每一个注释要素有自己的符号,包括字体、大小、颜色等。 注释类分为连接要素的注释类(Feature-linked Annotation Class)和不连接要素的注释 类(Nonfeature-linked Annotation Class)两种。不连接要素的注释类是按照地理空间放置 的文本,在地理数据库中不与要素相关联,没有特定的对应要素。连接要素的注释类与地 理数据库中一个要素类的特定要素相关联,当要素类中要素被移动或者删除时,要素关联 的注释也会随之进行相应操作。 (1) 建立注释类 当建立一个连接要素的注释类时,需要有建立连接注释到要素的关系类信息,必须描 述注释是如何从要素类的字段所派生,并可以用 ArcMap 自动给注释类赋值;不连接要素 的注释类,没有连接的要素来派生其文本和位置,可以用 ArcMap 在注释类中来建立位置 注释。 4.
38

1) 建立不连接要素的注释类: A 在 ArcCatalog 目录树中, 右键单击需要建立不连接要素注释类的地理数据库 或要素数据集,单击 New,单击 Feature Class 命令,如图 3.85 所示。 B 打开 New Feature Class 对话框,如图 3.86 所示。在 Name 文本框中输入注释 类名,在 Alia 文本框中输入注释类假名,在 Type 选项组中选择第二个单选 按钮:This feature class will store annotation features。在其下的下拉框中选择 ESRI Annotation Feature 选项。

图 3.85 建立注释

图 3.86 New Feature Class 对话框

C

D

单击下一步按钮, 打开参照比例尺对话框, 如图 3.87 所示。 输入参照比例尺, 它描述了用指定的尺寸显示注记文本的比例尺,当缩小和放大地图时,文本 也跟着缩放。参照比例尺总是与注释类的空间参照系使用相同的单位。为输 入的数据选择单位。 单击下一步按钮,打开设置特征对话框,如图 3.88 所示。在 Annotation Class

39

图 3.87 参照比例尺对话框

图 3.88 设置特征对话框

栏中,可以添加另一个注释类,或者对已有的注释类重命名;在 Text Symbol 栏中,为注释类设置字符的属性特征;在 Scale Range 栏中,指定注释缩放 到什么程度时可见。 E 单击下一步按钮,其余步骤与建立其他地理要素类的方法相同。如果注释类 作为独立要素类来建立,建立过程可以参照前面建立独立要素类。 2) 建立连接要素的注释类: A 在上述 New Feature Class 对话框, 参见图 3.86, 选中 Link the annotation to the following feature class 复选框, 在下面的下拉框中选择与新建的注释类连接的 要素类,如图 3.89 所示。 B 单击下一步按钮, 打开确定参照比例尺对话框, 如图 3.90 所示。 Reference 在 Scales 栏中, 输入参照比例尺, 并为输入的数据选择单位; Editing Behavior 在 栏中,为新建的注释类选择编辑行为。

图 3.89 连接要素类对话框

图 3.90 确定参照比例尺对话框

C

单击下一步按钮,对新建的注释类进行高级设置,如图 3.91 所示。

40

单击下一步按钮,其余步骤与 建立 其他地理要素类的方法相同。 (2) 产生连接要素的注释: 1) 将地理数据库中的要素类加载到 地 D 图文档中,单击 按钮,在

ArcMAP 视图中选中需要产生注释 的要素。 2) 右键单击需要产生连接要素注释 的 数 据 层 , 单 击 Selection , 单 击 Annotate Selected Features 命令, 如 图 3.91 注释类的高级设置 图 3.92 所示。 3) 打开 Annotate Selected Features 对话框,如图 3.93 所示。

图 3.92 产生连接要素的注释

图 3.93 Annotate Selected Features 对话框

4) 在该对话框中选择相关的注释类,用于存储产生的注释。 5) 选中 Covert unplaced labels to annotation 复选框。 6) 单击 OK 按钮,在 ArcMap 图形窗口产生选择要素的注释。 (3) 转换注释类 1) ArcMap 标注转换: A 在 ArcMap 窗口内容表中,右键单击需要转换标注的数据层,单击 Convert

41

B

Labels to Annotation 命令,如图 3.94 所示。 打开 Convert Labels to Annotation 对话框。如图 3.95 所示。

图 3.94ArcMap 标注转换

图 3.95 Convert Labels to Annotation 对话框

在 Store Annotation 中选择注释类存储在地图文档中还是数据库中; Create 在 Annotation For 中选择注释类应用于所有要素还是当前可视范围内的要素。 D 单击 Convert 按钮。 2) Coverage 注释转换: ArcMap 可以把存储在 Coverage 注释要素类中的注释转换成地理数据库的注释,可以 转化生成一个新的注释类,也可以转换到地理数据库内已经存在的注释类中。 A 将 Convert Coverage Annotation 命令加到菜单栏中。 B 右键单击需要转换的 Coverage 注释层,单击 Convert Coverage Annotation 命 令,打开 Convert Coverage Annotation 对话框。其余步骤与 ArcMap 标注转 换类似。 5. 创建几何网络 (1) 几何网络概述 现实世界中,人员的流动、货物的流通、信息的传递、能量的传输等等,都是通过可 确定的网络系统来进行的。几何网络由要素构成,这些要素被限制存在于网络内,作为网 络要素 (Network Feature) 地理数据库自动对几何网络中网络要素间的拓扑关系进行维护。 。 网络的连通性是以几何一致性为基础,因此叫做几何网络。 一个几何网络有一个对应的逻辑网络,几何网络实际上是一组组成网络的要素类,逻 辑网络是网络连通性的物理描述,逻辑网络中的每个元素(element)都与几何网络中的一 个要素关联。 1) 网络要素类型 几何网络要素包括边网络要素(Edge Network Feature)和连接 网络要素(Junction C

42

Network Feature) ,边(Edge)必须通过连接(Junction)与其他边相连。在逻辑网络中, 边元素与网络中的边元素(Edge Element)相关,连接要素与网络中的连接元素(Junction Element)相关。 从广义上来分,有两大类网络要素类型:简单网络要素和复杂网络要素。简单网络要 素对应逻辑网络中的一个简单网络元素,复杂网络要素对应逻辑网络中的多个网络元素。 2) 源和汇 网络中的物质、能量、信息的流动是有方向的,网络中的方向是从源到汇(Sinks)的, 几何网络中的连接要素可以作为源或汇。 3) 网络权重 一个网络可以有许多权和它相关,权是根据要素的某些属性来计算的。网络中的每个 要素类都可能有部分或全部的权与其属性相关。每个权可以与一个要素的一个属性相关, 也可以与多个要素相关。 4) 有效和无效要素 在几何网络中的任何一个边或接合点要素在逻辑网络中可以是有效的,也可以是无效 的。一个网络要素是否有效,其状态由 Enabled 属性字段来维护的。这个字段有两个值: True 和 False。如果为一个简单要素类创建一个几何网络,这个字段会自动添加到输入要 素类中。当用 ArcCatalog 创建一个网络要素类时,这个字段是必需字段。 (2) 建立几何网络 几何网络是要素数据集中要素类集合之间的拓扑关系,几何网络中的每一个要素有一 个角色:边或连接。建立一个几何网络必须确定哪些要素类参入网络,以及参入要素类扮 演什么角色,并需要指定一系列的权重参数,以及其他一些更高级的参数。 建立几何网络有两种途径:一是从零开始建立一个全新的几何网络,二是以已存在的 简单要素类为基础建立几何网络。在 ArcCatalog 中,可以从零开始建立一个全新的几何网 络,也可用 ArcMap Editor 或定制的 VB、VBA、C++代码来添加元素到几何网络中。 1) 建立全新的几何网络: A 在 ArcCatalog 目录树中,右键单击需要建立几何网络的要素数据集,单击 New,单击 Geometric Network 命令,如图 3.96 所示。打开 Build Geometric Network Wizard 对话框,如图 3.97 所示。

43

图 3.96 在要素数据集内建立几何网络

图 3.97 Build Geometric Network Wizard 对话框

B C

单击 Next 按钮,打开选择如何建立几何网络的对话框,选择 Build an empty geometric network 单选按钮:建立一个空的几何网络,如图 3.98 所示。 单击 Next 按钮,打开输入几何网络名称对话框,如图 3.99 所示。为新的几 何网络输入名称。

图 3.98 选择如何建立几何网络的对话框

图 3.99 输入几何网络名称对话框

D

单击 Next 按钮,打开确定网络权重对话框,如图 3.100 所示。如果想在网络 中添加权重,选择 Yes 单选按钮,单击 按钮添加新权重,单击 按钮可

E F

以删除已经添加的权重。为添加的权重确定名称(Weight Name)和类型 (Type) ;如果不想在网络中添加权重,选择 No 单选按钮。 单击 Next 按钮,打开网络设置总结信息对话框,如图 3.101 所示。 单击 Finish 按钮,完成新的几何网络的建立。

图 3.100 确定网络权重对话框

图 3.101 总结信息对话框

2) 用已有要素建立几何网络: 如果应用已经存在的简单要素类建立一个几何网络,建立几何网络向导(Build Geometric Network Wizard)就会在要素数据集内发现一组要素类的连接性,并从简单要素
44

类(线或点)来对网络要素类型(边或连接)进行提示。在这种情况下,虽然要素类必须 已经存在于要素数据集中,但要素类可以是空的,网络建立以后,可以再添加网络要素类 型。 基本步骤如下:利用已有要素建立一个几何网络;向几何网络中添加需要的要素类; 为几何网络建立几何规则。 几何网络既可以用 ArcCatalog 建立,也可以用 ArcToolbox 建立。关于利用已有数据 建立几何网络的具体过程参见 3.5 节中的第二个实例。 (3) 添加新的几何网络要素类 可以在几何网络中添加新的边要素类和连接要素类。当建立一个新的网络要素类时, 必须指定要素的类型和要素类参入的几何网络。新的要素类必须建立在几何网络的同一个 要素数据集中,如果建立一个新的连接要素类,需要指定它的要素是否可以为源或汇。 所有网络要素类同简单要素类一样,都有相同的必需字段 OID 和 SHAPE。网络边要 素还有一个必需字段 Enabled,它决定逻辑网络是否可运行,这个字段有一个固定的属性 域。网络连接要素可以作为源或汇,为了记录一个连接要素是否为源或汇,必须建立一个 AncillaryRole 字段,它也有一个固定的属性域。 (4) 定义网络规则 网络连接规则限制可能连接到其他网络要素的网络要素类型,以及可以连接到其他类 型要素的特定类型要素的数目。 有两 种 类 型的连接规则:边-连接(Edge-Junction)和边-边(Edge-Edge)规则, Edge-Junction 规则建立类型 A 的一个边连接到类型 B 的一个连接的网络关系,Edge-Edge 规则是建立通过类型 C 的一个连接,类型 A 的一个边连接到类型 B 的一个边的网络关系, Edge-Edge 规则总是包含一个 Junction。 在 ArcCatalog 中可以通过修改几何网络特征来建立和修改网络的连接规则。 可以在两 个要素类之间建立连接规则,也可以在一个要素类和另一个要素类的子类型、或一个要素 类的子类型与另一个要素类的子类型之间建立连接规则。 6. 创建拓扑 拓扑表达的是地理对象之间的相邻、包含、关联等空间关系。创建拓扑关系可以使地 理数据库能更真实地表示地理要素,更完美的表达现实世界的地理现象。 创建拓扑的优势在于: (1) 根据拓扑关系,不需要利用坐标或距离,就可以确定一种空间实体相对于另一种空 间实体的位置关系。拓扑关系能清楚地反映实体之间的逻辑结构关系,它比几何数 据有更大的稳定性,不随地图投影的变化而变化。 (2) 利用拓扑关系便于空间要素查询,例如某条铁路通过哪些地区,某县与哪些县相邻 等。 (3) 可以根据拓扑关系重建地理实体。例如根据弧段构建多边形,实现道路的选取,进 行最佳路径的选择等。 一个拓扑关系包括了一系列的拓扑规则,创建拓扑时,必须指定参与创建拓扑的要素 类及其控制要素之间相互作用的拓扑规则。参与拓扑创建的所有要素类必须在同一个数据
45

集中。 Geodatabase 拓扑的浏览和管理是通过 ArcCatalog 来实现的,拓扑中存储了三个参数: 。 规则(rules) 等级(ranks)和拓扑容限(cluster tolerance) 、 拓扑规则定义了拓扑的状态,控制了要素之间的相互作用,创建拓扑时必须指定至少 一个拓扑规则;等级是控制在拓扑检验中节点移动的级别。等级低的要素类(子类)向等 级高的要素类(子类)移动。在创建拓扑的过程中,需要指定要素类的等级。目前,最高 的等级是 1,最低的等级是 50;默认的拓扑容限值是根据数据的准确度和其他一些因素, 由系统默认计算出来的。 当拓扑关系创建后,将数据加载到 ArcMap 中,如果所建的拓扑违背所定义的拓扑规 则时,就会产生拓扑错误,则进行拓扑检验后,在 ArcMap 视图窗口中会把有错误的地方 自动显示出来。 这时应把检测出来的拓扑错误一一修改。 ArcMap 中还可进行拓扑编辑, 在 包括共享边和点的编辑。 创建拓扑的详细过程可参考本章实例二。

3.4 数据编辑
数据编辑是纠正数据错误的重要手段,主要包括几何数据和属性数据的编辑。几何数 据的编辑主要是针对图形的操作,包括平行线复制、缓冲区生成、镜面反射、图层合并、 结点操作、拓扑编辑等。属性数据的编辑包括对图形要素的属性进行添加、删除、修改、 复制、粘贴,以及增加字段、导出属性表等。在 ArcMap 中对数据进行编辑时,实质上是 一次只能编辑一个数据集中的要素类, Coverage 编辑数据层所代表的地理要素类或要素集, 中的部分要素类是不能编辑的。

3.4.1 图形编辑
基本编辑 在 ArcMap 中对所加载的数据的图形要素可以进行各种编辑,如平行线复制、缓冲区 生成、镜面反射、拼接处理、结点删除、结点添加、线的延长和裁剪、线与多边形的分割 和缩放与拉伸等。 以下操作都是以打开地图文档,并开始编辑(Start Editing)数据层为前提。 (1) 要素复制操作 1) 平行复制操作 1. 单击 按钮, 在图形窗口中选择要复制的线要素, 单

击 Target 箭头,选择需要复制平行线的数据层,在 Editor 下拉菜单中,选择 Copy Parallel 命令,打开 Distance 对话

46 图 3.102 Distance 对话框

框,如图 3.102 所示。输入平行线之间的距离(按照地图单位) ,输入的距离数值的正负值 表示要素的复制方向。按 Enter 键即可完成不同数据层之间平行线的复制。 2) 缓冲区复制操作 单击 按钮,在图形窗口中选择要生成缓冲区的要素,单
3.103 Distance 文本框

击 Target 箭头,选择需要复制缓冲区的数据层(线或多边形类 选择 Buffer 命令, 打开 Distance 型) 在 Editor 下拉菜单中, , 文本框,如图 3.103 所示。输入生成缓冲区的距离(按照 地图单位) ,并按 Enter 键即可完成不同数据层之间缓冲区 的复制。 3) 镜面复制操作 单击 按钮,在图形窗口中选择需要进行镜面操作

的要素,单击 Task 箭头,选择 Mirror Features 操作任务, 如图 3.104 所示。单击 按钮,在图形窗口定义首尾两点

确定一条中心线,所选择的要素按照定义的中心线对称复 图 3.104 Task 下拉菜单中的任务 制。 (2) 要素合并操作 ArcMap 系统的要素合并操作可以概括为两种类型,要素空间合并与要素裁剪合并。 要素空间合并包括 Merge 和 Union 两个基本操作。要素裁剪合并主要是 Intersect 操作。合 并可以在同一个数据层中进行,也可在不同数据层之间进行,参与合并的要素可以是相邻 要素,也可以是分离要素,当然,只有相同类型的要素才可以合并。 1) 同层要素空间合并 Merge 操作可以完成同层要素空间合并, 无论要素(线与多边形)相邻还是分离,都可 以合并生成一个新要素,新要素一旦生成,原 来的要素自动被删除。 具体过程如下: 单击 按钮,在图形窗口中选择需要合

图 3.105 Merge 对话框 并的要素,单击 Target 箭头,选择合并后的新 要素所属的目标数据层, Editor 下拉菜单中, 在 选择 Merge 命令,打开 Merge 对话框,如图 3.105 所示,New_shapefile-1 表示图层名为 New_shapefile 中 ID 值为 1 的要素。选择一个要素,其他要素向它合并,则合并后的新要 素的属性与该要素的属性相同,按 OK 键即可完成同层要素空间合并。同层要素空间合并 的结果如图 3.106 所示。

47

图 3.106 同层要素空间合并的结果

2) 异层要素空间合并 Union 操作可以完成不同层要素空间合并,无论要素(线与多边形)相邻还是分离, 都可以合并生成一个新要素,新要素既保持原要素的类型,又保持原要素的属性特征。 具体过程如下: 单击 按钮,在图形窗口中选择需要合并的要素(来自不同的数据层) ,单击 Target

箭头,选择合并后的新要素所属的目标数据层,在 Editor 下拉菜单中,选择 Union 命令, 所选择的要素被合并生成一个新要素。 3) 公共要素裁剪合并 Intersect 操作可以完成相互重叠(Overlay)部分的要素裁剪合并,无论要素(线或多 边形)属于同一数据层还是不同数据层,都可以合并生成一个新要素,新要素保持了原要 素的类型,但没有任何属性值,需要自己输入新的属性值。 具体过程如下: 单击 按钮,在图形窗口中选择具有重叠部分的要素(可以来自不同的数据层) ,单

击 Target 箭头,选择合并后的新要素所属的目标数据层(目标数据层必须与原来的数据层 属于相同的类型,如线或多边形) ,在 Editor 下拉菜单中,选择 Intersect 命令,所选择要 素的公共部分合并生成一个新要素。如图 3.107 所示,两多边形重叠部分生成一个新的多 边形。

图 3.107 公共要素裁剪合并的结果

(3) 要素分割操作 应用 ArcMap 要素编辑工具可以分割线要素和多边形要素。对于线要素,可以任意定
48

义一点进行分割,也可以在离开线的起点或终点一定的距离处分割,还可以按照线要素长 度百分比进行分割,分割后线要素的属性值是分割前线要素属性值的复制。对于多边形要 素,是按照所绘制的分割线进行分割,多边形原有的属性将复制到分割以后的多边形要素 当中。 1) 任意点分割线要素 单击 按钮,在图形窗口中选择需要分割的线要素,单击 按钮,在线要素上任 按钮把该线要素拉开

意选择分割点,单击左键,线要素按照分割点分成两段,可通过 查看。 2) 按长度分割线要素 单击 按钮,在图形窗口中选择需要分割的线

要素,在 Editor 下拉菜单中,选择 Split 命令,打开 Split 对话框,如图 3.108 所示,在 Line 文本框中显 示的是所选线要素的长度,在 Split 选项组中可以选 择两种按长度分割线要素的方式, 一种是按照长度距 图 3.108 Split 对话框 离分割,另一种是按照长度比例分割,并输入长度距 离或长度比例。 Orientation 选项组中可以选择是从 在 线要素的起点计算距离或比例进行分割,还是从线要素的终点计算距离或比例进行分割。 单击 OK 按钮,线要素按照确定或计算的分割点分成两段。可通过 开查看。 3) 布点分割线要素 单击 按钮,在图形窗口中选择需要分割的线 按钮把该线要素拉

要素,单击 Target 箭头,选择需要沿线放置点要素的 数据层。在 Editor 下拉菜单中,选择 Divide 命令,打 3.109 Divide 对话框 开 Divide 对话框,如图 3.109 所示,在对话框中输入 分割线要素的点数,这些点在线要素上均匀放置,或 者输入分割线要素的点间距离,单击 OK,就可按照确定的点数或点间距离分割线要素, 并放置点要素。通过 按钮把该线要素拉开查看。

4) 分割多边形要素 单击 按钮, 在图形窗口中选择需要分割的多边形, 单击 Task 箭头, 选择 Cut Polygon 按钮,在图形窗口绘制草图线或草图多边形,
49

Features(分割多边形要素)选项,单击

与原始多边形相交,双击鼠标左键,或单击右键,选择 Finish Sketch 命令,多边形要素按 照绘制的草图线或多边形分割成两个多边形,如图 3.110 所示。

图 3.110 分割多边形要素的结果

(4) 线要素延长与裁剪 延长可以实现多个线要素自动与确定的草图线相接,裁剪可以实现由一条草图线裁剪 多条线要素,也可以按照确定的距离裁剪一条线要素。 1) 绘制草图延长线要素 单击 Task 箭头,选择 Extend/Trim Features(延长与裁剪要素)选项,单击 ,单击 在图形窗口中选择需要延长的线要素(可以多选) 按钮,

按钮,在图形窗口绘制一条草

图线,作为线要素延长的目标,双击鼠标左键,或单击右键,选择 Finish Sketch 命令,线 要素就会延长到绘制的草图线。 2) 按照长度裁剪线要素 单击 Task 箭头,选择 Modify Feature(修改要素)选项,单 击 按钮,在图形窗口中选择需要裁剪的线要素,单击右键,
图 3.111 Trim 文本框

选择 Trim to Length 命令,打开 Trim 文本框,如图 3.111 所示。在 Trim 文本框中输入裁剪 的长度,并按 Enter 键(裁剪长度是从线要素的终结点起算的,如果需要从起始点起算, 可以先将线要素进行 Flip 翻转操作,然后再进行裁剪) ,线要素就会按照确定的长度裁剪, 在线要素旁单击左键,或单击右键,选择 Finish Sketch 命令结束操作。 3) 按照草图裁剪线要素 单击 Task 箭头,选择 Extend/Trim Features(延长与裁剪要素)选项,单击 在图形窗口中选择需要裁剪的线要素(可以多选) 击 ,单 按钮,

按钮,在图形窗口绘制一条草

图线,作为线要素裁剪的界限,双击鼠标左键,或单击右键,选择 Finish Sketch 命令,线 要素就会被绘制的草图线裁剪。如图 3.112 所示。

50

图 3.112 按照草图裁剪线要素

4) 线要素翻转操作 线的延长与裁剪操作,都是按照线要素的终结点进行的,如果需要依据线要素的起始 ,也就是改变线要素 结点进行延长或裁剪操作,就需要首先进行线要素的翻转操作(Flip) 的方向,使原来的起始结点变为终结点,原来的终结点变为起始结点。 单击 Task 箭头,选择 Modify Feature(修改要素)选项,单击 按钮,在图形窗口

中选择需要翻转的线要素,单击右键,选择 Flip 命令,线要素被翻转。在旁单击左键,或 单击右键,选择 Finish Sketch 命令结束操作。 (5) 要素的变形与缩放 1) 要素变形操作 线要素和多边形要素的变形操作都是通过绘制草图完成的。在对线要素进行变形操作 时,草图线要与线要素相交,且草图线的两个端点应该位于线要素的一侧,而在对多边形 要素进行变形操作时,如果草图的两个端点位于多边形内,多边形将增加一块草图面积, 如果草图的两个端点位于多边形外,多边形将被裁剪一块草图面积。 单击 Task 箭头,选择 Reshape feature(要素变形操作)选项,单击 窗口中选择需要变形的要素(线或多边形) ,单击 按钮,在图形

按钮,根据要素变形的需要,在图形

窗口绘制一条草图线,双击鼠标左键,或单击右键,选择 Finish Sketch 命令,要素就会按 照草图与原图的关系发生变形。如图 3.113、3.114 所示。

51

图 3.113 草图的两个端点位于多边形内时的要素变形

图 3.114 草图的两个端点位于多边形外时的要素变形

2) 要素缩放操作 A 添加缩放工具按钮 在 ArcMap 主菜单条上单击 Tools 命 令, 打开 Tools 下拉菜单, 单击 Customize 命 令 , 打 开 Customize 对 话 框 , 单 击 Commands 标签,进入 Commands 选项 卡,在 Categorie 选项卡中选择 Editor, 在 Commands 选项卡中选择 Scale,如图 3.115 所示。按住左键拖动 Scael 命令到 Editor 工具条,释放左键,这时 按钮
图 3.115 Customize 对话框(Commands 选项卡)

出现在 Editor 工具条上。关闭 Customize 对话框。 B 执行要素缩放操作 单击

按钮,在图形窗口中选择需要缩放的要素(可以多选) ,单击

按钮,根据

需要移动要素选择锚位置,在要素上按住鼠标左键拖动到缩放的尺寸,释放左键,完成要 素缩放。 (6) 要素结点编辑操作 无论线要素还是面要素,都由若干结点组成,在数据编辑操作中,可以根据需要添加 结点、删除结点、移动结点,达到对要素变形与拉伸的目的。 1) 添加要素结点
52

线要素与多边形要素都可以添加结点,对于线要素,既可以在中间添加结点,也可以 从终结点添加结点,也就是继续绘制线要素,还可以在两个结点中间插入结点。 A 单击 Task 箭头,选择 Modify Feature(修改要素)选项,单击 按钮,在

B

图形窗口中选择需要添加结点的要素(线或多边形) 。 在需要添加结点的位置上单击右键,选择 Insert Vertex 命令,一个结点就添 加到了所选要素上。 或者选择需要添加结点的要素(线或多边形) ,单击 按钮,在图形窗口添

C

加新的结点,系统从原要素终结点开始绘制一条草图线,双击左键,结束添 加结点, D 或者在需要添加结点的位置上单 击右 键,选择 Properties 命令,打开 Edit Sketch Properties 对话框,显 示结点坐标。在某个结点坐标上 单击右键,打开结点操作快捷菜 单,如图 3.116 所示,选择 Insert Before 命令,在被选择点与前一 图 3.116 Edit Sketch Properties 对话框 点中间添加了一个新结点,选择 Insert After 命令,在被选择点与 后一点中间添加了一个新结点。 2) 删除要素结点 单击 Task 箭头,选择 Modify Feature(修改要素)选项,单击 按钮,在图形窗口

中选择需要删除结点的要素 (线或多边形)在需要删除结点的位置上单击右键, , 选择 Delete Vertex 命令,或者选择 Properties 命令,打开 Edit Sketch Properties 对话框,显示结点坐标, 参见图 3.116。按住 Shift 键或 Ctrl 键选 中多个结点,单击右键,选择 Delete 命 令或直接按键盘上的 Delete 键就可删除 多个结点。要素形状发生变化。 3) 移动要素结点 移动结点是改变要素形状的另一种 途径,可以应用不同的方法移动结点, 移动结点之后,可以使要素完全变形, 也可以使要素在保持基本几何形状的前 提下拉伸。结点移动有以下几种方法: 单击 Task 箭头, 选择 Modify Feature
53

图 3.117

Editing Options 对话框

(修改要素) 选项, 单击

按钮, 在图形窗口中选择需要移动结点的要素 (线或多边形) ,

在需要移动结点的位置上按住左键,并将结点拖放到新的位置后释放左键。 或者在需要移动结点的位置上单击右键,选择 Move To 命令,在打开的 Move To 窗口 中输入坐标,并按 Enter 键,结点就可按照确定的坐标移动到新的位置。 或者在需要移动结点的位置上单击右键,选择 Move 命令,在打开的 Move 窗口中输 入坐标增量,并按 Enter 键,结点就可按照确定的坐标增量移动到新的位置。 或者在图形窗口中选择需要移动结点进行拉伸的要素(线或多边形) ,在 Editor 下拉 菜单中,单击 Options 命令,打开 Editing Options 对话框,单击 General 标签进入 General 如图 3.117 所示。 选项卡, 选中 Stretch geometry proportionately when move a vertex 复选框, 单击确定按钮,完成要素拉伸开关设置,退出该对话框。在需要移动结点的位置上按住左 键,将结点拖放到新的位置后释放左键,结点被移位,要素被拉伸,要素形状基本保持不 变。 2. 拓扑编辑 在进行要素拓扑编辑之前,首先需要创建拓扑,以便具有共享边或点的要素按照拓扑 关系共享边或点,为拓扑关联的保持或维护做准备。 当创建了拓扑之后,要素之间就具有共享边或点,在编辑共享边或点的过程中,相关 的要素将自动更新其形状。 拓扑关系在空间数据的查询和分析中非常重要,由于进行拓扑编辑时,共享边或点的 移动或修改不会影响要素之间的空间关系,所以拓扑编辑经常应用于数据更新,如土地利 用类型的更新。 (1) 共享要素移动 在拓扑关系构建以后,就可以通过 按钮对共享要素(Shared Features)进行移动,

包括共享的边线要素和结点要素。在共享要素的选择与移动过程中,以高亮度显示的选择 要素仅仅是最上层的要素,但在执行了移动之后,没有被选择的相关要素以及没有在地图 中显示的相关要素,同样会发生移动,以保持拓扑关联的一致性。 1) 共享结点的移动 在拓扑关系构建以后,单击 按钮,在图形窗口选中需要移动的共享结点,结点以

高亮度显示,按住鼠标左键将节点拖到新的位置释放左键,结点被移动。数据集中与该结 点具有一致性的和相连接的边线与结点都相应更新位置。如图 3.118 所示。

图 3.118 共享结点的移动 54

2) 共享边线的移动 在拓扑关系构建以后,单击 按钮,在图形窗口选中需要移动的共享边线,边线以

高亮度显示,按住鼠标左键将边线拖到新的位置释放左键,边线被移动。数据集中与该边 线具有一致性的和相连接的边线与结点都相应更新位置。如图 3.119 所示。

3.119 共享边线的移动

(2) 共享边线编辑 1) 共享边线变形 在拓扑关系构建以后,单击下拉 Task 箭头,选择拓扑任务(Topology Task)中的边线 变形任务(Reshape Edge) ,单击 高亮度显示,单击 按钮,在图形窗口选择需要变形的共享边线,边线以

按钮,根据边线变形的需要,在图形窗口绘制一条草图线,该草图

线应与共享边线两次相交。双击左键,结束草图线绘制,共享边线发生变形,与该边线具 有一致性的和相连接的边线与结点都将变形。如图 3.120 所示。

图 3.120

共享边线变形

2) 共享边线修改 ,单击 在拓扑关系构建以后,单击 Task 下拉箭头,选择边线修改任务(Modify Edge) 按钮,在图形窗口选择需要修改的共享边线,边线以高亮度显示,根据需要对边线进 行修改,包括结点的添加、删除、移动等操作。单击右键,选择 Finish Sketch 命令,共享

图 3.121 55 共享边线修改

边线被修改,与该边线具有一致性的和相连接的边线与结点都被修改。如图 3.121 所示。 (3) 共享多边形生成 , 利用共享边线特性和多边形自动闭合任务 (Auto-Complete Polygon) 可以生成共享的 多边 形,该多边形与原有 的要素自动建立共享结点和共享边线,如果再利用抓点环境 (Snapping Environment)设置,可以更好地抓取已经存在的边线。 具体过程如下: 在拓扑关系构建以后, 单击 Task 下拉箭头, 选择多边形自动闭合任务 (Auto-Complete Polygon)任务,单击需要生成新多边形的数据层,单击 按钮,根据绘制多边形的需要,

在图形窗口绘制一条草图线,草图线的起点与终点都应该与已有的多边形边线相交。双击 左键,结束草图线绘制,生成共享多边形。组成多边形的其他结点与边线,都将自动与已 有多边形共享草图线,与已有多边形边线相交的出头线将自动被裁剪(Trim) 。如图 3.122 所示。

图 3.122 共享多边形生成

3.4.2 属性编辑
借助 ArcMap 的编辑工具,可以对单要素或多要素属性进行添加、删除、修改、复制 或粘贴等多种编辑操作,而应用数据层属性表,可以实现更多的编辑操作。 1. 单击 按钮,在图形窗口中选择需要编辑属性的要素(可以多选) ,单击右键,再单

2.

击 Attributes 按钮,打开 Attributes 对话框,如图 3.123 所示。 在 Attributes 对话框中,左窗口显示被选择的要素,右窗口显示属性字段及其属性值。 在左窗口中,鼠标放在所选择的要素上单击右键,打开选择要素操作快捷菜单,如图 3.124 所示。包括 Highlight、 Zoom To、 Copy、 Paste、 Unselect、Delete 五个命令。

56

图 3.123

Attributes 对话框(属性数据浏览) 图 3.124Attributes 对话框(属性数据编辑)

3.

也可以通过数据显示工具条中的

按钮,打开 Identify Results 对话框,完成对属性

数据的浏览与编辑,如图 3.125 所示。

图 3.125

Identify Results 对话框

4.

也可以右键单击图层,单击 Open Attribute Table 命令,如图 3.126 所示,打开图层的属 性表,如图 3.127 所示。单击 Options 按钮, 如图 3.128 所示,可以进行增加字段、关联 表、属性表导出等操作。但是不能在属性表 里进行修改、删除等操作。

图 3.126 打开图层的属性表

图 3.127 图层的属性表

图 3.128 Options 按钮

57


相关文章:
ArcGIS 数据采集
ArcGIS数据采集实习报告 地理信息系统 第一章 数据...空间点、线、面实体都有相应的属性。 3.属性数据...及其组合体来表示地理实体空间分布的一种数据组织方式...
ArcGIS空间数据与空间分析免费学习_其他_教学视频大全
分别是原著里面的:空间数据采集;空间数据编辑;矢量数据空间分析;栅格数据空间分析...第3章 arcgis矢量数据空间分析01 数据提取 14分钟 02 统计分析 9分钟 03 ...
arcgis 空间数据的编辑处理及坐标变换
arcgis 空间数据的编辑处理及坐标变换_天文/地理_自然科学_专业资料。实验3-1、...第 7 步 导入 GPS 数据,生成图层各类手持 GPS 接收机采集到的数据可以通过...
ARCGIS地理信息系统空间分析实验教程
ARCGIS地理信息系统空间分析实验教程_天文/地理_自然科学_专业资料。第二ArcGIS...环境设置介绍 第三章空间数据的采集与组织 3.1 shapefile文件创建 3.1.1 创建...
实验四 ArcGIS空间数据采集和编辑1
软件准备: ArcGIS Desktop ---ArcMap 三、实验内容及步骤第 1 步 地形图的...ArcGIS 10空间数据的组织... 9页 1下载券 arcgis数据的采集与编... 11页...
Arcgis实验一空间数据库建立
“影像配准”工具栏上的控制点选择工具,在扫描地图中,采集第 1 个 GPS 控制...Arcgis实验(空间数据库... Arcgis实验(空间数据处... Arcgis实验四空间分析...
ArcGIS空间数据处理实验报告
3 ? 点击工具栏上 按钮,打开 ArcToolBox,选择“分析工具->提取->裁剪”, ...ArcGIS 10空间数据的组织... 9页 1下载券 arcgis二次开发实验报告... 5页 ...
Gis原理“第五章空间数据采集与处理作业”
ArcGis 桌面系统中进行矢量数据采集:在 ArcGIS 中,进 行矢量数据采集,就是对地图等扫描的数据进行数字化的过程。 3、简要说明空间数据质量问题的来源?如何进行...
[ArcGIS地理信息系统空间分析实验教程实习教材][实例与...
[ArcGIS地理信息系统空间分析实验教程实习教材][实例与练习].汤国安.扫描版_理学_高等教育_教育专区。第三章 数据的采集与组织 GIS 软件应用实习教材 实例与练习 ...
空间数据采集与编辑
第5章 GIS空间数据采集与处... 57页 2财富值 3.空间数据采集 26页 免费 ...了解 ArcGIS 的体系结构,认识 ArcMap 图形用户界面,了解地理数据的组织与显示 ...
更多相关标签: