准备交通数据
地铁部门有许多要素类,用于管理和规范整个城市的自行车停车场和停车许可区域。 您将下载并浏览这些要素类。 正如您稍后所见,在构建拓扑规则时,首先了解空间和属性数据至关重要。
浏览数据
首先,您将下载包含本教程数据的 ArcGIS 工程文件,并浏览地铁部门的一些停车场要素类。
- 下载 Sydney_Metro_Data .zip 文件,并将其内容提取到计算机上合适的位置。
- 打开 Sydney_Metro_Data 文件夹。 打开 Sydney Parking 文件夹。 双击 Sydney Parking ArcGIS 工程文件。
ArcGIS Pro 工程随即打开。
- 如果出现提示,请登录 ArcGIS Online 或 ArcGIS Enterprise 账户。
注:
如果您没有组织帐户,请参阅软件访问权限选项。
此地图上已有多个要素类并且已进行符号化。 要素包括自行车停放位置、自行车道和归类为停车许可区域的地点。
接下来,您将浏览包含这些要素类的地理数据库,从而更好地理解它们的一些属性。
- 单击功能区上的视图选项卡。 在窗口组中,单击目录窗格。
随即显示目录窗格。 接下来,您将访问地理数据库。
- 在目录窗格中,展开数据库。 展开 Sydney Parking.gdb。
Sydney Parking 地理数据库包含一个名为 MetroData 的要素数据集。 要素数据集是相关要素类的集合,它们共享一个公共坐标系,并且可以参与高级地理数据库功能,例如网络或稍后将看到的拓扑。
- 展开 MetroData。
其中包含三个要素类:
- Bicycle_parking 要素类表示城镇内市民可以停放自行车地点。
- Cycle_network 要素类表示城市内的自行车道。
- Parking_permit_areas 要素类表示城镇内允许和不允许自行车停放的区域。
由于这些要素类位于 MetroData 要素数据集中,因此它们均具有相同的坐标系。 您将稍后浏览此内容。
- 右键单击 MetroData,然后选择属性。
要素数据集属性窗口随即显示。
- 单击常规选项卡。 展开空间参考。
随即列出投影坐标系。 这表明此要素数据集中的要素类均使用 GDA 1994 MGA Zone 56 投影坐标系。 在本教程的后续部分中,如果将要素类添加到此要素数据集,这对于您的拓扑将非常重要。
- 关闭要素数据集属性窗口。
接下来,您将浏览 Parking permit areas 属性。
- 在内容窗格中,右键单击 Parking permit areas。 选择属性表。
属性表随即出现。 您可以看到此要素类中的所有字段或列。
Permit Eligible 字段是最右侧的字段之一,显示为橙色。 这意味着其中包含子类型。 子类型是要素的子集,共享相同的属性并用于对数据进行分类。 您将浏览此图层可用的子类型。
- 单击功能区上的数据选项卡。 在数据设计组中,单击子类型。
子类型视图随即显示。
沿视图顶部提供两个子类型值:住宅/商业/访客停车许可区域和无停车许可区域。 这些子类型值用于在地图上对 Parking permit areas 图层进行符号化。 住宅/商业/访客停车许可区域的值显示为绿色,而无停车许可区域的值显示为红色。
这些子类型也可以用于构建建筑物拓扑规则。
- 选择子类型视图和属性表。
- 在快速访问工具栏上,单击保存以保存您的工程。
下载并浏览城市提供的数据后,您将在数据库中构建拓扑规则。
构建地理数据库拓扑规则
拓扑规则可确保您的数据符合可持续交通倡议的标准。 以下是倡议的条件:
- 所有停车许可区域面的边界必须相互对齐。
- 在自行车网络线内,线不能发生自重叠。
- 自行车停放点必须位于住宅/商业/访客停车许可区域内。
您将创建拓扑,构建规则,然后检查要素类以查看是否违反任意规则。
创建地理数据库拓扑
首先,您将构建一个地理数据库拓扑。 地理数据库拓扑是一个控制器数据集,它提供了一种机制,可对要素类之间的空间关系建模并保持其数据完整性。 换言之,它将以工程目标为基础,通过定义点、线和面要素共享几何的方式来帮助您更好地管理数据。
- 在功能区的命令搜索中,输入创建拓扑。 选择创建拓扑。
地理处理窗格随即显示创建拓扑工具。
此工具将构建拓扑。 必须在要素数据集中构建拓扑。
- 在地理处理窗格中,对于输入要素数据集,浏览至 Sydney Parking 文件夹。 双击 Sydney Parking 地理数据库,然后选择 MetroData 要素数据集。
接下来,您将命名拓扑。
- 对于输出拓扑,输入 MetroTopology。
- 单击运行。
随即在 Sydney Parking 地理数据库中创建拓扑。
- 在目录窗格中的 Sydney Parking.gdb 下,展开 MetroData。
即可看到 MetroTopology 拓扑。
配置拓扑
现在,您将配置拓扑。 此过程包含设置拓扑容差、添加要素类和设置 XY 等级。
- 在目录窗格中,右键单击 MetroTopology。 选择属性。
拓扑属性窗口随即显示。
- 如有必要,在拓扑属性窗口中,单击常规选项卡。
在此,您可以设置拓扑容差值。
拓扑容差表示折点被视为相同或重合的距离。 拓扑容差范围内的所有折点都被视为位于同一位置,并将在拓扑地理处理操作期间捕捉到一起。 您将保留默认值。
为了发挥作用,拓扑需要参与要素类。 接下来,您将添加要素类。
- 在拓扑属性窗口中,单击要素类选项卡。
要素类将在要素数据集中列出。 您需将这三个图层添加到拓扑。
注:
仅与拓扑处于相同要素数据集的要素类可以添加到拓扑。
- 选中 Bicycle_parking、Cycle_network 和 Parking_permit_areas 要素类旁边的框。
随着您将要素类添加到拓扑,系统将为其提供 XY 等级值。 在验证过程中,XY 等级值定义要素类中的要素相对于其他要素类中要素的移动。 等级较低的要素类将基于等级较高的要素类进行调整或编辑。 因此,更准确的要素类分配到的等级应该高于准确度较低的要素类的等级。
停车许可区域的编辑已根据纸质地图进行了数字化。 自行车停放点使用高精度 GPS 接收器采集。 由于自行车停放点比停车许可区域更准确,因此自行车停放点的等级将高于停车许可区域。 这可以防止您的 GPS 点被调整,以匹配不太准确的数字化停车许可区域。
要进行设置,您将定义等级数。 默认值为 1,假定所有要素类的准确度相同。
- 对于 XY 等级数,输入 2。
接下来,您将更新 Parking_permit_areas 要素类,以使其具有较低等级。
- 对于 Parking_permit_areas 的 XY 等级,输入 2。
要素类已添加到拓扑并且已设置合适的等级后,您可以开始构建规则。
配置拓扑规则
使用拓扑检查数据的功能基于您构建的规则。 拓扑规则可定义参与要素类必须满足的条件,以确保空间数据完整性。 这些规则可以在单个要素类或两个要素类之间强制执行。 规则也可以应用于子类型级别。
您将构建符合城市可持续交通倡议标准的规则:
- 所有停车许可区域面的边界必须相互对齐。
- 在自行车网络线内,线不能发生自重叠。
- 自行车停放点必须位于住宅/商业/访客停车许可区域内。
需要将这些条件转换为拓扑可以帮助您检查的规则。 您将从第一条规则开始:所有停车许可区域面的边界必须相互对齐。
注:
有关列出所有拓扑规则的海报尺寸的 PDF 文件,请参阅 ArcGIS 地理数据库拓扑规则。 一些规则可能具有相似的名称。 确保在配置拓扑时选择正确的规则。
- 单击规则选项卡。
在此,您可以观察、添加、移除和导入规则。
- 单击单击此处添加新规则。
将为第一条规则添加一行。
第一条规则与 Parking_permit_areas 要素类相关联。 您要将其设置为要素类 1。
- 对于要素类 1,选择 Parking_permit_areas。
此规则需要确保此要素类中的各个面不发生重叠。 您将设置强制执行此要求的规则。
- 对于规则,选择不能重叠(面)。
第一条规则已完成。 执行此规则时,如果 Parking_permit_areas 面重叠,则会被识别出来。
接下来,您将构建规则以确保在自行车网络内,线不会发生自重叠。
- 单击单击此处添加新规则。
此规则将聚焦于 Cycle network 要素类。
- 对于 要素类 1,选择 Cycle_network。
该规则需要防止此图层中的线相互交叉。 您将选择一个查找自重叠线的规则。
- 对于规则,选择不能自重叠(线)。
已将三个标准中的两个添加为规则。 接下来,您将添加最后一个规则,Bicycle_parking 点必须位于住宅/商业/访客停车许可区域内。
此规则更加高级。 将调用两个图层,Bicycle parking 和 Parking permit areas。 还将调用特定类型的许可区域,即住宅/商业/访客停车许可区域。 回想一下,这是 Parking permit areas 要素类的一个特定子类型。 此规则将确保点仅位于特定面的内部。
- 单击单击此处添加新规则。
将进行检查的要素类(Bicycle_parking 点)为要素类 1。
- 对于要素类 1,选择 Bicycle_parking。
此标准所需的规则将确保点正确位于第二个要素类的边界内。
- 对于规则,选择必须完全位于内部(点 - 面)。
您在此规则中添加了一个点图层,并确认它需要位于某个区域内。 第二个要素类将定义这些区域。
- 对于要素类 2,选择 Parking_permit_areas。
现在,您需要选择一个特定的许可区域类型。 将使用子类型完成此操作。
- 对于子类型 2,选择住宅/商业/访客停车许可区域。
最后一条规则已完成。
- 单击确定。
- 保存工程。
您已创建了空拓扑,检查了拓扑容差,添加了要素类,设置了要素类等级并使用多个图层和子类型应用了规则。
使用拓扑检查数据
通过添加工程需求的方式配置拓扑后,您将通过验证过程识别数据问题。 然后,您将更正出现的拓扑错误以提高数据质量。
验证拓扑
在此步骤中,您将基于规则验证拓扑,以识别空间问题。
- 在功能区上的命令搜索中,输入验证拓扑。 选择验证拓扑。
将出现地理处理窗格。 验证拓扑工具将基于您之前创建的规则查找数据中的错误。
- 在地理处理窗格中,对于输入拓扑,浏览至 MetroData 要素数据集并选择 MetroTopology。
- 单击运行。
图层组 MetroTopology 随即添加到内容窗格中。 这些图层可帮助您找到数据中的空间错误。
解决错误
与其尝试手动查找问题,不如使用错误检查器窗格采取更系统的方法。 错误检查器窗格可显示数据中的错误及其在地图上的位置,并且可以帮助您解决这些错误。
- 单击功能区上的编辑选项卡。 在管理编辑组中,单击检查器。
错误检查器窗格随即显示。 违规将以表格的形式出现在左侧,其修复方法将出现在右侧。
默认情况下,错误检查器窗格中的错误将按照地图的当前范围进行过滤。 您将关闭此功能以查看所有错误。
- 在错误检查器窗格工具栏上,单击地图范围以取消激活此过滤器。
出现五个错误,每个错误都有其各自的行。
注:
如果您在结果中无法看到全部文本,则可以调整字段的宽度。
查看结果,要素 1 的值提示导致错误的要素及其要素类。 规则值显示要素 1 违反的规则,要素 2 的值是导致违反规则的要素及其要素类。
例如,第一个错误由 Bicycle_parking 要素类中的一个点导致。 具体来说,是 Bicycle_parking 的点 75。 所违反的规则是必须位于面内。 该点错误地位于 Parking_permit_areas 要素类中的面内。
注:
要素 1 值中看到的数字提取自相应图层的 OBJECTID 字段。
看到这些错误后,您将开始修复错误。
- 在错误检查器窗格上,单击行号 1 以选择第一行。
预览地图将更新为显示错误位置。 将提供错误的空间上下文。
注:
您可以在预览地图中缩放和平移。
自行车停放点处于 Parking permit areas 图层的面内。 但是,此区域未分类为住宅/商业/访客停车许可区域。 您将修复此错误。
- 单击修复选项卡。
根据错误类型,将为您提供多种解决问题的选项。
在本例中,主要选项是删除点要素。 另一个选项为标记为例外情况。 此选项适用于可破坏所设置规则的事件。
由于可持续性倡议声明停车点不允许位于某些区域内,所以您将删除此点。
- 在可用于所选错误的修复措施下,单击删除要素。
要素随即删除,错误将从错误检查器窗格中的列表中移除。
- 选择 Bicycle_parking : Bicycle_parking 562 错误。
此处为另一个不在正确面内的自行车停放位置。
- 单击预览选项卡以查看错误。
与之前一样,点被错误地数字化在不正确的停车许可区域。
- 单击修复选项卡,然后删除要素。
第二个错误已从您的结果中移除。 接下来的两个错误涉及自重叠的 Cycle_network 要素。 接下来,您将浏览这些错误。
- 选择 Cycle_network : Cycle_network 879 错误。
- 单击预览选项卡以查看错误。
虽然不太明显,但以黄色突出显示的部分具有额外的折点,并且线本身循原路折回,导致了自重叠错误。 另一个 Cycle_network 要素具有相同的错误。 由于两个要素具有相同的错误,您可以同时将其解决。 需选择两个错误。
- 在结果表中,按 Ctrl 并单击行号 2 以选择第二个错误 Cycle_network : Cycle_network 847。
两个错误均已选中。
- 单击修复选项卡。 在可用于所选错误的修复措施下,单击简化。
多余的折点已移除,错误已解决。
最后一个错误涉及两个重叠的 Parking_permit_areas 面。 接下来将解决此错误。
- 选择 Parking_permit_areas 12 错误并单击预览选项卡。
地图中提供的视图无法看清错误。 您将放大以便更好地进行查看。
- 在预览选项卡上,放大到错误。
错误更加清晰可见。 这些面在不应该重叠处发生重叠。 您将解决这最后一个错误。
- 单击修复选项卡。
适用于此错误的修复措施为创建要素、合并和移除重叠。 所有这些选项都需要更改 Parking_permit_areas 要素的几何。 由于停车区域是根据打印的文档进行数字化得到的,您不确定其准确性,因此不会执行任何更改。 您要将错误标记为例外情况。
- 单击标记为例外情况。
错误被标记为例外情况时,不会从错误列表中移除,但将被标记一个红色圆圈和一个白色感叹号图标。 这样会使其他人看到错误在技术上确实存在,但已经过审查且可以被允许。
要确保所有错误均已修正,您将验证拓扑以作为最后一步。 此次,您将在错误检查器窗格中验证拓扑。
- 在错误检查器窗格中,单击验证按钮。
未返回其他错误。 所有问题均已解决或已标记为例外情况。
当您简化线和删除点时,这些编辑作用于要素类。 需要保存这些编辑内容。
- 在功能区编辑选项卡的管理编辑内容组中,单击保存。 如果出现保存编辑内容窗口,单击是。
- 关闭错误检查器窗格。
- 保存工程。
创建规则后,您将拓扑应用到了数据并找到了多个错误。 然后,您使用错误检查器修复了错误或将其标记为例外情况。
对其他数据集应用规则
根据原始的可持续倡议,所有要求都已得到满足。 但是,经理刚刚通知您有一处更改。 一家车辆共享运营商表示有兴趣支持该市的可持续交通系统,并将为汽车共享用户共享所有授权停放点的位置。 其数据已提供给您。
您需要查看未经授权的区域中是否有车辆停放点。 需要更新地理数据库以加入提供的数据集,并在您的现有拓扑中添加规则。
查看车辆共享数据
提供的数据位于其他地理数据库中,您将浏览数据库,然后将其添加到 Sydney Parking 地理数据库。
- 在目录窗格中,展开文件夹。 展开 Sydney Parking,然后展开 CarShare.gdb。
Car_share_bay_operator_wgs84 是为您提供的数据集。 您将查看其属性。
- 右键单击 Car_share_bay_operator_wgs84,然后选择属性。
要素类属性窗口随即显示。
- 单击源选项卡。 展开空间参考。
投影坐标系属性为 WGS 1984 Web 墨卡托。 工程其余部分使用的坐标系为 GDA 1994 MGA Zone 56。 这一坐标系差异可能导致问题。 但是,当您将此要素类移动至 MetroData 要素数据集时,要素类将自动投影到 GDA 1994 MGA Zone 56,因为所有添加到要素数据集的要素类都将继承要素数据集的坐标系。
接下来,要将此要素类复制到 MetroData 要素数据集。
- 关闭要素类属性窗口。
- 在目录窗格中,右键单击 Car_share_bay_operator_wgs84。 指向导出,然后选择要素类至要素类。
随即显示地理处理窗格并打开导出要素工具。 此工具可将要素类从一个位置复制到另一个位置。 如果文件位置时使用不同坐标系的要素数据集,则会更新要素类的坐标系。
- 在地理处理窗格中,对于输出要素类,单击文件夹并浏览到 MetroData 地理数据库。 对于名称,输入 CarShare 并单击保存。
- 在地理处理窗格中,单击运行。
CarShare 要素类随即添加到地图。
- 在目录窗格中,展开 Sydney Parking 地理数据库。 展开 MetroData 要素数据集。
CarShare 要素类已添加。
- 打开 CarShare 要素类的属性。 在源选项卡上,展开空间参考。
运行导出要素工具时,投影坐标系值已更改。
- 关闭要素类属性窗口。
CarShare 要素类添加到 MetroData 要素数据集之后,您将添加新的拓扑规则。
验证和应用地理数据库拓扑
接下来,您要将 CarShare 要素类添加到拓扑,并添加更多规则以引入工程中的更改。
- 在目录窗格中的 MetroData 下,右键单击 MetroTopology,然后选择属性。
拓扑属性窗口随即显示。 首先,您将添加 CarShare 要素类。
- 单击要素类选项卡。
- 在要素类下,选中 CarShare 旁边的复选框。
由于您不知道此要素类的创建方式,因此将保留默认的 XY 等级值,即 2 表示准确性较低的数据。
接下来,您将为此要素类添加新规则。
- 单击规则选项卡。
- 单击单击此处添加新规则。
此工具将查找不在住宅/商业/访客停车许可区域面内的 CarShare 点。
- 设置以下参数:
- 对于要素类 1,选择 CarShare。
- 对于规则,选择必须完全位于内部(点 - 面)。
- 对于要素类 2,选择 Parking_permit_areas。
- 对于子类型 2,选择住宅/商业/访客停车许可区域。
- 单击确定。
规则已添加到拓扑。 接下来,您将验证拓扑以查找错误。
- 在功能区编辑选项卡上的管理编辑组中,单击错误检查器。
错误检查器窗格随即显示。 之前的例外情况仍然可见。
- 在目录窗格中,右键单击 MetroTopology,然后选择验证。
随即发现两个错误,并将其添加到列表。
手动编辑错误
识别这些附加错误后,您将使用传统编辑工具进行解决。
- 选择 CarShare : CarShare 688 错误。
在预览地图中,点位于住宅/商业/访客停车许可区域面外。
与之前执行的操作相同,您需将点移动至住宅/商业/访客停车许可区域面内,而非删除此点。 此操作将在“地图”视图中使用编辑工具完成。
- 在错误检查器窗格工具栏上,单击缩放至所选项。
注:
如果您多次单击缩放至所选项按钮,则会在所选要素上持续放大。
要查看要素,而非拓扑符号系统,您将关闭 MetroTopolgy 图层。
- 在内容窗格中,关闭 MetroTopology。
- 在功能区编辑选项卡上的工具组中,单击移动。
要使用此工具,您需要在地图上选择一个要素。 选择工具将为您自动激活。
- 单击点以将其选中。 如必要,在选择菜单中,单击下拉箭头并选择 CarShare。
所选点将变为亮黄色。 您可以移动点。
- 单击点并将其拖动到绿色面内,其当前位置的左侧。
要完成编辑,您将清除所有所选要素。
- 在功能区的编辑选项卡的选择组中,单击清除。
第一个 CarShare 错误已被修复,但尚未解决。 因此,在下次验证之前,它还将保留在错误列表中。
此次编辑也视为脏区。 系统将自动生成脏区,以标记在尚未验证的拓扑中进行要素或属性编辑的区域。 接下来,您将浏览因编辑此 CarShare 点而创建的脏区。
- 在内容窗格中,打开 MetroTopology 和脏区。
脏区已添加到您编辑的 CarShare 点的原始位置和新位置周围。 但是,它们非常小。 要近距离查看其中一个脏区,您需要使用书签。
- 单击功能区上的地图选项卡。 在导航组中,单击书签,然后选择 Original CarShare Location。
注:
您还可以手动缩放以查看编辑所创建的脏区。
CarShare 点原始位置周围的脏区面可见。
编辑错误并浏览其生成的脏区后,您将查看 CarShare 数据集创建的第二个拓扑错误。
- 在错误检查器窗格中,选择 CarShare : CarShare 595 错误。 在错误检查器窗格工具栏上,单击缩放至所选项。 缩小以更好地查看此错误周围的区域。
这一车辆共享位置也不在正确的停放许可区域内。 但是,经理告知您此位置可以接受,您需要将其标记为例外情况。
- 在修复选项卡上,单击标记为例外情况。
您添加的规则生成的错误已被修复或标记为例外情况。 接下来,您将在保存编辑并再次验证拓扑后移除 CarShare : CarShare 688 错误。
- 在功能区编辑选项卡的管理编辑内容组中,单击保存。 如果出现保存编辑内容窗口,单击是。
- 在目录窗格中,右键单击 MetroTopology,然后选择验证。
CarShare : CarShare 688 错误已解决并从列表中移除。
脏区也会被移除。
- 单击功能区上的地图选项卡。 在导航组中,单击书签,然后选择 Original CarShare Location。
因为编辑内容已经过验证,所以您之前观察的脏区已被删除。
导出拓扑规则
接下来,您将采用生成的规则并将其导出。 导出后,即可将其与其他人共享。
- 在目录窗格中,右键单击 MetroTopology,然后选择属性。
- 单击规则选项卡。
- 单击另存为。
导出到文件窗口随即显示。
- 浏览至 Sydney Parking 文件夹。
- 对于名称,输入 Ecomobility Topology Rules。
- 单击保存。
规则已导出,可以根据需要共享文件。 其他 GIS 分析师可以使用规则选项卡上的加载现有按钮导入您的规则。
- 单击确定以关闭拓扑属性窗口。
- 保存工程。
在本教程中,您为澳大利亚悉尼的生态交通倡议提供了支持。 首先,您浏览了地铁部门的数据。 然后,您了解了工程需求,并构建了拓扑和规则以强制执行这些要求。 借助这些功能,您可以识别并修正空间数据不一致。 最后,您添加了其他用于维护空间数据完整性的要素类和规则,使地理数据库拓扑更加复杂。 在您的工程随时间发生改变时,地理数据库拓扑可以灵活地满足这些不断变化的需求并保持数据在空间上的准确性。
您可以在教程库中找到更多教程。