要素类基础知识

要素类是具有相同空间制图表达(如点、线或面)和一组通用属性列的常用要素的同类集合,例如,表示道路中心线的线要素类。 最常用的四个要素类分别是点、线、面和注记(地图文本术语)。

在下图中,这些要素类用于表示同一个区域的四个数据集:

  • 以点形式表示的检修孔盖
  • 下水道管线
  • 宗地多边形
  • 街道名称注记

地理数据库中最常用的四种要素类

在此图中,您还会看到对某些高级要素属性进行建模的潜在要求。 例如,下水道管线和检修孔盖位置构成了一个雨水下水道网络,您可以使用该系统来对径流和流量建模。 此外,还应注意相邻宗地如何共用公共边界。 大多数宗地用户都希望使用拓扑来维护共享要素边界在数据集中的完整性。

如前文所述,用户通常需要在地理数据集中对此类空间关系和行为进行建模。 在此种情况下,您可以通过添加多个高级地理数据库元素(如拓扑、网络数据集和 terrain)来扩展这些基本要素类。

要素类的类型

矢量要素(带有矢量几何的地理对象)是一种常用的地理数据集,其用途广泛,非常适合表示带有离散边界的要素(例如街道、州和宗地)。 要素是一个对象,可将其地理制图表达(通常为点、线或面)存储为行中的一个属性(或字段)。 在 ArcGIS 中,要素类是数据库表中存储有公共空间制图表达和属性集的要素的同类集合,例如,线要素类用于表示道路中心线。

注:

创建要素类时,将要求您设置要素的类型以定义要素类的类型(点、多点、折线或多面体)。

通常,要素类是点、线或面的专题集合,但存在几种要素类类型。 在数据库和地理数据库中支持前三种类型。 后四个仅适用于地理数据库。

  • 点 - 表示过小而无法表示为线或面以及点位置(如 GPS 观测值)的要素。
  • 线 - 表示形状和位置过窄而无法表示为区域的地理对象(如,街道中心线与河流)。 也使用线来表示具有长度但没有面积的要素,如等值线和边界。
  • 面 - 一组具有多个边的面要素,表示同类要素类型(如州、县、宗地、土壤类型和土地使用区域)的形状和位置。
  • 注记 - 包含表示文本渲染方式的属性的地图文本。 除了每个注记的文本字符串,还包括一些其他属性(例如,用于放置文本的形状点、其字体与字号以及其他显示属性)。 注记也可以是要素关联的,并可包含子类。
  • 尺寸注记 - 一种可显示特定长度或距离(例如,要指示建筑物某一侧或地块边界或两个要素之间距离的长度)的特殊注记类型。 在 GIS 的设计、工程和公共事业应用中,经常会使用尺寸注记。
    地理数据库中尺寸要素的样式示例
  • 多点 - 由多个点组成的要素。 多点通常用于管理非常大的点集合数组(如激光雷达点聚类),可包含数以亿计的点。 对于此类点几何使用单一行是不可行的。 将这些点聚类为多点行,可使地理数据库能够处理海量点集。

    绿色点表示激光雷达观测的多点要素类的内容
  • 多面体 - 一种 3D 几何,用于表示在三维空间中占用离散区域或体积的要素的外表面或壳。 多面体由平面 3D 环和三角形构成,多面体将组合使用这两种形状以建立三维壳模型。 您可以使用多面体来表示从简单对象(如,球体和立方体)到复杂对象(如,等值面和建筑物)的任何事物。

    包含一组市区建筑物的多面体要素类

  • 3D 对象 - 一种 3D 几何,专门用于表示在三维空间中占用离散区域或体积的要素的外表面或壳的附加格式支持(例如材料)。 您可以使用 3D 对象以较高的细节水平表示材料,从而支持光泽度或粗糙度等美感。 您可以在简单或高级对象(例如球体和立方体)以及复杂结构(例如等值面和建筑材料)上使用它们。 3D 对象使用高级关联表存储材料的多个组件。 这些表,以及平面 3D 环和三角形,将共同用于建立三维壳模型。

