创建追踪网络

要确定 Ashokan 水库污染事件对上游和下游的潜在影响,您首先需要创建追踪网络。 追踪网络是一个河流数据集,其中包含有关每条河流的流动方式(也称为方向性)的信息。

创建工程

首先,您将下载本教程的数据并将其添加至 ArcGIS Pro 中的新工程。

  1. 下载 Ashokan_Data 压缩文件夹。
  2. 在计算机上找到已下载的文件夹。
    注:

    开始下载前,根据 web 浏览器的不同,系统可能会提示您选择文件的位置。 大多数浏览器将默认下载到计算机的 Downloads 文件夹下。

  3. 右键单击该文件夹并选择全部提取。 对于选择目标和提取文件窗口,单击浏览按钮。
  4. 浏览至存储教程数据的文件夹,例如 Documents 文件夹,单击选择文件夹,然后单击提取

    已提取的文件夹包含一个地理数据库,其中包含多个可在 ArcGIS Pro 中使用的要素类。

  5. 启动 ArcGIS Pro。 如果收到系统提示,请使用您获得许可的 ArcGIS 组织帐户登录。
    注:

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

  6. 新建工程下,单击地图

    地图工程模板

  7. 新建工程窗口中,对于名称,输入 Ashokan_Trace。 单击确定

    该工程即会创建并包含一个默认地图。 您将向已下载的地理数据库添加文件夹连接,以便快速访问其数据。

  8. 目录窗格中,右键单击数据库并选择添加数据库

    “添加数据库”选项

  9. 选择现有地理数据库窗口中,浏览至已提取的 Ashokan_Data.gdb 地理数据库并将其选中。 单击确定

    随即将该地理数据库添加至目录窗格。

映射数据

接下来,您将向地图添加 Ashokan Reservoir 数据并熟悉该数据。

  1. 目录窗格中,展开数据库,然后展开 Ashokan_Data.gdb

    该地理数据库包含 3 个要素类:Ashokan_StreamsPermitted_Discharger_OriginStorm_Drain_Origin。 河流数据来自美国地质勘探局 (USGS),而其他两个要素类是为本教程创建的,用于表示污染源点。

  2. 右键单击 Ashokan_Streams 并选择添加至当前地图

    “添加到当前地图”选项

    随即将河流网络添加至地图。 (您的河流可能具有与示例图像不同的默认符号系统。)

    地图上的河流图层

    这些河流位于一个大型水库周围。 您将查看数据的属性以了解详细信息。

  3. 内容窗格中,右键单击 Ashokan Streams 并选择属性表

    “属性表”选项

    随即显示该表。 其中包含大量属性。 流向属性对于追踪分析特别重要。

    “流向”属性

    此属性用于指示每个河段的方向性。 在此数据集中,每个河段的流向均为 1。 在此数据集中,1 表示流向与最初数字化要素的方向相同。 (水将从线中的第一个折点流向线中的最后一个折点。)

    注:

    当针对追踪网络使用或者创建您自己的河流数据集时,必须确保所有河段均已正确数字化,以使其沿相同方向一起流动。 本教程未涵盖向河流数据集添加流向的过程。 有关详细信息,请参阅主题追踪网络中的流向

  4. 关闭表。
  5. 目录窗格中,将 Storm_Drain_OriginPermitted_Discharger_Origin 数据集添加至地图。

    Storm_Drain_Origin 图层是发现污染的位置。 Permitted_Discharger_Origin 图层是可能的污染源。 两个位置均位于水库的北端。

    地图上的源图层

创建追踪网络

在 GIS 中,网络通常是一组具有特殊属性的线要素。 例如,网络数据集包含的线要素表示具有特定属性(例如速度限制、能否进行 U 形转弯等)的街道,对于确定到达某个位置的最佳或最快路径的分析是必需的。 公共设施网络包含的线要素表示管道、电线和公用事业公司拥有的其他基础设施。

河流和其他具有方向性的线性对象(例如铁路)最好使用追踪网络来表示。 在此类型的网络中,线要素包含有关其移动方向的信息。

您的河流数据集包含一个名为 Flow Direction 的属性字段,用于指示每个河流要素的方向性。 您将使用此字段来创建追踪网络,稍后您可以使用该网络来追踪观察到的污染地点的上游和下游位置。

