练习 1:创建网络数据集
在本练习中,您将使用地理数据库 San Francisco 中的街道要素和转弯要素创建一个网络数据集。您还可以加入历史交通流量数据,以便求解取决于时间的路径。
Network Analyst 教程中本练习和其他练习所使用的数据可在 ArcGIS.com 中找到。数据下载完成后,可将其解压缩到所需位置。但是最好将其解压到 C:\arcgis\ArcTutor,因为本教程将此路径视作数据的默认位置。
创建网络数据集
- 单击开始 > 所有程序 > ArcGIS > ArcCatalog 10.1 启动 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。
要在地理数据库中打开新建网络数据集 向导,右键单击包含源要素类(如 Streets)的要素数据集并选择新建 > 网络数据集。对于基于 shapefile 的网络数据集,右键单击 Streets shapefile 本身,而不是包含 shapefile 的工作空间,并选择新建 > 网络数据集。
产生这种差别的原因是地理数据库网络允许您使用要素数据集中存储的多个源来创建多方式网络,而基于 shapefile 的网络数据集只能够处理单个源要素类。
可以使用此向导页面配置交通流量数据。交通流量数据能够使您根据一周中的某天某时刻找到最快的路径。例如,周三上午 8:30(高峰时段)从 A 到 B 的最快路径可能与周日下午 1:00 这两点间的最快路径不同。尽管路径相同,到达目的地所花费的时间却也可能不同。
地理数据库 SanFrancisco 中包含了两个存储历史流量数据的表:DailyProfiles 和 Streets_DailyProfiles。在设计表的方案时,应该使 Network Analyst 能识别每个表的作用并能自动配置历史流量。
此数据集不包含配置实时交通流量数据所需的信息;但练习 10 的数据包含。
网络属性用于控制导航。常见示例有用作网络阻抗的成本属性,或禁止双向穿越或单向穿越(如单行线)的约束属性。
Network Analyst 分析源要素类并查找常见字段,如“米”、“分钟”(FT_Minutes 和 TF_Minutes,分别用于每个方向)和“单向”。如果找到此类字段,它将自动创建对应网络属性并分配相应字段。(通过单击赋值器可进行查看。)
Network Analyst 将自动为该旧金山数据设置八个属性:Hierarchy、Meters、Minutes、Oneway、RoadClass、TravelTime、WeekdayFallbackTravelTime 和 WeekendFallbackTravelTime。它还会为这些属性创建赋值器。
源值选项卡上的表会列出源要素类。线状源要素类(将成为网络数据集中的边元素)会列出两次;一次针对“自-至”方向,一次针对“至-自”方向。(这些方向是指相对于源线要素的数字化方向。)类型列将显示用于计算网络属性值的赋值器的类型。值列包含赋值器计算属性值所需的信息。
现在要指定用于为网络分析结果报告方向的字段。
创建网络后,系统问您是否要构建它。构建过程会确定哪些网络元素是互相连接的,并填充网络数据集属性。必须先构建网络才能对其执行网络分析。
现在您可以将网络数据集添加到 ArcMap 并用它创建网络分析图层。