创建网络数据集
需具备 Network Analyst 许可方可使用。
在本教程中,您将根据加利福尼亚州圣地亚哥街道和公共景点的数据创建自定义的网络数据集。 您将首先使用 创建网络数据集 工具创建基本的网络数据集。 然后,您将浏览每个属性页面以设置其他 出行属性 (例如网络来源、成本、限制、描述符、出行方式和路线)
使用本教程创建的最终网络数据集可以生成路径和行驶方向,以供要游览圣地亚哥附近公共景点的游客使用。
教程数据以完整的网络数据集作为示例。
获取数据
本教程的数据可供下载。
请转至 数据下载页面 。
单击 下载 按钮将文件保存到本地。
解压下载的文件。
创建地图
要创建地图,请完成以下步骤:
启动 ArcGIS Pro。
单击 地图 模板以创建工程。 可以选择性地更改工程的名称和位置。
单击 确定 。
随即出现具有地图的新工程。
检查源要素类
接下来,向地图添加 Streets 和 Walking_Pathways 要素类。
在 目录 窗格(默认情况下,位于应用程序的右侧)上,右键单击 文件夹 ,然后选择 添加文件夹连接
。随即出现 添加文件夹连接 对话框。
浏览到您放置了教程数据的文件夹,双击 Network Analyst ,然后单击 教程 以选择该文件夹。
单击 确定 。
随即创建一个与教程文件夹之间的连接。
在 目录 窗格中,展开 文件夹 > Tutorial > CreateNetworkDataset > SanDiego.gdb > Transportation 。
将 Streets 和 Walking_Pathways 拖动到地图上。
两个要素类将被添加到 内容 窗格以及地图中。
在 内容 窗格中,右键单击 Streets 图层并选择 属性表 。
检查字段以及其中的值。 网络数据集将以某种容量使用许多字段。
FT_Minutes、TF_Minutes、KPH和Meters等字段可用于设置成本属性,以告知网络数据集遍历每个边的成本。 这些字段通常为双精度型或浮点型字段。F_ZLEV和T_ZLEV字段将用于定义不同级别的街道。 这将有助于正确地建立立交桥和地下通道等结构;在这些结构中,由于高程不同,您无法直接从一条街道向另一条街道转弯。 将在稍后创建网络数据集和选择高程模型时介绍这些字段。FUNC_CLASS字段是一个整数字段,用于为每个道路分配一个类别。 此字段将用于在网络数据集上设置等级属性。 同样,我们将在本教程的后续部分中继续介绍该字段和该等级。还存在诸如
PAVED、AR_PEDEST、AR_BUS、AR_AUTO、DIR_TRAVEL、TF_HeightLimit_Meters和FT_HeightLimit_Meters之类的字段。 这些字段将用于设置约束条件,以防止在某些情况下行驶到某些道路上。 大多数字段中具有 Y 或 N 值。DIR_TRAVEL字段中包含诸如 FT 和 TF 之类的值,这些值将用于设置单行线限制。FT_HeightLimit_Meters和TF_HeightLimit_Meters字段中大多为空值,其中一些要素填充有数字。 这两个字段将用于设置一种名为参数化约束条件的特殊约束条件类型。 设置高度限制后,您将能够在分析设置中指定游览车的车辆高度,且如果游览车由于其高度原因而无法在某些道路上行驶,则网络数据集可以对其进行限制。
完成属性表检查后,将其关闭。
创建网络数据集
使用 创建网络数据集 地理处理工具创建基本的网络数据集。
在 分析 选项卡上的 地理处理 组中,单击 工具 打开 地理处理 窗格。
单击 地理处理 窗格中的搜索栏并输入 Create Network Dataset 。
单击第一个结果以打开 创建网络数据集 地理处理工具。
对于 目标要素数据集 参数,单击 浏览 按钮
。浏览到 SanDiego.gdb > Transportation ,然后单击 确定 。
Transportation 要素数据集将填充到 目标要素数据集 参数中。
在 网络数据集名称 参数中输入 NewSanDiego_ND 。
对于 源要素类 参数,仅选中 Streets 框。
仅 Streets 要素类将作为网络数据集的一部分包含在内,Walking_Pathways 或 Signposts 要素类不会包含在内。 您将在本教程的后续部分中为网络数据集添加更多要素和功能。
保留 高程模型 参数的默认值 Elevation_Fields 。
单击窗格底部的 运行
。
名为 NewSanDiego_ND 的新网络数据集将添加至地图。
右键单击地图中的 NewSanDiego_ND 图层,然后选择 移除 以从地图上移除网络数据集图层。
当网络数据集图层在地图中时,将无法编辑网络数据集属性。 您必须从地图上移除图层才能继续本教程的其余部分。
添加网络源并设置连通性策略
最初仅使用 Streets 要素类将网络数据集创建为网络源。 现在,您需要将 Walking_Pathways 要素类添加到网络数据集,并为两个网络源设置适当的组和垂直连通性策略。
创建网络数据集之后,所有编辑都将通过网络数据集属性页面执行。
在 目录 窗格中,右键单击 NewSanDiego_ND 网络数据集
,然后选择 属性 以打开 网络数据集属性 对话框。单击 源设置 > 源 。
此页面将显示当前参与网络数据集的所有源要素类。
单击位于该对话框右上角的 添加/移除源 按钮。
此时已存在一个边源和一个交汇点源。 交汇点源为所创建的默认交汇点要素类,由网络数据集进行管理。
将出现 添加/移除源 对话框。
在 添加/移除源 对话框中,选中 Walking_Pathways 旁边的框,然后单击 确定 。

