在本练习中,您将使用地理数据库 San Francisco 中的街道要素和转弯要素创建一个网络数据集。您还可以加入历史交通流量数据,以便求解取决于时间的路径。
创建网络数据集
- 启动 ArcCatalog。
- 启用 ArcGIS Network Analyst 扩展模块。
- 单击自定义 > 扩展模块。
将打开扩展模块 对话框。
- 选中 Network Analyst。
- 单击关闭。
- 单击自定义 > 扩展模块。
- 在标准工具 工具条上,单击连接到文件夹按钮 。
将打开连接到文件夹对话框。
- 导航到含有 Network Analyst 教程数据的文件夹。
教程数据的默认存储位置是 C:\ArcGIS\ArcTutor\Network Analyst\Tutorial。
- 单击确定。
文件夹的快捷方式将添加到目录树 的文件夹连接下。
- 在目录树 中,展开 ...\ArcTutor\Network Analyst\Tutorial > Exercise01 > SanFrancisco.gdb。
- 单击 Transportation 要素数据集。
要素数据集包含的要素类将列于 ArcCatalog 的内容选项卡上。
- 右键单击 Transportation 要素数据集并单击新建 > 网络数据集。
将打开新建网络数据集 向导。
- 输入网络数据集的名称 Streets_ND。
- 保持选择网络数据集的版本设置为最新版本。
如果需要与使用较旧版本 ArcGIS 的用户共享网络数据集,此选项会非常有用。当您选择的 ArcGIS 版本号小于或等于这些用户的版本时,这些用户就可以打开您创建并共享的网络数据集。然而,这样做的缺陷是您将无法纳入更高版本的 ArcGIS 中引入的任何新增网络数据集功能,因为将禁用新建网络数据集 向导中用于添加功能的控件。如果无需共享网络数据集,或者共享的用户与您使用相同的 ArcGIS 版本,则选择最新版本将是最佳方案。
- 单击下一步。
- 选中 Streets 要素类并将其作为网络数据集的源。
- 单击下一步。
- 单击是在网络中构建转弯模型。
- 选中 RestrictedTurns 以将其选作转弯要素源。应已选中 <通用转弯>;这样您就能够添加默认转弯惩罚值。
- 单击下一步。
- 单击连通性。
将打开连通性 对话框。可在此处为该网络设置连通性模型。
- 确保 Streets 的连通性策略已设置为端点。
- 单击确定返回新建网络数据集 向导。
- 单击下一步。
- 此数据集具有高程字段,因此请确保选择使用高程字段选项。
网络数据集中的高程设置进一步定义了连通性。为了帮助理解,假设两条边在 x 和 y 空间内端点重合,但高程不同(一个端点高于另一个)。此外,假设连通性策略设置为端点。如果忽略高程,两条边相连。但如果考虑高程,它们就不相连。
构建高程模型的方式有两种:使用几何中的实际高程值或使用高程字段中的逻辑高程值。
Streets 要素类具有整数形式的逻辑高程值,存储在 F_ELEV 和 T_ELEV 字段中。例如,如果两个重合端点的字段高程值为 1,则边会连接。但是,如果一个端点的值为 1,而另一个重合端点的值为 0(零),边将不会连接。Network Analyst 会识别此数据集中的字段名称并自动映射它们,如下图所示。(只有整型字段可以用作高程字段。)
- 单击下一步。
- 单击下一步。
将显示设置网络属性的页面。
- 单击 Meters 行将其选中,然后单击赋值器检查网络属性的值是如何确定的。
将打开赋值器 对话框。
- 在属性下拉列表中,每次单击一种属性类型,检查赋值器的类型和源要素类的值。
- 单击确定返回新建网络数据集 向导。
- 单击添加。
打开添加新属性 对话框。
- 在名称字段中键入 RestrictedTurns。
- 对于使用类型,请选择限制。
- 将约束条件用法设置为禁止。
此设置禁止在分析过程中穿过转弯要素。
- 单击确定。
新的属性 RestrictedTurns 将被添加到属性列表中。中间带 D 的蓝色圆圈表示该属性在新分析中被默认启用。
- 单击赋值器为新属性按源赋值。
- 按照以下子步骤,将 RestrictedTurns 的赋值器类型设置为常量,其值设置为“受限”。
- 单击属性下拉列表,并选择 RestrictedTurns。
- 对于 RestrictedTurns 行,在类型列下方单击并从下拉列表中选择常量。
- 单击值列并选择使用约束条件。
结果应该类似于下图所示:
- 单击确定返回新建网络数据集 向导。
- 右键单击 Hierarchy 行,然后选择默认情况下使用。
蓝色符号将从属性中移除。这意味着使用此网络数据集创建分析图层时不会默认使用等级。
- 单击下一步。
将出现包含出行模式设置的页面。通过在网络数据集上配置一个或多个出行模式,您可以在分析时选择一种模式,而避免设置为汽车、货车、步行或其他出行模式建模所需的各个属性。如果针对某一特定出行模式执行很多次分析,最好设置一个出行模式。如果想了解有关出行模式使用方式及其用处的详细信息,请参阅出行模式主题。
- 单击下一步。
- 单击是设置方向。
- 单击方向。
将打开网络方向属性 对话框。
- 在常规选项卡上,确保主要行的名称字段将自动映射到 NAME。
NAME 字段包含旧金山街道的名称,它们将用于生成行车路线。
结果应该类似于下图所示:
- 单击确定返回新建网络数据集 向导。
- 单击下一步。
- 选中构建服务区索引。
若使用此索引,则在本教程练习结束时构建网络数据集将花费更长的时间,但是会加快在网络数据集上生成服务区的速度。有关详细信息,请参阅优化主题。
- 单击下一步。
将显示所有设置的汇总信息供您查看。
- 单击完成。
将启动进度条,显示 Network Analyst 正在创建网络数据集。
- 单击是。
将启动“构建网络数据集”进度条;构建过程结束后它会消失。
新的网络数据集 Streets_ND 及系统交汇点要素类 Streets_ND_Junctions 已添加到 ArcCatalog 中。
- 通过单击网络数据集名称并单击预览选项卡预览网络数据集。
先绘制边,然后绘制交通流量。
- 关闭 ArcCatalog。
可以使用此向导页面配置交通流量数据。交通流量数据能够使您根据一周中的某天某时刻找到最快的路径。例如,周三上午 8:30(高峰时段)从 A 到 B 的最快路径可能与周日下午 1:00 这两点间的最快路径不同。尽管路径相同,到达目的地所花费的时间却也可能不同。
地理数据库 SanFrancisco 中包含了两个存储历史流量数据的表:DailyProfiles 和 Streets_DailyProfiles。在设计表的方案时,应该使 Network Analyst 能识别每个表的作用并能自动配置历史流量。
网络属性用于控制导航。常见示例有用作网络阻抗的成本属性,或禁止双向穿越或单向穿越(如单行线)的约束属性。
Network Analyst 分析源要素类并查找常见字段,如“米”、“分钟”(FT_Minutes 和 TF_Minutes,分别用于每个方向)和“单向”。如果找到此类字段,它将自动创建对应网络属性并分配相应字段。(通过单击赋值器可进行查看。)
Network Analyst 将自动为该旧金山数据设置八个属性:Hierarchy、Meters、Minutes、Oneway、RoadClass、TravelTime、WeekdayFallbackTravelTime 和 WeekendFallbackTravelTime。它还会为这些属性创建赋值器。
源值选项卡上的表会列出源要素类。线状源要素类(将成为网络数据集中的边元素)会列出两次;一次针对“自-至”方向,一次针对“至-自”方向。(这些方向是指相对于源线要素的数字化方向。)类型列将显示用于计算网络属性值的赋值器的类型。值列包含赋值器计算属性值所需的信息。
现在要指定用于为网络分析结果报告方向的字段。
创建网络后,系统问您是否要构建它。构建过程会确定哪些网络元素是互相连接的,并填充网络数据集属性。必须先构建网络才能对其执行网络分析。
现在您可以将网络数据集添加到 ArcMap 并用它创建网络分析图层。