首先,您将创建一个空要素数据集以包含河流数据和追踪网络。 使用要素数据集可确保所有要素类共用一个通用坐标系,并有助于促进追踪网络的创建。

  1. 目录窗格中,右键单击 Ashokan_Trace.gdb,指向新建,然后选择要素数据集

    “要素数据集”选项

    地理处理窗格随即出现,其中显示了创建要素数据集工具。

  2. 对于要素数据集名称,键入 Ashokan_Streams_Dataset。 对于坐标系,选择当前地图

    如果选择当前地图,则将选择地图的坐标系 (NAD 1983 StatePlane New York East FIPS 3101)。

    “创建要素数据集工具”参数

  3. 单击运行

    该工具将成功运行。 随即创建一个空要素数据集并将其添加至输出地理数据库。 您需要将河流数据移动到此数据集中。

  4. 地理处理窗格的底部,单击目录选项卡。

    “目录”选项卡

    您将返回到目录窗格。

  5. 数据库下,展开 Ashokan_Trace.gdb。 右键单击 Ashokan_Streams_Dataset,指向导入,然后选择要素类

    “导入要素类”选项

    提示:

    如果您未看到 Ashokan_Streams_Dataset,请右键单击 Ashokan_Trace.gdb 并选择刷新

    将打开要素类至地理数据库地理处理工具。

  6. 对于输入要素,选择 Ashokan Streams。 对于输出地理数据库,确认已选择 Ashokan_Streams_Dataset

    要素类至地理数据库工具参数

  7. 单击运行

    该工具随即运行并将您的河流数据复制到要素数据集。 现在,您已准备好将河流转换为追踪网络。 为此,您需要搜索合适的地理处理工具。

  8. 地理处理窗格中,单击后退按钮。

    “返回”按钮

  9. 查找工具搜索栏中,键入 Create Trace Network。 在搜索结果列表中,选择创建追踪网络(追踪网络工具)

    “创建追踪网络”的搜索结果

  10. 创建追踪网络工具中,对于输入要素数据集,单击浏览按钮。

    “浏览”按钮

  11. 输入要素数据集窗口中,浏览至 Ashokan_Trace.gdb 并双击 Ashokan_Streams_Dataset

    对于其余参数,您仅需命名追踪网络并选择输入边(河流数据)。 您还需要选择连通性策略,用于定义资源是从河流的一端流向另一端(简单边),还是沿河流的长度(复杂边)抽取资源。 在本教程中,您将假设河流从一端流向另一端,而未进行抽取。

  12. 对于追踪网络名称,键入 Hydro。 对于输入边,对于类名称,选择 Ashokan_Streams。 确认连通性策略设置为简单边

    “创建追踪网络”工具参数

  13. 单击运行

    该工具随即运行并将 Hydro Trace NetworkAshokan_Streams 图层添加至地图。 在继续操作之前,您需要移除在本教程前面部分中添加的原始河流数据。

  14. 内容窗格中,右键单击原始 Ashokan Streams 图层(无下划线的图层)并选择移除

启用网络拓扑

创建追踪网络后,随即向地图添加了一个半透明的紫色面,覆盖整个地图范围。 此面为是追踪网络中包含的 Dirty Areas 图层。 它代表网络拓扑中的错误,网络拓扑可保持要素之间的连通性。 目前,由于尚未针对追踪网络正确启用网络拓扑,因此该图层将覆盖整个地图。

在启用网络拓扑之前,您需要创建并配置网络属性。 网络属性是原始河流要素类中已配置用于追踪分析的属性。 网络属性包含的拓扑信息对于网络拓扑必不可少。