要素数据集中的其他折线和点要素类将在 添加/移除源 对话框上列出。 网络数据集可以具有许多可以发挥不同作用的边源和交汇点源。 目前,您仅需要选中 Walking_Pathways 。
Walking_Pathways 将显示为网络数据集源。
单击 垂直连通性 选项卡。

注:
您无法为不同的源使用不同的高程模型。 您无法将 z 坐标用于 Walking_Pathways 且无法将高程字段用于 Streets。 所有网络数据集源都必须使用相同的高程模型。 有关将 z 坐标或高程字段与网络数据集搭配使用的详细信息,请参阅 连通性 。
。
对于 Streets(起始节点) 和 Walking_Pathways(起始节点) ,将下拉列表中的属性由 无 更改为 F_ZLEV 。
对于 Streets(终止节点) 和 Walking_Pathways(终止节点) ,将下拉列表中的属性由 无 更改为 T_ZLEV 。
起始节点和终止节点的概念是从线要素的数字化方向中派生出来的。 起始节点位于线的起点,终止节点位于线的终点。 同样,“沿”方向是指沿线的数字化方向行驶,而“相对”方向是指沿与线数字化方向相反的方向行驶。
在 网络数据集属性 对话框上,单击 确定 以提交所做的更改并关闭对话框。
添加成本
在路径计算(也称为查找最佳路径)过程中,网络分析经常涉及到成本(也称为阻抗)最小化。 在本部分中,您将向网络数据集添加成本属性。 成本属性可用于对网络数据集上的阻抗进行建模。 这些属性是可以沿着边进行分配的,也就是说,可以将它们沿某边长度成比例划分。
在 目录 窗格中,右键单击 NewSanDiego_ND 网络数据集
,然后选择 属性 以打开 网络数据集属性 对话框。单击 出行属性 页面,然后单击 成本 选项卡。
创建网络数据集 工具会根据网络源中的几何字段自动创建一个成本属性 Length 。
虽然“Length”较为正确地描述了成本属性所代表的意义,但仍然不是十分清楚。 另外,默认距离成本的单位基于源要素类的空间参考。 在本示例中,单位是米,但您需要以英里为单位。 您要对成本进行的第一个修改就是将默认距离属性重命名为米;确保为所有边源正确设置赋值器,并应用表达式将米转换为英里。
单击成本的 距离 部分中的 长度 属性。
单击 菜单 按钮
,选择 重命名 。
在 属性 部分的 名称 文本框中输入 Miles ,然后按 Enter 键以接受名称更改。
将 单位 值更改为 英里 。
请注意, Streets(沿) 行的值为
Shape字段。 将Shape字段传递到赋值器中时,会将边的空间参考、单位和几何传递到赋值器中。 使用Shape字段时允许赋值器在计算边长度时使用空间参考。 相反,Shape_Length字段仅以数字和单位的形式传递,这可能导致边长度的准确性降低,具体取决于数据的坐标系。当赋值器为成本使用常规数字字段时,如果要更改赋值器的单位,则需要在赋值器设置对话框上编写表达式,以将字段中的数字转换为新单位。 例如,要将英里转换为英尺,可以使用以下表达式:
!Miles_Field!*5280在赋值器中使用
Shape和Shape_Length字段时,只需更改成本单位,赋值器即会在后台完成转换。在 赋值器 部分的 边 组中,对于 Walking_Pathways(沿) 行,将 类型 从 与默认值相同 更改为 字段脚本 。

