浏览图层属性

首先,您将调查当前徒步路线数据,并确定实施和应用属性数据验证以简化数据维护和一致性的可能性。

探索徒步路线地图

您将查看表示奥地利维也纳附近徒步路线的线要素。 您将调查当前属性值,并考虑 GIS 和属性验证的使用如何帮助使用维也纳市提供的徒步路线数据的用户优化数据完整性并提高组织效率。

  1. 打开维也纳市的 Vienna City Map

    此页面包含城市的当前徒步路线地图。 路线将显示为绿线。

    注:

    默认情况下,路线可能不会显示在地图上。 要打开路线,请在 Show on the map 下滚动至 City walks,然后选中 City hiking trail 图层。

  2. 在地图上,单击徒步路线并查看弹出窗口。

    徒步路线弹出窗口

  3. 在弹出窗口中,单击详细信息

    随即显示一个新页面。 其中包含有关您单击的路线的附加详细信息。

    虽然地图提供了出色的服务,但是如果可以将附加详细信息作为每个徒步路线的属性,则会更加有用。 由此,信息可以显示在路线的弹出窗口中,用户无需导航至新页面。 此外,创建新路线后,由于将应用地理数据库属性验证技术,因此填充路线属性的过程将更加简化。

  4. 关闭其他详细信息页以及包含 Vienna City Map 的页面。

下载数据

接下来,您将下载包含本教程所用的数据的工程包,然后在 ArcGIS Pro 中将其打开。 您需要将一些数据从地理数据库添加至地图。

  1. 转到 ArcGIS Online 上的 Vienna 项目。

    此工程包包含本教程所用的数据。

  2. 单击在 ArcGIS Pro 中打开

    在 ArcGIS Pro 中打开按钮

    内容将下载为名为 item.pitemx 的包。

    注:

    如果需要,可以单独下载并打开工程包。 为此,请单击下载。 在计算机上找到已下载的 Vienna.ppkx。 如有必要,将文件复制并移动到合适的位置,然后双击以在 ArcGIS Pro 中打开包。

  3. 打开 item.pitemx。 如果收到系统提示,在 ArcGIS Pro 中使用您获得许可的 ArcGIS 帐户登录。
    注:

    如果您没有 ArcGIS Pro 的访问权限或者 ArcGIS 组织帐户,请参阅软件访问权限选项

    该包随即在 ArcGIS Pro 中打开。 其中包含已缩放至维也纳的地图。

  4. 目录窗格中,展开 数据库 文件夹并展开 vienna.gdb
    提示:

    如果目录窗格未打开,则单击功能区上的视图选项卡。 在窗口组中,单击目录窗格

  5. 右键单击 ViennaCityTrails_Raw 并选择添加至当前地图

    “添加到当前地图”选项

    提示:

    ArcGIS Pro 中,您可以使用浅色主题或深色主题来个性化用户界面的外观。 在本教程中,示例图片将使用深色主题,但是您可以选择自己喜欢的主题。 如果要更改主题,单击功能区中的工程。 单击选项。 在选项窗口中,单击应用程序下方的常规。 展开应用程序主题,然后选择深色。 您需要重新启动 ArcGIS Pro 才能使主题更改生效。

    将使用默认符号系统显示 Vienna City Trails 要素。

    注:

    图层的符号系统颜色可能与示例图像不同,但是不会影响分析结果。

    Vienna City Trails 图层

  6. 内容窗格中,取消选中 Vienna City Trails 图层以将其关闭。
  7. 目录窗格的 vienna.gdb 下,将 RundumadumTrail_Subtypes 拖动到地图上。 如有必要,在内容窗格中打开 Rundumadum Trail Stages 图层。

    此图层已使用不同颜色对每个路线阶段进行了符号化。 如果图层包含子类型,则 ArcGIS Pro 会自动将唯一值符号系统应用于具有子类型的属性。

    Rundumadum Trail Stages 图层

    Rundumadum Trail Stages 图层已将子类型应用于 TrailStage 字段。 借助子类型,可以对要素类内的要素进行分类或分组,并为编辑者提供有效属性选项的预定义列表。 要素类只能对其中一个属性字段应用子类型。

浏览属性