在本例中,您将根据原始数据中的长度 (KM) 属性配置一个网络属性,其中包含每条河流的长度。 除非专门将此属性设置为网络属性,否则其将无法用于计算河流长度。

  1. 地理处理窗格中,单击后退按钮。 搜索并打开添加网络属性(追踪网络工具)

    此工具将创建一个空网络属性。 该属性必须与原始属性具有相同的类型,以及相同的可空设置(用于确定是否可以使用空值)。 在本例中,长度 (KM) 属性具有双精度类型并且可以为空。

    提示:

    要检查字段的类型和可为空设置,请打开字段图层的属性表。 在功能区上,单击字段以打开字段视图。 此视图将列出图层中所有属性的设置。

  2. 对于添加网络属性工具,设置以下参数:
    • 对于输入追踪网络选择 Hydro Trace Network
    • 对于属性名称,键入 Length_KM
    • 对于属性类型,选择双精度型(64 位浮点型)
    • 选中可为空

    “添加网络属性”工具参数

  3. 单击运行

    该工具随即运行并创建空网络属性。 接下来,您将设置网络属性以使用原始 Ashokan Streams 要素类中的现有属性。

  4. 单击返回按钮。 搜索并打开设置网络属性(追踪网络工具)
  5. 设置以下参数:
    • 对于输入追踪网络选择 Hydro Trace Network
    • 对于网络属性,选择 Length_KM
    • 对于要素类,选择 Ashokan_Streams
    • 对于字段,选择 lengthkm

    “设置网络属性”工具参数

  6. 单击运行

    该工具随即运行并设置网络属性。 拥有包含重要拓扑信息的网络属性后,您需要为追踪网络启用网络拓扑。 网络拓扑对于运行追踪分析和创建网络逻辑示意图至关重要。

  7. 单击返回按钮。 搜索并打开启用网络拓扑(追踪网络工具)

    此工具仅需要一个输入参数。 如果已正确创建追踪网络,则该工具将成功运行。

  8. 对于输入追踪网络选择 Hydro Trace Network

    “启用网络拓扑”工具参数

  9. 单击运行

    覆盖整个地图的半透明较大面随即消失,取而代之的是位于每个河流要素末端的点。 由于设置了每条河流的长度并启用了网络拓扑,因此追踪网络现在可以正确识别每条河流的开始和结束位置。

    地图显示了正确启用的网络拓扑

  10. 快速访问工具栏上,单击保存按钮以保存工程。

    “保存”按钮

您已成功下载了本教程的数据,在 ArcGIS Pro 中映射了该数据,并创建了具有精确网络拓扑的追踪网络。 接下来,您将使用追踪网络来追踪已观察到的污染的上游和下游。


执行追踪分析

您配置的追踪网络已准备就绪,可以进行分析。 现在,您希望确定发现污染的位置的上游和下游区域。 上游追踪有助于了解污染的可能起源位置,而下溯追踪有助于了解污染可能到达的位置。

选择起点

首先,您将在追踪网络中选择一个起点,代表发现污染的雨水道以及您希望开始追踪分析的位置。 您已有一个表示该点的图层,因此可以将其用作参考。

  1. 内容窗格中,取消选中 Hydro Trace Network 以将其关闭。

    网络随即被隐藏,这样可以更容易看到雨水排放点。

  2. 在地图上,缩放至 Storm Drain Origin 点。

    地图上的 Storm Drain Origin 点

    该点本身不是追踪网络的一部分,因为它与流数据来自不同的图层。 您将根据位置向追踪网络添加一个新点。

  3. 在功能区上,单击追踪网络选项卡。

    追踪网络选项卡

    当创建追踪网络时,此选项卡已添加到功能区。

  4. 工具组中,单击追踪下拉菜单,然后选择起点

    起点选项

    随即出现追踪窗格。 默认情况下,添加要素处于选中状态,您可以在网络上创建点。

  5. 在地图上,单击位于联邦大道北侧的 Storm Drain Origin 点附近的追踪网络。
    注:

    如果尝试在点的确切位置单击追踪网络,则可能无法创建点,因为单击的是 Storm Drain Origin 要素而不是追踪网络。 在本示例中,可以将点添加到略微偏离原点的位置,因为轨迹使用该点所在的整个流段作为其起点。

    编辑地图上的光标

    随即在您单击的位置添加一个绿色点。 在追踪窗格中,将添加一个名为 Ashokan_Streams 的新起点。 数字 98 是指该点所在的流段的 ID。 (根据单击的位置,您可能会看到不同的数字。)

执行上游追踪