要素几何和要素坐标

要素类包含各要素的几何形状和描述性属性。 各要素几何主要由各自的要素类型(点、线或面)定义。 但是,也可定义其他几何属性。 例如,要素可以是单部件或多部件、具有 3D 折点、具有线性测量值(称为 m 值)以及包含通过参数定义的曲线。 本节简要概述了这些功能。

单部件线和多部件线以及面

线要素类和面要素类可由单部分或多部分构成。 例如,州可以包含多个部分(夏威夷群岛),但视为单个州要素。

折点、线段、高程和测量值

要素几何主要由坐标折点构成。 线和面要素中的线段跨越折点。 线段可以是笔直的边,也可以是通过参数定义的曲线。 要素中的折点还可以包含 z 值来表示高程测量值,并包含 m 值来表示线要素沿线的测量值。

线和面要素中的线段类型

通过以下两个关键元素定义线和面:用于定义线或面形状的有序的折点列表和在每对折点之间使用的线段类型。 每个线和面都是一个有序的折点集(可将其彼此相连以形成一个几何形状)。 表达各线和面的另一种方法是,将其视为相连线段的有序系列,其中各线段的类型为:直线、圆弧、椭圆弧或贝塞尔曲线。

同时包含直线段和曲线段的宗地要素边界

默认线段类型为两个折点之间的直线。 但是,当您需要定义曲线或参数形状时,可定义三个附加线段类型:圆弧、椭圆弧和贝塞尔曲线。 这些形状通常用于表示构建的环境,例如宗地边界和道路。

使用 z 值的垂直测量结果

要素坐标可包括 x,y 和 x,y,z 折点。 Z 值最常用于表示高程,但也可表示其他测量结果,如年降雨量或空气质量。

要素可以具有 x,y 坐标并(可选)添加 z 高程值。

使用 m 值的线性测量结果

线状要素折点也可包括 m 值。 某些 GIS 应用程序使用沿线状要素(例如道路、河流和管线)内插距离的线性测量系统。 可为要素中的每个折点分配 m 值。 常见示例是运输部门所使用的公路里程标志测量系统,用于沿公路记录路面状况、速度限制、事故位置以及其他事故点。 两个常用测量单位为距设定位置的里程标志距离(例如,表示县的线)和距参照标记的距离。

测量值的折点可以为 x,y,m 或 x,y,z,m。

对这些数据集的支持通常称为线性参考。 对沿着这些测量系统发生的事件进行地理定位的过程称为动态分段

测得的坐标形成这些系统的基本结构单元。 在 ArcGIS 的线性参考实现中,术语路径是指具有唯一标识符和通用测量系统的任意线状要素(如城市街道、公路、河流或管线)。 可基于线要素类构建使用通用测量系统的路径集合。

要素容差

在 GIS 数据管理中,位置准确性以及对高精度数据管理框架的支持至关重要。 能够足够精确地存储坐标信息成为关键要求。 坐标精度用于描述记录位置时使用的位数。 这将定义采集和管理空间数据时使用的分辨率。

由于地理数据库和数据库可以记录高精度坐标,因此随着数据捕获工具和传感器越来越先进(来自测量和土木工程的数据条目、cadastral 和 COGO 数据捕获、影像分辨率提高、激光雷达、基于 CAD 构建计划等),用户可以构建具有高精度级别且分辨率较高的数据集。

ArcGIS 使用整数记录坐标,并可处理高精度位置。 在各种 ArcGIS 操作中,使用某些关键几何属性处理和管理要素坐标。 这些属性在创建每个要素类或要素数据集期间进行定义。