Rundumadum Trail Stages 图层已基于其属性符号化。 为了更好地了解图层属性,您需要在图层属性表中查看这些属性。

  1. 内容窗格中,右键单击 Rundumadum Trail Stages 图层并选择属性表

    “属性表”选项

    图层的属性表随即显示。 属性表构成了地理数据的基础,同时还是任何数据模型的基本结构单元。 表中的属性信息将按行和列进行组织。 在 ArcGIS 中,行被称为记录,列被称为字段。

  2. 如有必要,可以拖动 Rundumadum Trail Stages 属性表并将其停靠在地图下方。

    高亮显示的字段 Trail Stage Number 表示已应用子类型的字段。 该字段将显示描述,其中包含路线阶段名称。

    Trail Stage Number 属性

    注:

    另一种显示图层属性表的方法是在内容窗格中单击图层。 单击功能区上的数据选项卡。 在组中,单击属性表。 此外,设计组还包含字段子类型属性域按钮。 这些工具可用于处理数据模型以及更新和修改数据库方案。

    在后台,地理数据库将在子类型字段中存储整数值,而非描述性名称。 通过查找表将整数与描述进行配对,由此使文件大小更小且更加高效。

  3. 在属性表中,单击选项按钮,然后取消选中显示属性域和子类型描述

    Show domain and subtype descriptions 选项

    该表随即进行更新以显示子类型编码,而非描述。

    子类型编码

  4. 单击选项按钮,然后选中显示属性域和子类型描述以显示子类型描述。
  5. 在选择表后,在功能区上单击项卡。 在字段组中,单击别名

    “别名”按钮

    字段名称将从显示具有描述性名称的字段别名切换为显示原始字段名称。 例如,Trail Stage Number 别名变为 TrailStage 字段名称。

    别名和字段名称

    别名是一种为用户提供描述性字段名称的有效方法,不会影响数据库字段名称规则,该规则会限制长度以及空格和特殊字符的使用。

  6. 在功能区中,单击别名以切换回别名。
  7. 如有必要,可在内容窗格中单击 Rundumadum Trail Stages 图层以将其选中。
  8. 单击功能区上的数据选项卡。 在数据设计组中,单击字段

    “字段”按钮

    字段视图随即打开。 其中将显示图层的属性字段和属性。 在此视图中,您可以创建字段、删除字段以及修改现有字段。

    *TrailStage 字段名称为粗体,并且以星号开头,指示其已应用子类型。 字段的数据类型设置为 Short,表示短整型。 具有子类型的字段必须为短整型或长整型字段。 该字段的别名为 Trail Stage Number

    TrailStage 字段

    其中一个字段名为 BEZ_TEXT。 由于字段名称并非描述性名称,因此已为此字段设置别名 Original Name

  9. 对于 BEZ_TEXT,双击包含别名 Original Name 的单元格。

    该单元格将高亮显示,指示可以选择更新或更改现有别名。 目前,您不需要进行任何更改。

  10. 单击表中其他位置取消选中该单元格。

    Data Type 列包含每个字段的数据类型。 在此表中,字段主要设置为 TextFloatShort。 内部字段设置为 Double。 路线位置(坐标)将存储在类型为 Geometry 的特殊字段中。

    查看属性字段类型

    表中的每个字段均存储特定类型的数据,如下表所示:

    字段类型描述

    文本

    字符串

    转为浮点型

    介于 -3.4E38 和 1.2E38 之间的小数

    双精度

    介于 -2.2E308 和 1.8E308 之间的小数

    短整型

    介于 -32,768 和 32,767 之间的整数

    长整型

    介于 -2,147,483,648 和 2,147,483,647 之间的整数。

    日期

    日期/时间或者日期和时间

    Blob

    二进制数据的集合,例如图像、音频和其他多媒体

    栅格

    栅格图像

    GUID

    全局唯一标识符

    几何

    存储表示空间要素的 x,, 坐标对

  11. 关闭字段视图和 Rundumadum Trail Stages 属性表。 在内容窗格中,取消选中 Rundumadum Trail Stages 图层。
  12. 快速访问工具栏上单击保存按钮。

    “保存”按钮

    工程已保存。

添加新字段

接下来,您将添加一个新的短整型字段,该字段将用于为 Vienna City Trails 图层创建子类型。

  1. 内容窗格中,打开 Vienna City Trails 图层。 右键单击该图层,指向数据设计,然后选择字段

    随即显示图层的字段视图。

  2. 如有必要,在地图下定位并停靠窗格。
  3. 滚动至字段视图的底部,然后单击单击此处以添加新字段

    “单击此处添加新字段”选项

    提示:

    您也可以在功能区字段选项卡的更改组中添加新字段。

  4. 在新行中,双击 Field Name 列中的空单元格。 键入 TrailRating
    注:

    在进行编辑时,已编辑行旁将显示绿色指示器。 行旁边的红色指示符表示一个错误,该错误将导致单击保存后无法提交该行。 要读取错误,请指向红色指示符。 更正错误时,指示灯将再次变为绿色。

  5. 双击 Alias 的空白单元格,然后键入 Trail Rating
  6. 双击数据类型单元格,然后选择短整型
  7. 选中高亮显示框。

    字段属性

    数值格式属性用于更改数值的显示,如果您希望限制显示的小数位数或将数字表示为百分数,则此属性将非常有用。 但是,此操作对于新的 Trail Rating 字段并非必需操作。 即使其将存储数值,也不会将其显示为数字。 整数值将替换为子类型描述。

  8. 在功能区字段选项卡的更改组中,单击保存

    “保存”按钮

    注:

    保存使用字段视图时进行的更改后,您需要更新地理数据库结构,也称为地理数据库方案。 这与在要素类或属性表中编辑要素不同,在此处仅更改内容。

  9. 关闭字段视图。
  10. 内容窗格中,右键单击 Vienna City Trails 图层并选择属性表

    Trail Rating 字段已添加到属性表的末尾。

    添加到属性表中的新字段