接下来,您将从所选起点执行上游追踪。

  1. 在功能区的追踪网络选项卡的工具组中,单击上游

    上游工具

    随即出现地理处理窗格,并显示追踪工具。 默认情况下,已设置几个参数。

  2. 确认已选择以下参数:
    • 对于输入追踪网络,确认已选择 Hydro Trace Network
    • 对于追踪类型,确认已选择上游
    • 对于起点,确认已选择 TN_Temp_Starting_Points
    • 对于障碍,确认已选择 TN_Temp_Barriers
    • 确认已选中包括障碍要素验证一致性

    追踪工具参数

    这些设置将使用您的追踪网络和您创建的起点来执行上游追踪。 您的追踪网络目前没有障碍,因此是否包含障碍要素并不重要。

    验证一致性选项可用于确保追踪结果与网络拓扑一致。 选中此选项时,如果任何脏区与追踪路径相交,工具将运行失败。 由于您先前已正确启用了网络拓扑,因此应该不会收到任何错误消息。

  3. 单击运行
    注:

    如果您收到错误消息,则可能是由于拓扑不正确导致的问题。 您可以尝试取消选中验证一致性,并再次运行该工具;这样可以允许轨迹穿过由数据错误引起的脏区。 流向设置不当不会显示错误,但可能会停止追踪或显示意外结果。

    该工具将运行并完成追踪。 起点的上游区域将在地图上突出显示。 这些是污染可能开始的区域。

    显示上游追踪结果的地图

    起点所在的整个流段都会被选中,即使起点不在该段的开始位置也是如此。 此为预期结果,因为只能选择整个要素,而不是其中的一部分。

    这些结果只是对数据的临时选择,这对于快速运行追踪分析非常有用。 但是,将追踪分析结果另存为新要素类也非常有用,这样您就可以将此分析的结果与其他结果进行比较。 您将再次运行分析,这次将更改参数以保存结果。

  4. 单击功能区上的编辑选项卡。 在选择组中,单击清除

    清除按钮

    随即清除选择。

  5. 地理处理窗格中,展开高级选项

    高级选项部分

    本部分包含更多用于追踪分析的选项,包括结果选项。 您将保存聚合几何,这会将结果存储为每种几何类型(点、线和面)的多部件要素类。

  6. 滚动至该部分底部。 对于结果类型,选择聚合几何

    您将关闭清除先前追踪结果的选项,这样可以从不同的追踪分析操作创建多个记录以进行比较。

  7. 取消选中清除所有之前的追踪结果
  8. 对于追踪名称,键入 Trace_Interactive

    追踪分析的高级选项

  9. 单击运行

    该工具随即运行。 将创建两个图层 Trace_Results_Aggregated_PointsTrace_Results_Aggregated_Lines,并将其添加到地图中。 点图层显示了每个流段的端点,而线图层则显示留段本身。

    显示已保存上游区域的地图

    与仅选择上游流段时不同,新要素类不包括起点所在的整个流段,而仅包括上游部分。 虽然无法选择现有要素的一部分,但可以创建仅包含现有要素一部分的要素。

    您已经执行了上游追踪。 您将清除已创建的起点,然后继续操作。

  10. 地理处理窗格的底部,单击追踪选项卡。
  11. 追踪窗格中,单击全部清除

    “全部清除”按钮

    随即从窗格和地图中移除起点,以将其清除。

    提示:

    或者,您可以通过单击功能区上的追踪网络选项卡,单击追踪位置下拉菜单并选择全部清除来清除起点。

  12. 保存工程。

将点捕捉到追踪网络

运行追踪分析时,您使用了以交互方式添加到地图的原点的近似值。 虽然此近似值对于快速运行分析非常有用,但如果您需要更高的准确性,应该如何操作? 您可以使用未包含在网络中的另一个要素类中的点来运行追踪分析。 但是,该点需要准确定位在网络上。 近似不能满足要求,即使是几何要素中最小的差异也会导致意想不到的结果。

接下来,您会将 Storm Drain OriginPermitted Discharger Origin 图层捕捉到追踪网络。 捕捉可确保一个要素与另一个要素完全对齐,并可用于需要精确拓扑的分析。