以下几何属性有助于定义用于各种空间处理和几何操作的坐标分辨率和处理容差:

  • x,y 分辨率:记录要素类中的坐标时使用的精度
  • x、y 容差:用于使用重叠几何来聚类要素的聚类容差;在拓扑、要素叠加和相关操作中使用
  • z 容差和 z 分辨率:3D 数据集中的垂直坐标维度的容差和分辨率属性(例如,高程测量值)
  • m 容差和 m 分辨率:在线性参考数据集中使用的、沿线要素的测量值的容差和分辨率属性(例如,沿道路方向、以米为单位的距离)

X,y 分辨率

要素类或要素数据集的 x,y 分辨率是用于存储 x,y 坐标值的数值精度。 精度对于准确的要素表示、分析和制图至关重要。

x,y 分辨率定义用于存储要素坐标的小数位数或有效数字位数(以 x 和 y 为单位)。 可将分辨率视为定义一个在其上捕捉所有坐标的非常精细的格网网格。 在 ArcGIS 中,坐标值实际上是以整数形式进行存储和运算。 因此,有时,此格网网格称为整型格网或坐标格网。

分辨率用于定义可放置所有坐标的坐标格网中的两个网格之间的距离。 x,y 分辨率以数据单位表示(基于其坐标系),例如 State Plane 英尺、UTM 米或 Albers 米。

要素类的默认 X,Y 分辨率为 0.001 米,或以数据集的坐标系单位表示的等效值。 例如,如果要素类以美国国家平面英尺为单位进行存储,则默认精度为 0.0003281 英尺(0.003937 英寸)。 如果坐标以经纬度表示,则默认 x,y 分辨率为 0.000000001 度。

下图提供了在其上将所有坐标值捕捉到格网网格的坐标格网的概念视图。 格网覆盖了各数据集的范围。 此网格的精细度(格网线的间距)由 x,y 分辨率进行定义,该分辨率非常小。

x,y 分辨率格网网格

必要时,可覆盖默认的 x,y 分辨率值,并为每个要素类或要素数据集设置其他值。 如果设置的 x,y 分辨率值较小,则与使用较大的 x,y 分辨率值相比,有可能增加数据存储并缩短数据集处理时间。

X,y 容差

创建要素类时,系统将要求您设置 x,y 容差。 x,y 容差用于设置聚类操作(例如拓扑验证、缓冲区生成和面叠加)中以及某些编辑操作中坐标之间的最小距离。

用于在这些操作过程中确定所有要素坐标(结点和折点)间最小距离的 x,y 容差,会影响要素处理操作。 按照定义,该容差还定义执行聚类操作期间坐标可以在 x 和/或 y 方向上移动的距离。

x,y 容差是一个极小的距离值(默认值为 0.001 米,以地面上单位为单位)。 它用于在聚类操作过程中解决坐标交叉点位置不精确的问题。 当使用几何操作处理要素类时,如果两个坐标的 x 距离和 y 距离位于彼此的 x,y 容差范围内,这两个坐标会重合(也就是说,共享同一个 x,y 位置)。 因此,聚类的坐标将移至公共位置。

Xx,y 容差用于匹配重叠的坐标(处于彼此的容差范围内)

通常,将精度较低的坐标移动到精度较高的坐标位置,或按照聚类中各坐标间的加权平均距离计算一个新位置。 在此类情况下,加权平均距离基于聚类坐标的精度等级。

有关如何为每个要素类设置精度等级的详细信息,请参阅 ArcGIS 中的拓扑

聚类过程的工作原理为在地图上移动并识别处于彼此 x,y 容差范围内的坐标聚类。 ArcGIS 使用此算法来查找、清除和管理要素间的共享几何。 这意味着坐标将重合(捕捉到同一个共享坐标位置)。 这对于许多 GIS 操作和概念至关重要。

在此类操作期间,坐标移动到新位置可以经过的最大距离是 2 的平方根乘以 x,y 容差。 由于聚类算法是迭代算法,因此坐标位置的平移距离有时会大于此距离。

默认 x,y 容差设置为 0.001 米,或以数据集的实际坐标系单位表示的等效值(也就是说,地面上的 0.001 米)。 例如,如果坐标系以 State Plane 英尺为单位,则默认 x,y 容差是 0.003281 英尺(0.03937 英寸)。