双击 Walking_Pathways(沿) 的 值 列,以使 字段脚本设置 按钮可用,然后单击 字段脚本设置 按钮
。随即出现赋值器设置对话框。
在 字段 选择器中,双击 Shape ,在 值 框中插入 !Shape! ,然后单击 确定 。
赋值器将告诉网络如何计算每个边的阻抗或成本。 它可以是基于字段、基于其他属性或通过脚本计算的常量。 上述每种都是不同类型的赋值器。
接下来,您将向网络数据集添加名为 Minutes 的时间成本。
单击 菜单 按钮
,选择 新建 。输入 Minutes 作为新成本的名称。
在 赋值器 部分的 边 组中,对于 Streets(沿) 行,将 类型 由 与默认值相同 更改为 字段脚本 。
X 图标将出现在 Streets(沿) 和 Streets(相对) 行的旁边,但是在您选择了赋值器所基于的字段后,该图标将消失。
双击 Streets(沿) 的 值 列,以使 字段脚本设置 按钮
可用,然后单击 字段脚本设置 按钮。您可能拥有一个字段,用于表示沿某一边任一方向行驶的成本。 例如,
Minutes字段(通过将线的长度除以速度限制计算得出)将适用于沿方向和相对方向。 如果可以将同一字段用于两个行驶方向,则可以将字段脚本赋值器用于 Streets(沿) 行。 然后,无需为 Streets(相对) 方向设置字段脚本赋值器,而是将赋值器 类型 更改为 与沿方向相同 。针对此数据,存在用来表示沿方向和相对方向的不同字段,因此您需要设置这两个方向。
在 字段 选择器中,找到 FT_Minutes ,双击它。 单击 确定 。
对 Streets(相对) 行重复步骤 12 和 13。
在 字段 选择器中,双击 TF_Minutes 。 单击 确定 。
对 Walking_Pathways(沿) 和 Walking_Pathways(相对) 行重复步骤 12 至 16。

还是在 赋值器 部分的 转弯 组中,将 <默认> 行的 类型 值更改为 转弯类别 。
双击 <默认> 的 值 列,以使 转弯类别设置 按钮
可用,然后单击 转弯类别设置 按钮。随即出现 转弯类别赋值器 对话框。
将 左转弯 和 反向转弯 的秒数更改为 5 。

当遇到左转弯或反向转弯时,任何使用“Minutes”成本属性的分析都会增加 5 秒的延迟。
单击 确定 接受所做更改并关闭 转弯类别赋值器 对话框。
注:
将出现有关“Minutes”成本的警告,提示由于没有等级属性,“转弯类别赋值器”无法使用道路类来区分转弯。 可以忽略此警告。 您将在本教程的后续部分中添加等级属性时解决该问题。
在 网络数据集属性 对话框上,单击 确定 以提交所做的更改并关闭对话框。
网络数据集现已具备长度成本和时间成本。 接下来要做的就是添加约束条件,例如驾驶汽车、步行和车辆高度限制。
添加约束条件和描述符
在本部分中,您将添加约束条件,以对步行、驾驶汽车、驾驶公共汽车以及车辆高度限制进行建模。 您还将添加用于车辆高度的描述符,该描述符将与车辆高度限制一起使用。
在分析过程中,约束条件可以确定是否完全禁止、避免甚至首选使用具有特定特征的遍历道路。 例如,约束条件可用于防止行人走上高速公路,或防止过高的卡车在没有足够净空高度的道路上行驶。
描述符是用于描述网络或网络元素特征的属性。 不同于成本属性,描述符属性是不可分配的。 这意味着描述符数值不取决于边元素的长度。 使用描述符将不打算分配和用于成本的属性带入网络数据集中,以将其用于等级和约束条件。 本教程将使用描述符将车辆高度从 TF_HeightLimit_Meters 和 FT_HeightLimit_Meters 字段带到 Streets 要素类上,以将其用于高度约束条件。
首先,您将面向驾驶汽车、驾驶公共汽车和步行建模创建基本的约束条件。
在 目录 窗格中,右键单击 NewSanDiego_ND 网络数据集
,然后选择 属性 以打开 网络数据集属性 对话框。单击 出行属性 页面,然后单击 约束条件 选项卡。
单击位于 约束条件 选项卡右上角的 菜单 按钮
然后选择 新建 。输入 Driving an Automobile 作为新约束条件的名称。
将 使用类型 设置为 禁止 。
在 赋值器 部分的 边 组中,对于 Streets(沿) 行,将 类型 值由 与默认值相同 更改为 字段脚本 。
X 图标将出现在 Streets(沿) 和 Streets(相对) 行的旁边,但是在您选择了赋值器所基于的字段后,该图标将消失。
双击 Streets(沿) 行的 禁止 列以使 字段脚本设置 按钮
处于可用状态,然后单击 字段脚本设置 按钮。随即出现赋值器设置对话框。
在 值 框中输入 !AR_AUTO!=="N" ,然后单击 确定 。
此字段用于指示汽车是否可以在道路上合法行驶。 值
Y表示汽车可以在该道路上行驶,而值N表示汽车无法在该道路上行驶。约束条件始终为布尔型。 当您为约束条件定义字段脚本、元素脚本或函数时,您需要为约束条件明确将表达式、脚本或函数返回的哪些值计为 True,这会对该边产生影响。 任何其他值都将被解释为
False,且不会对边产生影响。 在此例中,一旦约束条件对边产生影响,这将该边被遍历。将 Streets(相对) 设置为 与沿方向相同 。
对于 Walking_Pathways(沿) ,将 类型 更改为 常量 ,并将 禁止 更改为 True 。
将 Walking_Pathways(相对) 设置为 与沿方向相同 。
切勿允许机动车辆在人行道上行驶,这样您就可以设置一个常量值,从而在该约束条件处于活动状态时使机动车辆一直受到限制。
重复步骤 4 至 11,添加新的约束条件以禁止公共汽车穿越某些道路,将该约束条件命名为 Driving a Bus 并使用
AR_BUS字段。
添加一个名为 Walking 的新约束条件。
对于 Streets(沿) ,将赋值器 类型 更改为 字段脚本 。
双击 Streets(沿) 行的 禁止 列以使 字段脚本设置 按钮处于可用状态,然后单击 字段脚本设置 按钮
。在赋值器设置对话框的 值 框中,键入 !AR_PEDEST! == "N" 。
这将限制州际公路或其他交通流量大的道路,当 Walking 约束条件处于活动状态时将禁止行人通行。
保留 Walking_Pathways 边的默认赋值器设置。
接下来,您将创建一个避免未铺设道路的约束条件。 在之前的约束条件中,您将 使用类型 约束条件设置为 禁止 ,此举将允许或不允许对边进行遍历。 Avoid Unpaved Roads 约束条件将使用 避免 使用类型。
创建一个名为 Avoid Unpaved Roads 的约束条件。
将 使用类型 值从 -1 (表示 禁止 )更改为 2 (表示 避免 )。