填充字段

默认情况下,新字段没有值。 您需要编辑之前创建的 Trail Rating 字段,以包含基于走完每条路线花费的时间长度的值。

  1. 在属性表中,右键单击 Estimated Time 字段,并选择升序排序

    “升序排序”选项

    对于路线,评级基于完成路线的预计时间。 例如,可以在 2.5 至 3 个小时内完成的路线将评级为简单路线。

  2. Estimated Time 字段拖动到 Trail Rating 字段旁边。
  3. 对于 Trail Rating 字段,双击第一个单元格,键入 1 并按 Enter 键。

    新添加的字段值

  4. 在第二个单元格中,键入 1 并按 Enter 键。
  5. 保存编辑内容窗口中,单击
  6. 在属性表中,继续使用下表更新 Trail Rating 字段值:

    预计时间路线评级

    2.5 to 3 hours

    1

    3 to 4 hours

    2

    3.5 to 4 hours

    2

    4 to 4.5 hours

    3

    4 to 5 hours

    3

  7. Vienna City Trails 属性表中,确认已成功更新所有 Trail Rating 字段值。

    经过验证的字段值

  8. 在功能区编辑选项卡的管理编辑内容组中,单击保存

    “保存”按钮

  9. 保存编辑内容窗口中,单击
  10. 关闭属性表。 保存工程。

您已成功添加并填充此字段,以准备基于路线评级应用子类型。 接下来,您将添加子类型描述并查看结果。


创建子类型

接下来,您将在字段上创建子类型并更新编码和描述。

为路线评级创建子类型

子类型可用于将图层分类到共享相同属性的要素组中。 借助子类型视图,可以查看与图层相关联的子类型、对子类型的属性进行编辑或者为图层创建子类型。

当前 Vienna City Trails 图层尚未定义任何子类型。 您将为已添加并填充的 Trail Rating 字段创建子类型。

  1. 内容窗格中,单击 Vienna City Trails 图层以将其选中。
  2. 单击功能区上的数据选项卡。 在数据设计组中,单击子类型

    “子类型”按钮

    子类型视图随即显示。 表中将列出图层的所有字段。

  3. 如有必要,调整子类型视图的大小以显示 TrailRating 字段。
  4. 在功能区子类型选项卡的子类型组中,单击创建/管理

    “创建/管理”按钮

    管理子类型窗口随即显示。

  5. 管理子类型窗口中,对于子类型字段,选择 TrailRating

    TrailRating 选项

    可以为需要生成的每个子类型添加路线评级编码和描述。 一种填充子类型编码的更简单方式是允许工具查找指定子类型字段中的各个唯一编码。 如果您要创建许多子类型,则此方法非常有用。

  6. 管理子类型窗口中,单击查找编码

    管理子类型窗格随即进行更新以显示三个子类型编码。 这些编码代表基于 Estimated Time 字段为各种路线指定的 Trail Rating 字段值。

    “管理子类型”窗格

    接下来,您将对编码进行排序,并为每个子类型提供描述。

  7. 单击编码以按升序对子类型编码进行排序。

    “编码”选项

    可以为尚未分配路线评级的新路线添加子类型。

  8. 双击 3 下方的空单元格并键入 4,然后按 Enter 键。

    已添加的新子类型编码

    接下来,您将为每个子类型提供描述。

  9. 描述下,双击 New Subtype1。 输入 Easy,然后按 Enter 键。
  10. 可以使用下表为每个附加子类型提供描述:

    路线评级子类型编码

    1

    简单

    2

    Moderate

    3

    困难

    4

    未评级

  11. 对于默认子类型,选择 Unrated

    “未评级”选项

  12. 单击确定

    随即创建并分配子类型。 管理子类型窗口随即关闭。

  13. 在功能区子类型选项卡的更改组中,单击保存

    子类型视图中,TrailRating 识别为子类型字段,因为它采用粗体并以星号开头。 此外,每个子类型的默认值均设置为子类型编码。 默认值列和属性域列已添加至每个子类型。

    子类型类别和编码

  14. 关闭子类型视图。 在内容窗格中,右键单击 Vienna City Trails,然后选择属性表

    在属性表中,Trail Rating 字段将更新为显示子类型描述,而非数值。

    显示的子类型描述

  15. 关闭属性表。

