要素类基础知识

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

在下图中,使用它们来表示同一个区域的四个数据集:

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

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

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

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

要素类的类型

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

注:

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

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

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

    绿色点表示激光雷达观测的多点要素类的内容。
  • 多面体:一种 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 数据管理中,位置准确性以及对高精度数据管理框架的支持至关重要。能够足够精确地存储坐标信息成为关键要求。坐标精度用于描述记录位置时使用的位数。它定义采集和管理空间数据时所用的分辨率。

由于地理数据库和数据库能够记录高精度坐标,因此当数据采集工具和传感器随着时间的推移不断改进时,用户可构建具有高精度等级和较高分辨率的数据集(来自测量和土木工程的数据输入、地籍和 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 分辨率,例如,以美国国家平面英尺、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(或两者)方向上移动的距离。

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

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

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

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

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

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

默认 x,y 容差设置为 0.001 米,或以数据集的实际坐标系单位表示的等效值(也就是说,地面上的 0.001 米)。例如,如果坐标系以美国国家平面英尺记录,则默认 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 列保存各要素的唯一标识符。

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

扩展要素类

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

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

使用要实现的目的

子类型

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

属性域

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

版本管理

通过管理多个关键的 GIS 工作流来实现数据管理;例如,支持长期更新事务、历史归档和多用户编辑。