对于 Streets(沿) ,将赋值器 类型 更改为 字段脚本 。
在赋值器设置的 值 框中,键入 !PAVED! == "N" 。
这样,任何在
PAVED字段中具有值N的边都将被适度避免。接下来,您将添加对单行道的约束条件。
添加名为 Oneway 的新约束条件。
对于 Streets(沿) ,将赋值器 类型 更改为 字段脚本 。
双击 Streets(沿) 的 禁止 列以使 字段脚本设置 按钮处于可用状态,然后单击 字段脚本设置 按钮
。单行道通常在街道的一个行驶方向上受到限制。 在此例中,您希望沿某边的不同行驶方向具有不同的值。 您将为 Streets 的每个行驶方向设置相似但略有不同的字段表达式。
最后,在 助手 选择器中,双击 Oneway 。
此将插入 Python 表达式,该表达式用于查找
N、TF或T值,并在该边具有上述任一值的情况下对其进行限制。 它将被写成一个不区分大小写的表达式。TF和T值通常分别代表“至-自”和“至”。 这些值用于指示边上的哪个行驶方向受到限制。 根据表达式,将禁止沿“至-自”或“相对”方向行驶,而允许沿“自-至”或“沿”方向行驶。N将用于顺方向和逆方向的表达式中。 将在路径中禁止使用任何具有N值的线。
将 值 框中的文本 !Field! 替换为文本 !DIR_TRAVEL!
由此确保该表达式可与字段名
DIR_TRAVEL配合使用。单击赋值器设置对话框中的 确定 ,以接受更改。
对于 Streets(相对) ,将赋值器 类型 更改为 字段脚本 。
打开 Streets(相对) 行的赋值器设置对话框。
最后,在 助手 选择器中,双击 Oneway 。
此表达式与上一个表达式相同,只是该表达式不具备
TF和T,而是使用FT和F。 此表达式会将相反的一组街道限制为另一种表达式,这也是单行线限制的另一半所需要的。将 值 框中的文本 !Field! 替换为文本 !DIR_TRAVEL!
由此确保该表达式可与字段名
DIR_TRAVEL配合使用。单击赋值器设置对话框中的 确定 ,以接受更改。
您将要添加新的参数化约束条件,以对某些街道上的车辆高度限制进行建模。 您首先要创建一个描述符,以便从 Streets 要素类中获取车辆高度。
单击 描述符 选项卡。
单击 菜单 按钮
,然后单击 新建 。输入名字的 高度限制(英尺) 。
对于 Streets(沿) 行,将赋值器类型更改为 字段脚本 。
打开 Streets(沿) 行的赋值器设置对话框。
在 结果 框中输入 MetersToFeet(!FT_HeightLimit_Meters!) ,并在 代码块 框中输入以下表达式:
def MetersToFeet(value): if value is None: return value return value / 0.3048此表达式从
FT_HeightLimit_Meters字段中获取值,并将其从米转换为英尺。对于 Streets(相对) 行,将赋值器类型更改为 字段脚本 。
打开 Streets(相对) 行的赋值器设置对话框。
在 结果 框中输入 MetersToFeet(!TF_HeightLimit_Meters!) ,并在 代码块 框中输入以下表达式:
def MetersToFeet(value): if value is None: return value return value / 0.3048单击 确定 以接受表达式。