符号化路线

接下来,您将使用子类型字段来符号化路线图层。

  1. 内容窗格中,右键单击 Vienna City Trails 图层并选择符号系统

    随即显示符号系统窗格。

  2. 符号系统窗格中,对于主符号系统,选择唯一值。 对于字段 1,选择 Trail Rating

    更新图层符号系统

  3. 格网中,右键单击与 Easy 路线相关联的线符号。 在颜色选取器中,选择 Quetzel Green
    提示:

    将鼠标指向颜色以查看其名称。

    更改符号颜色

    提示:

    在颜色选取器中,可通过将鼠标指向颜色来查看颜色名称。

    地图上的简单路线现在为绿色。

  4. 按照以下步骤更改其他符号的颜色:
    • 对于 Moderate,选择 Electron Gold(颜色选取器的第四列第三行)。
    • 对于 Strenuous,选择 Mars Red(颜色选取器的第二列第三行)。
    • 对于 Unrated,选择 Moorea Blue(颜色选取器的第九列第四行)。

    还存在无需显示的附加符号类。 由于您已经为未评级路线创建子类型,因此可以移除所有其他值符号类。

  5. 单击更多并取消选中显示其他所有值

    “显示所有其他值”选项

    现在,已符号化地图以更加直观地反映路线评级。

    经过符号化的地图

  6. 关闭符号系统窗格。 保存工程。

使用子类型

通过在城市路线上应用子类型字段,您已成功更新 Vienna City Trails 要素类。 子类型不仅通过允许从有效值列表中进行选择来强制保持完整性,还允许对数据进行分类。 可以为每个子类型中的字段设置默认值,在创建要素时,将自动应用此默认值。

接下来,您需要将属性域添加到地理数据库,并将其应用于现有要素类的单个字段。

  1. 内容窗格中,单击 Vienna City Trails 图层以将其选中。
  2. 单击功能区上的编辑选项卡。 在选择组中,单击选择按钮。

    选择按钮

  3. 在地图上,单击任意路线要素。

    随即选中单击的路线,使其以蓝色高亮显示。

  4. 编辑选项卡的选择组中,单击属性

    “属性”窗格

    随即出现属性窗格。 在此窗格中,可以编辑选定路线的属性字段值。

  5. 属性窗格中,单击 Trail Length 字段的值。

    Trail Length 值

    该字段将高亮显示,指示您可以通过输入新值来更新其值。 目前,可以使用任何值来更新 Trail Length 字段值。 系统不提供任何用于验证或限制所添加的值的机制。 稍后您将解决此问题。

    目前,您将不会对 Trail Length 字段值作出更改。

  6. 滚动至属性窗格底部。 对于路线评级字段,单击选择符号类按钮。

    应用其他子类型

    随即显示描述列表,可用于更新当前子类型。

    无法输入自定义 Trail Rating 值。 相反,您必须从列表中选择其中一个有效值以保持数据一致性。 此功能是使用子类型的主要原因。

    目前,需要更改路线评级字段值。

  7. 关闭属性窗格。
  8. 编辑选项卡的选择组中,单击清除
  9. 保存工程。

通过将子类型字段应用到城市路线,您已成功更新地理数据库中的 Vienna City Trails 要素类。


创建属性域

接下来,您需要将属性域添加到地理数据库,并将其应用于现有要素类的单个字段。

使用视图创建属性域

属性域与子类型的相似之处在于:在填充属性字段时,二者都会通过提供可供选择的有效值列表来强制保持数据完整性。 但是,属性域与子类型的不同之处在于:属性域用于控制表、要素类或子类型的任意特定属性字段中允许的值。