首先,您需要将要素类复制到新要素类,这样在捕捉期间对要素几何所做的更改就不会影响您的原始数据。 建议在修改图层几何之前制作图层的副本。

  1. 地理处理窗格中,单击后退按钮。 搜索 Copy Features 并打开复制要素(数据管理工具)
  2. 对于输入要素,选择 Storm Drain Origin。 对于输出要素类,输入 Storm_Drain_Snap

    复制要素工具参数

  3. 单击运行

    复制要素类并将副本添加到地图。 接下来,您会将其捕捉到流数据。

  4. 地理处理窗格中,单击后退按钮。 搜索 Snap 并选择捕捉(编辑工具)

    您会将雨水排放点捕捉到流数据中最近的折点,最大距离为 50 米。

  5. 设置以下参数:
    • 对于输入要素,选择 Storm_Drain_Snap
    • 捕捉环境下,对于要素,选择 Ashokan_Streams
    • 对于类型,选择折点
    • 对于距离,输入 50,然后选择

    捕捉工具参数

  6. 单击运行

    现在,雨水排放点将捕捉到流要素上的折点。

    您将为 Permitted Discharger Origin 点重复复制和捕捉的过程。 此点表示可能的污染源。 在后续的追踪分析中,您将使用它作为障碍,因此它也需要捕捉到流网络。

  7. 地理处理窗格中,单击后退按钮。 搜索并打开复制要素工具。
  8. 对于输入要素,选择 Permitted Discharger Origin。 对于输出要素类,输入 Permitted_Discharger_Snap
  9. 单击运行

    点随即被复制。

  10. 地理处理窗格中,单击后退按钮。 搜索并打开捕捉工具。
  11. 设置以下参数:
    • 对于输入要素,选择 Permitted_Discharger_Snap
    • 捕捉环境下,对于要素,选择 Ashokan_Streams
    • 对于类型,选择折点
    • 对于距离,输入 50,然后选择
  12. 单击运行

    现在,这两个点均已捕捉到追踪网络并准备好进行分析。 您不再需要原始点图层,因此可以将它们从工程中移除。

  13. 内容窗格中,右键单击 Storm Drain Origin,然后选择移除。 还需移除 Permitted Discharger Origin 图层。

使用障碍执行追踪

您将再次运行上游追踪分析,这次将使用捕捉到的雨水排放点作为起点,而不像在第一次分析中以交互方式选择起点。 使用捕捉点将提供更精确的结果。

您还将使用捕捉到的允许排放者图层作为障碍来运行分析。 障碍表示追踪分析停止的终点。 在本示例中,如果假设允许的排放者为污染源,您可能希望追踪污染源和污染点之间的区域,以了解已被污染的区域。

  1. 在功能区上,单击追踪网络选项卡。 在工具组中,单击上游

    追踪工具随即显示。 您将按照与之前分析类似的方式设置参数,但使用捕捉点作为起点和障碍。

  2. 设置以下参数:
    • 对于输入追踪网络,确认已选择 Hydro Trace Network
    • 对于追踪类型,确认已选择上游
    • 对于起点,选择 Storm_Drain_Snap
    • 对于障碍,选择 Permitted_Discharger_Snap
  3. 展开高级选项。 对于结果类型,使用选择

    如果未选择结果类型,则“选择”是默认选项。 在未设置高级选项的情况下首次运行分析时,结果将为追踪网络上的选择。 您将添加另一种结果类型以接收选择和具有聚合几何的新要素类。

  4. 对于结果类型,单击选择下的新下拉菜单,然后选择聚合几何
  5. 取消选中清除所有之前的追踪结果。 对于追踪名称,键入 Trace_with_Barrier

    追踪多种结果类型

    聚合点聚合线参数将显示警告。 这些警告通知您这些参数指示的要素类已经存在。 (您在上次运行追踪分析时创建了它们。)

    在许多其他地理处理工具中,使用已存在的输出要素类会覆盖现有要素类。 但是,此工具只会将新要素添加到现有要素类中,从而允许您使用属性表比较多个追踪分析的结果。 您将忽略该警告。

  6. 单击运行

    分析随即运行。 将向地图添加一个选择,以突出显示起点和障碍之间的流段。

    显示含障碍的轨迹的地图

    和以前一样,选择包括整个流段,而不仅仅是上游流段部分。 发生这种情况是因为选择是在原始追踪网络上进行的,不能只选择部分流段。

  7. 单击功能区上的编辑选项卡。 在选择组中,单击清除

    清除选择后,聚合线要素类似乎包含起点下游的整个区域,而不考虑您选择的障碍。 但是,这是因为您将结果添加到了与之前分析相同的要素类中。 您可以使用属性表比较和可视化结果。

  8. 内容窗格中,右键单击 Trace_Results_Aggregated_Lines 并选择属性表

    该表包含两条记录:Trace_Interactive(先前的追踪分析结果)和 Trace_with_Barrier(最近的结果)。 该表还列出了每条轨迹的长度。

    显示两个追踪结果的表

    注:

    您的值可能稍有不同。

  9. 对于 Trace_Interactive,单击记录左侧的 1 以将其选中。

    选择表中的记录,也会在地图上选择它。 该选择包括先前追踪分析的区域,没有障碍。

  10. 对于 Trace_with_Barrier,单击记录左侧的 2 以将其选中。

    地图上的选择随即更新。 现在,它显示了包含障碍的追踪分析结果。 上游追踪在到达允许的排放点位置时停止。

    地图显示了含障碍的轨迹,但不包含完整流段

    与原始选择不同,此选择仅显示初始流段的上游部分。 发生这种情况是因为您查看的是聚合点要素类的选择,而不是在原始追踪网络上所做的选择。

  11. 在属性表中,单击清除以清除选择内容。

    每个要素的 Shape_Length 字段显示了每个轨迹中包含的流段长度(以米为单位)。 原始轨迹长约 6378 米,含障碍的轨迹长约 4777 米。

    根据这些结果,您可以预计在允许的排放点和观察到污染的位置之间有 4777 米的流段。 在允许的排放点上游还有 1600 米的流段。 如果污染未按预期来自允许的排放点,则需要调查 1600 米以寻找其他潜在来源。

  12. 关闭属性表。