单击位于顶部的 约束条件 选项卡。
添加一个名为 Height Restriction 的新限制属性。
如有必要,请展开 参数 部分。
在 参数 部分中,在格网中单击以添加新行。
将新参数的名称更改为 车辆高度(英尺) 。
有时,网络分析取决于变量条件。 在这种情况下,您可以使用参数。 参数的行为类似于占位符变量。 除非默认值被其他内容覆盖,否则参数将使用默认值。 该参数将呈现在分析图层中的 出行模式 设置中,您可以在其中更改该分析的车辆高度。
将参数添加到约束条件、成本或描述符会使约束条件、成本或描述符成为参数化属性。 参数化属性可以对许多内容进行建模,包括高度、重量、车轴计数限制或按比例调整的行程成本。
将 类型 列设置为 双精度 ,并将 默认值 设置为 0。
注:
对于此参数,双精度是合适的类型,因为车辆的高度可能为 4 米或 4.5 米。 默认值 设置将用作车辆高度占位符,直到您根据分析图层属性对其进行更改为止。
将 Streets(沿) 行的 类型 值更改为 函数 ,然后打开赋值器设置对话框。
对于函数赋值器,您可以创建一个简单的数学函数。 对于成本或描述符等数值类型属性,可以执行乘法、除法、减法和加法。 布尔属性(例如约束条件)将使用比较操作数,例如大于或小于。
将 属性名称 设置为 高度限制(英尺) ,这是您先前创建的描述符。
将 参数名称 设置为 车辆高度(英尺) ,这是您刚刚添加到此约束条件中的参数。
对于运算符,请选择小于或等于 (<=)。
表达式显示为:
Height Limit (Feet) <= Vehicle Height (Feet)。如果边上的
Height Limit (Feet)小于或等于分析图层中的Vehicle Height (Feet)输入,则边将受到限制。单击 确定 以接受函数。
保留 Walking_Pathways 行的默认值。
步行路径上没有高度限制,且无论如何都不允许车辆通行,因此您无需为步行路径设置此约束条件。
在 网络数据集属性 对话框上,单击 确定 以提交所做的更改并关闭对话框。
添加时区属性
时区属性支持网络数据集管理时区,从而保证当前时间值的明确性,并且启用流量的网络数据集也可以根据当前的正确时间获取准确的行驶时间。 一些类型的网络分析(如最后一公里配送分析)需要时区属性。 您将设置时区属性,以便使用此网络数据集运行所有类型的分析。
在 目录 窗格中,右键单击 NewSanDiego_ND 网络数据集
,然后选择 属性 以打开 网络数据集属性 对话框。单击 出行属性 页面,然后单击 时区 选项卡。
选中 添加时区属性 复选框。
在 时区表 下拉列表中,确保已选择
TimeZones表。确保已填写赋值器格网中的值,其中 <默认> 赋值器的 类型 设置为 常量 , 值 设置为 (UTC-08:00) 太平洋时间(美国和加拿大) ,其他赋值器使用默认值。

TimeZones 表包含一个条目: 太平洋标准时间 。 此值对应于 Windows 注册表中的值,网络数据集根据该值确定要使用的时区。 由于只有一个条目,因此网络数据集将该值填充为默认值,并且是唯一要使用的值。 如果网络数据集跨多个时区,则可以使用字段赋值器进行设置。 时区属性 文档对该过程以及时区属性的更多相关信息进行了介绍。
在 网络数据集属性 对话框上,单击 确定 以提交所做的更改并关闭对话框。
添加等级属性
等级是指分配给网络元素的次序或级别。 通常会有 3 至 5 类道路,但可供使用的道路种类要更多。 在三级等级中,这些类为主要,次要和地方。 地方道路包括小型居住区街道等等。 次要道路可能包括穿过城镇或州道的主要道路,而主要道路可能包括州际公路和高速公路。
在 目录 窗格中,右键单击 NewSanDiego_ND 网络数据集
,然后选择 属性 以打开 网络数据集属性 对话框。单击 出行属性 页面,然后单击 等级 选项卡。
选中 添加等级属性 框。
范围 和 赋值器 的等级设置随即出现。
将 主要道路 的范围上限更改为 2 。
将 次要道路 的范围上限更改为 4 。
注:
这些就是此数据的范围,但是您的数据分类方式可能有所不同。
对于 Streets(沿) 行,将赋值器类型更改为 字段脚本 ,然后打开赋值器设置对话框。
在 结果 框中,输入以下表达式:
int(!FUNC_CLASS!)等级属性需要大于 0 的整数输入。 因为
FUNC_CLASS字段是文本字段,所以您需要使用一种方法将字段值转换为整数。
单击 确定 以接受表达式。
对 Walking_Pathways(沿) 行重复步骤 6 到 8。

在 网络数据集属性 对话框上,单击 确定 以提交所做的更改并关闭对话框。
添加出行模式
出行模式本质上是由一长串出行设置构成的模板,这些出行设置可以定义车辆或行人的物理特征。 当执行网络分析以定义车辆或行人的出行方式和位置时会考虑这些特征。 有了预定义出行模式,您可以快速将预定义设置应用于网络分析,而不必手动选择每个设置。
出行模式可以为常规模式(例如驾驶汽车或步行)建模,或者可以为特定模式(例如驾驶不会超过速度限制的牵引式挂车或驾驶可以忽略某些交通法规的救护车)建模。
出行模式存储在网络数据集中,且可以根据需要在分析图层中进行修改。
您将为三种出行模式创建五种出行模式:驾驶汽车、驾驶游览车和步行。 对于驾驶汽车和驾驶游览车,您将创建基于距离和基于时间的出行模式。 对于步行,您将仅创建基于距离的出行模式。
在 目录 窗格中,右键单击 NewSanDiego_ND 网络数据集
,然后选择 属性 以打开 网络数据集属性 对话框。单击 出行属性 页面和 出行模式 选项卡。
单击位于该对话框右上角的 菜单 按钮
然后选择 新建 。将出行模式命名为 Automobile Time 。
为 描述 输入一些内容,以提示您该出行模式代表用于驾驶汽车的基于时间的出行模式。
将 类型 设置为 驾驶 。
在 成本 部分中,请确保将 阻抗 值设置为 分钟 。
确保 距离成本 设置为 英里 。
在 约束条件 部分,选中“避免未铺设道路”、“驾驶汽车”和“单向”限制框,如下图所示:

在设置出行模式时,请仅选中一种交通方法(“驾驶汽车”、“驾驶公共汽车”或“步行”)。 这些约束条件将指示每种交通模式可以在何处合法遍历。 选中一种以上的方法会不恰当地限制或允许某些边。
您无需选中 高度限制 属性,原因是通常汽车在道路上不会遇到高度限制的问题。
在 U 形转弯 部分中,将设置更改为 死角和交叉点 。
如果 高级 部分处于折叠状态,则请将其展开。
在 高级 部分中,选中 使用等级 旁边的框。
等级通常可以减少对大型网络进行求解分析时所要花费的时间。 它还可以模拟人们偏好的驾驶方式,因为它像人一样喜欢较宽敞的道路(例如州际公路和高速公路),这些道路比地方道路更容易预测和简单。
单击 菜单 按钮
,选择 复制 。将新出行模式的名称更改为 Automobile Distance 。
将 阻抗 值更改为 英里 。
在 高级 部分中,取消选中 使用等级 旁边的框。
对于基于时间的成本属性,使用等级最有意义。 如果阻抗并非基于时间,则在求解过程中使用等级并不能产生实际的结果。
现在,您已经创建了两种用于驾驶汽车的出行模式。 接下来,您将创建用于驾驶公共汽车的出行模式。
创建一个名为 Tour Bus Time 的出行模式。
将 阻抗 值更改为 分钟 。
在 约束条件 部分中,单击 避免未铺设道路 。
将 约束条件用法 参数的值更改为 避免(高) 。

游览车无法很好地行驶在未铺设道路上。 将此出行模式的 约束条件用法 参数设置为 避免(高) 可确保仅在必要时使用未铺设道路。
确保选中 避免未铺设道路 复选框。
单击 驾驶公共汽车
确保选中 驾驶公共汽车 复选框。
单击 高度限制 。
将 车辆高度(英尺) 参数的值更改为 11 。
此处填充的任何值都将成为用于根据道路的高度限制评估车辆高度的默认值。 最佳的默认车辆高度值为 11 英尺,原因是大多数单层游览车的平均高度在 10 到 11 英尺之间。
确保选中 高度限制 复选框,并将 约束条件用法 设置为 禁止 。
确保选中 单向 复选框,并将 约束条件用法 设置为 禁止 。
在 U 形转弯 部分中,将策略更改为 无 。
在 高级 部分中,选中 使用等级 旁边的框。
复制此出行模式并将新的出行模式重命名为 Tour Bus Distance 。
保留所有属性不变,只是将 阻抗 值更改为 英里 并取消选中 使用等级 框。
您将为本教程添加的最后一种出行模式为针对步行距离的模式。
添加一个名为 Walking Distance 的新出行模式。
将出行模式的 类型 设置更改为 步行 。