属性域存储在地理数据库中,可以应用于地理数据库中的多个要素类和表。 根据您的需要,属性域可以应用为范围属性域或编码值属性域。 范围属性域用于定义字段的最小值和最大值。 可应用于短整型、长整型、浮点型、双精度型和日期型的属性字段上。 编码值属性域用于为属性指定一组有效值,并给出允许的实际值和编码所表示内容的更易于理解的描述。

  1. 内容窗格中,选择 Vienna City Trails
  2. 单击功能区上的数据选项卡。 在数据设计组中,单击属性域

    “属性域”按钮

    属性域视图随即显示。 在此视图中,可以查看现有属性域、编辑其属性和值,以及创建属性域。

    接下来,您将创建一个属性域。

  3. 属性域视图中,双击属性域名称的空白单元格,然后输入 Accessibility。 对于描述,输入 Trail accessibility
  4. 对于字段类型,选择短整型。 对于属性域类型,确认已选择编码值属性域

    新建属性域

    当属性域类型为编码值属性域时,将在行末尾使用一个附加表来输入属性域编码和描述。

  5. 对于代码,输入 1。 对于描述,输入 Unpaved,然后按 Enter 键。

    “描述”字段中的 Unpaved 记录

    在添加一个编码和描述后,将添加另一行。

  6. 使用下表添加编码描述值:

    编码描述

    1

    Unpaved

    2

    Paved

    3

    Partially Paved

    4

    Stroller Friendly

    5

    Wheelchair Friendly

    现在共有五个编码和描述。

    五个编码和描述

  7. 在功能区属性域选项卡的更改组中,单击保存

    “保存”按钮

  8. 属性域选项卡的更改组中,单击新建属性域

    新属性域即会添加至视图。

  9. 对于新属性域,输入以下信息:
    • 对于属性域名称,输入 MaxTrailDuration
    • 对于描述,输入 Maximum Trail Duration
    • 对于字段类型,选择短整型
    • 对于属性域类型,选择范围属性域

    第二个属性域

    如果选择范围属性域,则附加表将提供最小值和最大值的输入,以限制或约束可在该字段中使用的数值。

  10. 对于最小值,键入 3。 对于最大值,键入 7

    最小值和最大值

  11. 在功能区属性域选项卡的更改组中,单击保存
  12. 使用以下参数为最短路线持续时间创建范围属性域:
    • 对于属性域名称,输入 MinTrailDuration
    • 对于描述,输入 Minimum Trail Duration
    • 对于字段类型,选择短整型
    • 对于属性域类型,选择范围属性域
    • 对于最小值,输入 1
    • 对于最大值,输入 5
  13. 在功能区属性域选项卡的更改组中,单击保存

    属性域视图现在包含三个属性域。

  14. 使用以下参数再添加三个范围属性域:

    域名称描述字段类型属性域类型最小值最大值

    ShortTrailLength

    Average kilometer length of a short trail

    短整型

    范围属性域

    2

    9

    MediumTrailLength

    Average kilometer length of a medium trail

    短整型

    范围属性域

    10

    13

    LongTrailLength

    Average kilometer length of a long trail

    短整型

    范围属性域

    14

    15

    您总共创建了六个属性域。

    附加范围属性域

  15. 在功能区属性域选项卡的更改组中,单击保存
  16. 关闭属性域视图。

使用工具创建属性域

创建具有较多编码和描述的编码值属性域可能是一个耗时且费力的过程。 要加快该过程,您将使用地理处理工具根据地理数据库中的现有表来创建附加编码值属性域。

表转属性域地理处理工具可使用表中的值来创建或更新编码值属性域。

注:

属性域是地理数据库的属性,可以在地理数据库中的要素类、表和子类型之间共享属性域。 通过在编码值属性域中使用编码,或者在范围属性域中使用最小值或最大值范围来限制可插入字段中的值,属性域提供了强制保持数据完整性的有效方式。

  1. 目录窗格中,展开地图文件夹。 右键单击 ReferenceMap,然后选择打开

    随即显示地图地图。 此地图包含多个独立表。

  2. 内容窗格中,右键单击 Duration 表并选择打开

    “打开”选项

    该表包含可在路线持续时间属性域中使用的值。

    Duration 表内容

    接下来,您将使用地理处理工具来创建属性域,并从此表中为其指定值。

  3. 关闭 Duration 表和 ReferenceMap 地图。
  4. 在功能区分析选项卡的地理处理组中,单击工具

    工具按钮

    将出现地理处理窗格。

  5. 地理处理窗格中,搜索表转属性域工具并将其打开。
  6. 表转属性域窗格中,设置以下参数:
    • 对于输入表,选择 Duration
    • 对于编码字段,选择 TrailDuration
    • 对于描述字段,选择 TrailDurationTimes
    • 对于输入工作空间,浏览到工程的数据库文件夹,然后选择 vienna.gdb
    • 对于属性域名称,接受默认名称 TrailDuration
    • 对于属性域描述,输入 Time needed to complete trail

    “表转属性域”地理处理工具参数

  7. 单击运行

    该工具随即运行。 完成后,不会对地图进行任何更改。 可通过检查属性域视图确认工具成功运行。

  8. 内容窗格中,选择 Vienna City Trails。 单击功能区上的数据选项卡。 在数据设计组中,单击属性域

    属性域视图随即显示。 TrailDuration 属性域已成功添加。

    “表转属性域”输出

    注:

    如果未看到 TrailDuration 属性域,尝试关闭属性域视图并将其重新打开。

  9. 使用表转属性域地理处理工具,使用下表中的参数创建四个附加编码值属性域:

    输入表编码字段描述字段输入工作空间域名称属性域描述

    Scenery

    SceneryCode

    SceneryDescription

    vienna.gdb

    Scenery

    Various types of scenery along trail

    TrailLength

    LengthCode

    LengthDescription

    vienna.gdb

    TrailLength

    Trail distance in kilometers

    ElevationChange

    ElevationCode

    ElevationDescription

    vienna.gdb

    ElevationChange

    Rate of change in elevation along trail

    TrailType

    TrailTypeCode

    TrailTypeDescription

    vienna.gdb

    TrailType

    路线类型描述

  10. 关闭属性域视图,然后重新打开。

    已成功添加 SceneryTrailLengthElevationChangeTrailType 属性域。

    新的地理数据库属性域

  11. 关闭属性域视图,然后保存工程。