执行下游追踪

到目前为止,您的精力集中于观察到污染点的上游。 上游分析可帮助您识别潜在的污染源。 接下来,您将关注下游哪些区域可能受到污染。

水文学家假设污染随着水量的增加而被稀释。 虽然体积会根据溪流的宽度和深度而变化,但您将使用溪流的总长度代表水量。 从本质上讲,这表示当污染向下游移动时,污染被稀释的程度与移动距离成正比。 在执行下游追踪时,您将使用函数障碍来指示此下游稀释。

  1. 在功能区上,单击追踪网络选项卡。 在工具组中,单击下游

    下游工具

    追踪工具随即出现,这次追踪类型设置为下游

  2. 设置以下参数:
    • 对于输入追踪网络,确认已选择 Hydro Trace Network
    • 对于追踪类型,确认已选择下游
    • 对于起点,选择 Storm_Drain_Snap

    具有下游参数的追踪工具

    您会将障碍参数保留为默认值,并在高级选项中设置函数障碍。 函数障碍基于计算而不是固定点要素。 它根据指定的函数条件是否已满足来定义追踪的范围。 函数障碍可用于设置最大值,达到该最大值时将停止追踪。

    在本示例中,您将指定最大值 0.5 公里(或 500 米),直到下游追踪完成。 在没有其他污染源进入水道的情况下,本示例中使用该值来近似长度,直到污染稀释到接近正常水平为止。 使用先前创建并添加到追踪网络以用于追踪分析的 Length_KM 字段,可以设置此函数障碍。

  3. 展开高级选项。 在函数障碍下,设置以下参数:
    • 对于函数,选择添加
    • 对于属性,选择 Length_KM
    • 对于运算符,选择大于或等于
    • 对于,键入 0.5
    • 确认已选中使用本地值

    函数障碍参数

    对于此下游分析,您将使用默认选择结果类型,因此您不会更改其他参数。

  4. 单击运行

    执行下游追踪。 在地图上,选择了起点下游的前 500 米累积流段长度。

    显示下游追踪结果的地图

    选择在流段到达 Ashokan 水库的同一点结束,该水库的水量大,有助于缓解污染。

  5. 单击功能区上的编辑选项卡。 在选择组中,单击清除
  6. 保存工程。

在本教程中,您希望从观察到污染的位置的上游和下游追踪流网络。 您创建了追踪网络、启用了网络拓扑,并执行了多项追踪分析。 所得结果帮助您确定了可能的污染源位置,以及它在被稀释之前可能传播的距离。

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