将 阻抗 值更改为 英里 。
仅选中 Walking 约束条件。
行人不必考虑单行道、高度限制或未铺设道路的问题,因此无需启用这些约束条件。
将 U 形转弯 策略保留为 所有 。
取消选中 使用等级 复选框。
Walking 约束条件可防止行人在多种主要道路(例如州际公路和高速公路)上行进,这种情况应优先使用等级。
在 网络数据集属性 对话框上,单击 确定 以提交所做的更改并关闭对话框。
更新成本属性
由于网络数据集上存在一个等级属性,“转弯类别赋值器”将具有更多可用于定义转弯延迟的类别。 您将返回至 Minutes 成本,从而使用新的延迟时间来更新“转弯类别赋值器”。
在 目录 窗格中,右键单击 NewSanDiego_ND 网络数据集
,然后选择 属性 以打开 网络数据集属性 对话框。单击 出行属性 页面,然后单击 成本 选项卡。
选择 Minutes 成本。
在 Minutes 成本中向下滚动,以查看 转弯 部分。
双击 <默认> 的 值 列以使 转弯类别设置 按钮
处于可用状态。请注意,“值”现在表示存在 20 个转弯类别,而非您在设置转弯类别赋值器时显示的 5 个。
单击 转弯类别设置 按钮
以打开 转弯类别赋值器 对话框。
转弯方位角范围 部分将保持不变,但现在有了一个名为“道路类”的部分。 该部分允许您针对“转弯类别赋值器”更改将哪些等级值视为主要、次要或地方道路。
默认情况下,它将使用等级属性中定义的范围。 除非需要出于特殊原因更改范围,否则请保留默认范围不变。
由于可以按等级对道路进行分类, 转弯类别行驶时间 部分可显示更多的转弯类别。
在 左转弯 组中,将 本地: 本地: 任何 的 秒 值由 5 更改为 7。
这些列将用来指示转弯开始时所处道路的类、转弯结束时所处道路的类,是否有任何道路相交(例如正常的交叉路口)以及该道路的类。 例如,如果您需要越过主要街道以便继续在本地小巷上行驶,则需要等待几秒钟才能理清交通信息。 默认情况下,这种行进策略会有 15 秒的延迟。 但是,如果您只需要越过另一条小路以继续在小巷上行驶,则您不需要等待那么长时间。 此行进策略会有 2 秒的延迟。
单击 确定 接受所做更改并关闭 转弯类别赋值器 对话框。
在 网络数据集属性 对话框上,单击 确定 以提交所做的更改并关闭对话框。
设置方向
方向是如何通过路径的转弯说明。 网络数据集能够支持方向的最低要求如下:
具有长度单位的长度属性
至少一个边源
边源上至少有一个文本字段
可将基本方向设置为最低要求,但是部分方向要素的要求可能更高。
在 目录 窗格中,右键单击 NewSanDiego_ND 网络数据集
,然后选择 属性 以打开 网络数据集属性 对话框。单击 方向 页面。
选中 支持方向 旁边的复选框。
方向 页面和 字段映射 选项卡将被标记为无效状态(红色虚线下划线)。 您现在可将其忽略。 转至 字段映射 选项卡后,您将修正这个问题。
单击 常规 选项卡。
保留 属性映射 部分中的所有默认设置。
属性映射 部分中的属性将是网络数据集上的属性。
要素类别 、 行进策略类 和 驾驶侧 属性用于对方向进行更为精细的优化。 了解有关这些属性的详细信息 。
在 辅助数据源 部分中,设置以下属性:
将 路标要素 设置为
Signposts。将 路标连接表 设置为
Signposts_Streets。将 缩写表 设置为
Abbreviations。
辅助数据源 部分中的属性将为与网络数据集或地理数据库表相同的要素数据集中的其他要素类。
路标要素 和 路标连接表 属性提供可在高速公路道路标志中看到的一类指示信息,例如出口编号、所连接的道路以及沿连接的道路可到达的主要目的地。 这些属性成对存在,且如果希望方向使用路标信息,则必须同时指定两个属性。
与 要素类别 、 行进策略类 和 驾驶侧 属性类似, 道路分叉口 表用于对特定类型的转弯进行更为精细的指示。
书面指示经常包括常用词的缩写。 但是,将书面指示转换为语音导航时,必须展开缩写。 缩写表 用于存储有关展开这些缩写的规则。
保留 本地化名称 的默认设置。
网络数据集源可提供多种语言的街道名称和路标文本。 例如,部分欧洲国家/地区使用多种官方语言,且在某些地区,街道名称可能用两种或两种以上的语言表示。 此项设置用于确定方向是应报告所有可用语言的街道名称,还是仅以“方向”语言报告街道名称。
在选择 首选输出方向语言 之前,需要满足一些数据要求。
单击 字段映射 选项卡。
可为网络中的每个边源设置街道名称字段。 它们是用于报告方向的名称。
对于 备用名称 ,增加 Streets(边) 源的数量。
单个边源可以有多个名称。 例如,两条高速公路可能在数英里内共享同一段道路。 代表该段道路的边将具有两个名称。 要在方向上表示这种情况,可以在边源上使用备用名称。
对于 备用名称 ,减少 Streets(边) 源的数量。
教程数据不使用备用名称,因此您无需进行相关设置。
填充 Streets(边) 和 Walking_Pathways(边) 源的 主要名称 属性,如下图所示:
方向中边源的字段映射
名称
源字段
前缀方向
ST_NM_PREF
前缀类型
ST_TYP_BEF
基本名称
ST_NM_BASE
后缀类型
ST_TYP_AFT
后缀方向
ST_NM_SUFF
高速公路方向
DIRONSIGN
全名
ST_NAME
语言
语言
名称类
NameClass