指定字段的属性域

如果表中的要素已被分组至各个子类型,则可为每个子类型分配不同的属性域。 但是,当属性域与属性字段相关联时,仅该属性域内的值对此字段有效;字段将不接受该属性域外的值。

  1. 内容窗格中,右键单击 Vienna City Trails 图层并选择属性表

    将使用并非十分有用的非描述性值来填充 Trail AccessibilityAverage Trail Elevation 字段。

    属性域的候选字段

    您需要将属性域分配给这些字段,并查看属性域对表的影响。

  2. 在功能区数据选项卡的数据设计组中,单击子类型
  3. 如有必要,请展开子类型视图,这样无需滚动即可查看整个表。
  4. 对于 Easy 子类型,定位 Accessibility 字段。 双击属性域单元格,然后选择 Accessibility

    Accessibility 属性域

  5. 对于 ModerateStrenuousUnrated 子类型,将 Accessibility 属性域分配给 Accessibility 字段。
  6. 在功能区子类型选项卡的更改组中,单击保存

    属性域分配

    注:

    将子类型应用于表中字段的优势在于:可以为相同属性字段的每个子类型应用不同的属性域。

  7. 对于 Length 字段,设置以下属性域:
    • 对于 Easy 子类型,将属性域设置为 ShortTrailLength
    • 对于 Moderate 子类型,将属性域设置为 MediumTrailLength
    • 对于 Strenuous 子类型,将属性域设置为 LongTrailLength
    • 对于 Unrated 子类型,将属性域设置为 ShortTrailLength

    为每个子类型分配了不同的属性域

  8. 在功能区子类型选项卡的更改组中,单击保存
  9. 对于 EasyModerateStrenuousUnrated 子类型,请分配以下附加属性域:

    字段名属性域

    MinDuration

    MinTrailDuration

    MaxDuration

    MaxTrailDuration

    Scenery

    Scenery

    高程

    ElevationChange

    TrailType

    TrailType

    所有属性域分配

  10. 在功能区子类型选项卡的更改组中,单击保存
  11. 关闭子类型视图。
  12. 如有必要,请打开 Vienna City Trails 图层的属性表。

    现已使用来自属性域描述的描述性值填充了 Trail Accessibility, 、Highlighted SceneryAverage Trail Elevation 字段。

    浏览分配给字段的属性域

    Types of trail 字段将留空,因为在此字段中未输入任何值。 此字段的确已应用属性域,但是未添加值并且未设置默认值,因此无法对属性域进行验证。

  13. 关闭属性表并保存工程。

更新路线要素

接下来,您将更新路线要素,并探索在进行编辑时,属性域的影响。

使用属性域可针对特定字段限制可供选择的值,从而有助于确保数据完整性。 对编码值属性域的验证是通过限制下拉列表中的字段值来实现的。 在编辑过程中会自动验证值域范围。 您将更新路线要素,并使用编码值和范围属性域。

  1. 单击选项卡返回原始地图视图。

    “源”选项卡

  2. 内容窗格中,单击 Vienna City Trails 图层以将其选中。
  3. 单击功能区上的编辑选项卡。 在选择组中,单击选择按钮。
  4. 在地图上,单击任意路线要素以将其选中。
  5. 编辑选项卡的选择组中,单击属性

    随即出现属性窗格。 您之前在教程中使用此窗格编辑了选定路线的字段值。 这次,您可输入的值以及可应用于字段的选择将受到应用于字段的属性域的影响。

  6. 属性窗格中,单击 Type of trail 值。

    Type of trail 选项

    您无法键入自己的路线类型。 相反,您必须选择其中一个预定义类型。

  7. 对于 Type of trail,选择与原始路线类型不同的任何类型。
  8. 尝试更改 Trail AccessibilityHighlighted Scenery 的值。

    之前,您为 Trail Length 字段分配了范围属性域,从而基于不同的子类型来限制长度,如下表所示:

    子类型域名称最小值最大值

    简单

    ShortTrailLength

    2

    9

    中等

    MediumTrailLength

    10

    13

    困难

    LongTrailLength

    14

    15

  9. 属性窗格中,对于 Trail Length,键入 99 并按 Enter 键。

    该字段将以红色高亮显示,指示路线长度超出中等路线评级子类型允许的范围。 此外,属性窗格将显示一条警告,指示允许的中等路线长度必须介于 10 到 13 之间。

    已更新的 Trail Length 值

  10. Trail Length 值更新为 11 并按 Enter 键。

    该值位于允许范围内,并且警告消息将不再显示。

    在保存编辑内容之前,当前更改不会提交回地理数据库。

  11. 关闭属性窗格。

    将显示一条消息,告知您存在未提交的属性编辑内容。 您进行的更改只是为了尝试编辑功能,因此您将放弃更改。

  12. 单击放弃
  13. 清除选择内容。
  14. 单击功能区上的地图选项卡。 在导航组中,单击浏览按钮以禁用选择工具。
  15. 保存工程。