x,y 容差是分辨率的 10 倍。

默认 x,y 容差值是默认 x,y 分辨率的 10 倍,且在大多数情况下均建议使用此设置。 可以选择为坐标精度较低的数据设置较大的容差值,并为具有极高精度的数据集设置较小的值。

需要注意的是,x,y 容差并非用于概化几何形状。 而是用于在拓扑操作过程中整合线作业和边界。 即对位于彼此之间极小距离范围内的坐标进行整合。 由于坐标在 x 和 y 方向上可移动与 x,y 容差相同的距离,因此凭借使用 x,y 容差的命令来处理数据集,可以解决许多潜在问题。 其中包括极小的过失或未及的处理、重复线段的自动分离删除以及沿边界线的坐标稀疏化。

以下是一些实用的提示:

  • 通常,可使用 10 倍于 x,y 分辨率的 x,y 容差,并且预期结果很好。
  • 为了使坐标移动距离较小,也应使 X,Y 容差较小。 但是,过小的 x,y 容差(例如 x,y 分辨率的 3 倍或更小)可能无法正确整合重叠边界和坐标的线作业。
  • 相反,如果 x、y 容差过大,要素坐标则可能彼此重叠。 这会影响要素边界制图表达的精度。
  • x,y 容差不应接近于数据采集分辨率。 例如,地图比例为 1:12,000 时,1 英寸等于 1,000 英尺,1 英寸的 1/50 等于 20 英尺。 在使用这些数字的情况下,请保持通过 x,y 容差的坐标移动正常进行。 请记住,在这种情况下,默认 x,y 容差将为 0.0003281 英尺,这是个合理的默认 x,y 容差值;实际上,除了极端情况之外,在其他所有情况下使用默认 x,y 容差值是最佳选择。
  • 在拓扑中,可设置每个要素类的坐标等级。 将最精确要素(如测量所得的要素)的坐标等级设置为 1,将精度较低要素的坐标等级设置为 2、3 等等(按精度等级降序)。 这将使等级数较高(因此坐标精度较低)的其他要素坐标调整为等级数较低而精度较高的要素。

要素类存储

每个要素类在单独的表中进行管理。 各行的 shape 列用于保存各要素的几何或形状。

在要素类表中,以下内容适用:

  • 所有要素类均为表。
  • 各个要素以行的形式保存。
  • 要素属性以列的形式进行记录。
  • shape 列包含每个要素的几何(点、线、面等)。
  • ObjectID 列包含每个要素的唯一标识符。
    注:

    要素类和表是使用 32 位 ObjectID 创建的。 要将数据集的 ObjectID 字段迁移到 64 位 ObjectID,必须使用将对象 ID 迁移到 64 位工具。

如果在地理数据库中创建线要素类,则会在该要素类中自动添加一个附加字段,用以记录线的长度。 如果创建面要素类,则会自动添加两个附加字段,用以记录每个面要素的长度(周长)和面积。 这些值的测量单位取决于对要素类定义的空间参考。 根据使用的数据库和空间类型,这些字段的名称会有所不同。 这些字段是必填字段,不能修改。

扩展要素类

每个要素类都是一个具有相同几何类型、相同属性和同一空间参考的地理要素的集合。 您可以扩展存储在地理数据库中的要素类以添加行为或提高数据完整性。 以下是您使用地理数据库扩展要素类的方式和原因。

使用地理数据库中的要素类

选项描述

子类型

您可以使用子类型管理一个要素类中的一组要素子类。 要素类表经常使用此子类型来管理同一要素类型子集上的不同行为。

属性域

您可以使用属性域为属性列指定有效值列表或有效值范围。 使用域帮助确保属性值的完整性。 域通常用于强制执行数据分类(例如道路类、分区代码和土地使用分类)。

版本化

您可以使用版本化管理多个关键的 GIS 工作流,以实现数据管理;例如,支持长期更新事务、历史归档和多用户编辑。