注:
仅 基本名称 属性为必填项。 所有其他字段均为可选字段。
方向支持以多种语言报告街道名称。 语言 字段将指示以哪种语言表示名称。 主要名称可能使用一种语言,而备用名称使用另一种语言表示。
在 辅助属性 部分,对于 Streets(边) 和 Walking_Pathways(边) ,将 国家/地区代码 设置为
CountryRegionCode,并将其他属性设置为默认值。行政区域 字段将按名称列出边所在的行政区域。 行政区域的任何变化都将在方向中报告出来,例如,在穿越州界线时会显示“进入加利福尼亚州”。
楼层(自) 、 楼层(至) 、 楼层名称(自) 和 楼层名称(至) 字段函数与 行政区域 类似,但适用于设置室内路径。 这些函数可分别报告楼层编号和楼层名称的变化。
国家/地区代码 设置可与缩写表搭配使用。 它包含一个 ISO 3166-2 代码,用于确定在语音导航指示中使用的缩写扩展。 与 行政区域 字段中的值不同, 国家/地区代码 设置中的值不会直接显示在指示中。
单击 地标 选项卡。
提供了两个组: 空间地标 和 参考地标 。 空间地标是要素类,而参考地标是表。 空间地标依赖于求解时的空间搜索,用于确定应参考地标的时机。 参考地标将其在网络上的位置内置于行中,以便仅需表格搜索即可在方向中使用地标。 空间搜索要比常规表搜索慢,因此参考地标的速度性能要强于空间地标。
空间地标使用简单的空间搜索来确定其位置,因此可以快速进行设置。 您需要至少包含一个文本字段的点要素类,以用作地标的标注。 其他字段可用于定义其他特征,例如通常用于设置室内路径的楼层,或每个点要素的自定义搜索容差。
参考地标需要更多的工作方可完成设置。 该地标需要特定的方案,且必须手动配置网络位置和其他必填字段。
您将同时设置空间地标和参考地标。
首先,您将设置空间地标。
单击 添加/移除空间地标 按钮。
随即出现 添加/移除空间地标 对话框,且其中将存在两个组。 确认引导地标会通知驾驶员当前的行驶方向正确;例如,“行驶到东湖公园,目的地位于道路左侧。”转向引导地标可帮助驾驶员通过路口。;例如,“在 1 号大街高大的白色圆柱形建筑前左转。”
地标要素类必须与网络数据集位于同一个要素数据集中。 可以将单个地标要素类注册为确认引导和转向引导地标。
展开 确认引导 组下的 MajorAttractions 树视图。
将地标要素类注册为每个边源的确认引导或转向引导地标。 在大多数情况下,您需要将所有边源的地标要素类注册为确认引导地标和/或转向引导地标。
选中 确认 和 转向引导 部分中顶级 MajorAttractions 要素类旁边的框。
MajorAttractions 要素类代表了圣地亚哥市的主要景点。 这些景点可能毗邻 Streets 或 Walking_Pathways 要素。 也可将其用于转向引导和确认引导。 您需要为两组地标的所有边源注册 MajorAttractions 要素类。
请注意,选中顶级框后,所有子级复选框也会被选中。
单击 确定 以接受空间地标的注册。

空间地标 标题下的格网中将填充地标注册内容。
单击 字段映射 按钮。
随即出现 空间地标字段映射 对话框。
默认情况下,系统已将地标的 标注字段 选为
Name字段,且 级别字段 被设置为 <无> 。单击 标注字段 和 级别字段 下拉列表并注意选择内容。

标注字段 下拉列表将显示 MajorAttractions 要素类中的所有文本字段; 级别字段 下拉列表将显示所有整型字段。
在此对话框上进行更改将为所有引导类型和边源设置字段映射。
现在,不要更改任何字段,然后单击 取消 以关闭 空间地标字段映射 对话框。
接下来,您将设置参考地标。
单击 添加/移除参考地标 按钮。
将出现 添加/移除参考地标 对话框。
选中 Reference_Landmarks 旁边的复选框。

只有具备所需参考地标方案的表才会在此对话框中显示为候选项。
单击 确定 以接受参考地标的注册。
完整的 地标 选项卡应与下图相似:

在 网络数据集属性 对话框上,单击 确定 以提交所做的更改并关闭对话框。
构建网络数据集
现在,您已经对网络数据集设置完成了所有更改,接下来需要构建网络。 构建网络时将创建和更新网络边,并确保其具有来自源要素的最新信息。
在 分析 功能区上的 地理处理 组中,单击 工具 以打开 地理处理 窗格。
单击 地理处理 窗格中的搜索栏并输入 Build Network 。
单击第一个结果以打开 构建网络 工具。
对于 输入网络数据集 参数,请单击 浏览 按钮
并浏览到 NewSandiego_ND 网络数据集,然后单击 确定 。单击位于底部的 运行 按钮
。或者,在地图中添加网络数据集,然后在 内容 窗格中,右键单击网络数据集,然后在出现的上下文菜单中单击 构建 。
构建网络 地理处理工具将运行以构建网络。
浏览网络数据集
针对网络数据集设置属性并对其进行 构建 后,可以使用 探索网络 工具检查元素和属性。
将新创建的网络数据集 NewSanDiego_ND 拖动到地图上,并确保在 内容 窗格中选择网络数据集图层。
在功能区上,单击 网络数据集图层 组中的 数据 。 探索网络 工具应该可用。

单击该工具以将其激活并在地图上拖出一个方框,以从网络数据集中选择元素。
探索网络 窗口随即显示。 该窗口会显示在地图上标识的网络元素以及与其关联的元素和属性。
了解有关 探索网络 的详细信息