您已添加属性域并将其应用到要素类的字段。 您还使用属性域和子类型对要素进行了编辑。 接下来,您将发布并使用要素服务。


发布要素服务

接下来,您需发布 Vienna City Trails 图层,然后当在 web 地图中编辑时检验对数据验证的访问权限。

共享 Web 图层

在共享支持 Web 应用程序的子类型和属性域的要素,必须确保所有可编辑图层都配置了要素模板。 要素模板是用于在图层上创建要素的预定义构造工具集合。

要素模板是图层的一种属性,在 ArcGIS Pro 工程中对其进行管理和维护。 如果将该图层共享为图层文件、图层包或 Web 图层,则其模板属性也会一同共享。 在发布 Vienna City Trails 图层之前,您需为其创建要素模板。

  1. 编辑选项卡中,单击要素组下方角落的管理模板按钮。

    “管理模板”按钮

  2. 管理模板窗格中,右键单击 Vienna City Trails 图层,然后单击创建所有模板

    “创建所有模板”选项

    将生成要素模板并将其添加至每个关联的图层子类型的模板框。 将对每个模板进行命名以与子类型描述相匹配。 您可以使用模板来设置不同的默认值并应用不同的编辑策略或编辑工具以更新或创建要素。

    可随时发布图层。 首先,您需要从地图中移除其他图层并保存工程。

  3. 内容窗格中,移除除 Vienna City Trails 图层之外的所有图层(甚至是底图图层)。
    提示:

    右键单击图层并选择移除来移除图层。

  4. 保存工程。
  5. 单击功能区上的共享选项卡。 在共享为组中,单击 Web 图层下拉菜单,然后选择发布 Web 图层

    “发布 Web 图层”选项

    随即显示共享为 web 图层窗格。

  6. 共享为 Web 图层窗格中,更新以下参数:
    • 对于名称,输入 Vienna City Trails,后跟您的姓名或首字母缩写。
    • 对于摘要,输入 Hiking trail data with attribute validation applied
    • 对于标签,保留默认标签列表。
    • 对于图层类型,请确认已选择要素

    将源共享为 web 图层参数

    注:

    如果您是 ArcGIS Enterprise 用户,在数据和图层类型下,对于复制所有数据,选择要素

  7. 对于位置,输入 Vienna Trails。 对于共享给,请选中所有人框。

    将源共享为 web 图层参数

    在进行发布之前,您需要分析图层是否存在阻止发布的错误。

  8. 共享为 Web 图层窗格中,单击分析

    出现与向共享 web 图层分配唯一数字 ID 相关的警告。

  9. 如果显示警告,双击该警告。 在地图属性窗口中,选中允许对共享 Web 图层分配唯一的数字 ID,然后单击确定
  10. 如有必要,在共享为 Web 图层窗格中,单击分析。 确认未找到错误。
    注:

    如果遇到除唯一数值 ID 错误之外的错误,阅读错误描述并在继续之前将其解决。

  11. 单击发布
  12. 在完成发布后,单击管理 Web 图层

    “管理 web 图层”链接

    浏览器随即打开,显示 Vienna City Trails Web 图层的项目页面。

启用编辑

接下来,您将启用 Web 图层的编辑功能。

  1. 如有必要,在项目页中,登录 ArcGIS 组织帐户。
  2. 在功能区上,单击设置

    设置按钮

  3. 常规下,对于公共数据采集,选中启用编辑后,批准此图层与公众共享框。

    已选中“启用编辑后,批准此图层与公众共享”框

  4. 常规旁边,单击保存
  5. 要素图层(托管)下,对于编辑,选中启用编辑

    要素图层编辑已启用

  6. 要素图层(托管)旁边,单击保存

在 web 地图中编辑要素

在启用每个图层的编辑功能后,您需要将其添加至 Web 地图并编辑某些要素。

  1. 在功能区中,单击概览
  2. 单击在 Map Viewer 中打开

    “在 Map Viewer 中打开”按钮

    地图随即在 Map Viewer 中打开。

    注:

    根据您的组织和用户设置,您可能已打开 Map Viewer 经典版ArcGIS Online 将提供两个地图查看器,用于查看、使用和创建地图。 有关可用和使用的地图查看器的详细信息,请参阅此常见问题解答

  3. 如有必要,在弹出窗口中,单击在 Map Viewer 中打开,或者在功能区上,单击在 Map Viewer 中打开

    Map Viewer 随即打开。

  4. 内容(深色)工具栏上,单击底图。 在底图窗格中,选择深灰色画布

    深灰色画布底图

    地图中的底图随即更新。

  5. 内容工具栏上,单击图层

    “内容”工具条上的图层

    随即显示图层窗格。

  6. 图层窗格中,确认已选中 Vienna City Trails 图层。 在设置(浅色)工具栏上,单击编辑

    “设置”工具条上的“编辑”。

    提示:

    如果编辑工具不可见,单击更多以在设置工具栏上查看更多工具,然后单击编辑

    随即显示编辑器窗格。

  7. 编辑器窗格中的编辑要素下,单击选择

    选择用于编辑要素的工具

  8. 单击地图中的任意路线。

    即会选中该路线。 编辑器窗格将更改为编辑要素窗格,其中显示已应用于源图层的所有属性、子类型和属性域,以确保采集的新线路以及对 Web 地图或应用程序中的路线所做的编辑可以保持有效。

  9. 编辑要素窗格中,对于 Type of trail,选择 Hiking trail

    Type of trail 值

  10. 单击 Trail Length,输入 99,按 Enter 键。

    该警告消息会通知您所输入的值超出了为此字段定义的最小值到最大值范围。

    指示值超出范围的警告

    一些其他字段可能也具有警告。 由于在对字段应用属性域之前执行了更改且存储的值超出范围,因此导致发出警告。

  11. 对于 Trail Length,输入 10 并按 Enter 键。
    注:

    您在 Map Viewer 中对要素图层进行的编辑将自动保存到图层中。 当您添加、删除或编辑要素或属性出错时,可以单击删除以删除您所做的编辑。

  12. 编辑要素窗格的底部,单击更新

    该窗格即会更改为选择要素窗格。 您需要返回编辑器 窗格并创建新的路线要素。

  13. 选择要素窗格中,单击后退按钮。 在编辑器窗格的创建要素下,单击中等添加新要素。

    中等路线类型

  14. 在地图上,单击任意位置开始为新的路线要素添加折点,并在完成新路线时双击。

    已完成要素

  15. 单击新要素以显示其折点。

    您可以根据需要单击和移动折点,以更新和更改该路线遵循的路径。

    具有折点的要素

  16. 要提交更新,单击地图上某一个远离您所创建要素的位置。

    创建要素窗格将显示之前创建的新路线的属性。

  17. 创建要素窗口,通过输入名称并从应用于字段的各种列表中选择属性值来更新新路线的属性。 完成后,单击创建
  18. 也可以选择保存 Web 地图。

在本教程中,您研究了维也纳当地的旅行社如何使用地理数据库中的属性验证技术来构建并维护远足路线图层,该图层不仅为客户提供了路线信息,还为他们提供了贡献和建议新路线的机会。 通过使用子类型和属性域,该旅行社可以确保数据一致性、减少冗余并构建有效的 Web 地图和可下载的应用程序。

子类型和属性域是确保数据完整性和地理数据库有效性的强大工具,您会发现它们可以在许多数据集中发挥作用。 在处理大型数据集时,它们能够发挥最大作用。 任何数据集都可能发生错误,但是一旦您的要素数量超过数百个,就很难进行手动排序且无法确保没有任何拼写错误或其他错误。 如果由多个用户编辑同一要素类,出错几率会大大增加。

将域分配给属性字段可以限制允许值,使您无法输入拼写错误的单词或超出定义范围的数值。 域有助于确保数据保持清晰和准确。 子类型还可以对允许的属性值施加限制,但只能应用于每个要素类的一个整数字段。 子类型的真正用途是通过进行数据分类将信息存储在编码的整数中而非长字符串中,以加快执行速度。

考虑独自重新访问 Rundumadum Trail Stages 图层,并将地理数据库域分配给与该路线的 24 个阶段相关联的各种属性字段。

您可以在教程库中找到更多教程。