练习 12:使用约束属性执行网络分析
在本练习中,您将使用具有不同“约束条件用法”参数值的约束属性来求解简单路径,以避开收费公路并首选指定的货车路径。
Network Analyst 教程中本练习和其他练习所使用的数据可在 ArcGIS.com 中找到。数据下载完成后,可将其解压缩到所需位置。但是最好将其解压到 C:\arcgis\ArcTutor,因为本教程将此路径视作数据的默认位置。
向 ArcMap 添加 Network Analyst 控件
- 如果已在 ArcMap 中打开了 Exercise12.mxd,请直接跳至步骤 6。
- 单击开始 > 所有程序 > ArcGIS > ArcMap 10.2.2 启动 ArcMap。
-
在 ArcMap - 启动 对话框中,单击现有地图 > 浏览更多。
将弹出打开 ArcMap 文档 对话框。
-
浏览至 C:\ArcGIS\ArcTutor\Network Analyst\Tutorial。
这是本教程数据的默认安装位置。
-
双击 Exercise12.mxd。
将在 ArcMap 中打开该地图文档。
-
启用 ArcGIS Network Analyst 扩展模块。
-
单击自定义 > 扩展模块。
将打开扩展模块 对话框。
- 选中 Network Analyst。
- 单击关闭。
-
单击自定义 > 扩展模块。
-
单击自定义 > 工具条 > Network Analyst。
Network Analyst 工具条被添加到 ArcMap 中。
-
在 Network Analyst 工具条上,单击 Network Analyst 窗口按钮 。
可以停靠或取消停靠 Network Analyst 窗口。
如果未显示 Network Analyst 工具条,则需要添加该工具条。
如果未显示 Network Analyst 窗口,则需要添加该窗口。
在网络数据集属性中检查“约束条件用法”参数
本地图显示了圣地亚哥地区的道路网。地图东南区的紫色高速公路代表收费公路。指定的货车路径显示为沿白色线要素的白色菱形。
当前显示在地图中的网络数据集具有很多约束属性,您可以使用这些属性来满足路径偏好与要求。在本节中,您将详细了解约束属性的配置方法及其默认参数“约束条件用法”的信息。
- 单击标准工具 工具条上的目录按钮 。
将打开目录窗口。
-
浏览至 C:\ArcGIS\ArcTutor\Network Analyst\Tutorial。
这是本教程数据的默认安装位置。
- 双击 SanDiego.gdb > Transportation > Streets_ND。
将打开网络数据集属性对话框。
- 单击属性选项卡。
将列出网络属性,其中大多数为约束属性。约束属性表示行驶偏好或要求,例如,避开未铺面道路使您可以避开任何砂砾、泥土或其他未铺面道路。高度限制则使您可以绕开低于车辆高度的间隙。如果车辆上装载着腐蚀性物质,使用危险物品:腐蚀性货物受限约束条件可以防止在标记着运输腐蚀性材料非法的路上运输这些材料。
创建约束属性后,将自动添加一个名为“约束条件用法”的参数。在以下步骤中,您将进一步了解此参数。
- 单击添加。
打开添加新属性 对话框。
- 在使用类型下拉列表中选择限制。
将启用约束条件用法属性。
- 单击约束条件用法下拉列表查看可用选项。
此属性设置了“约束条件用法”参数的默认值,由此也设置了创建的约束属性的默认行为。该值指定了是禁止、首选还是避免使用约束条件的元素,同时还指定了避免或首选的程度。
在本练习中,您稍后将使用约束属性来避开收费公路。避开收费公路约束条件的“约束条件用法”参数默认值为避免:中。这说明使用约束条件时,在可能的情况下求解程序会试图绕开收费公路。避免:中还表示在网络分析中避开收费公路的重要性,即优先级为中等。选择避免:低会降低避开收费公路的重要性,而选择避免:高则会提高避开收费公路的重要性,因此如果求解程序为避开收费公路生成更长的路径,也更容易被接受。选择禁止则会完全不允许在收费公路上行驶,因此路径不可能遍历收费公路的所有部分。
但是请注意,避开或禁止收费公路并由此避开公路通行费只是一部分人的目的;对另外一部分人来说,因为避开拥堵的交通比交一些公路通行费更为重要,会宁愿走收费公路。在后一种情况下,需要选择“首选:低”、“首选:中”或“首选:高”。首选的等级越高,求解程序为了在使用约束条件的元素上行驶就会绕行更远的路程。
鉴于这些不同的观念和需求,默认情况下,ArcGIS Network Analyst 扩展模块 将添加“约束条件用法”参数到约束属性。由于它是一个参数,您可以在每次求解之前选择求解程序应如何响应约束条件。
- 单击取消。
将关闭添加新属性 对话框。
- 单击避开收费公路。
- 单击参数。
将打开避开收费公路参数对话框。请注意,默认值为避免:中。可以通过单击此值并选择一个不同的值来更改默认值,但是请保持此值不变。
- 单击取消。
将关闭避开收费公路参数对话框。
- 单击取消。
网络数据集属性 对话框关闭。
可以随时更改“约束条件用法”参数的默认值。下面的几个步骤说明了如何更改该默认值。
在网络分析图层属性中检查“约束条件用法”参数
本节将带您快速浏览在哪里查看以及如何更改网络分析图层的约束属性设置。
- 在 Network Analyst 工具条上,单击 Network Analyst,然后单击新建路径。
路径分析图层即被添加到 Network Analyst 窗口以及内容列表 窗口中的文档。
- 单击 Network Analyst 窗口中的分析图层属性按钮。
将打开图层属性 对话框。
-
单击分析设置选项卡。
选项卡中的约束条件框架列出了所有可用的约束条件。由于该网络分析图层创建自上节中检查的同一网络数据集,因此列出的约束属性完全相同。请注意,避开收费公路处于取消选中状态,因为默认情况下不使用此属性。
- 单击属性参数选项卡。
所有具有参数的网络属性都在此列出。由于约束属性在默认情况下具有“约束条件用法”参数,因此都在此列出。
可以在值列中为当前分析图层选择不同的参数值。
- 单击取消。
图层属性 对话框将关闭。
求解路径分析
在本节中,您将加载停靠点到分析中并且使用默认分析设置求解。
-
在 Network Analyst 窗口中,右键单击停靠点 (0),然后选择加载位置。
将打开加载位置 对话框。
- 从加载自下拉列表中选择停靠点。
-
单击确定。
将加载五个停靠点。这些停靠点会显示在地图视图和 Network Analyst 窗口中。
- 在 Network Analyst 工具条上,单击求解按钮 。
采用预定义顺序的最佳路径将显示在地图中。请注意,第三个停靠点在收费公路上,因此路径沿收费公路前行。
禁止收费公路
接下来,您将求解相同的路径分析,但是指示路径禁止沿收费公路前行。
- 单击 Network Analyst 窗口中的分析图层属性按钮。
将打开图层属性 对话框。
- 单击分析设置选项卡。
- 在约束条件框架中,选中避开收费公路。
- 单击属性参数选项卡。
- 找到避开收费公路,将它的值从避免:中更改为禁止。
- 单击确定。
- 在 Network Analyst 工具条上,单击求解按钮 。
将弹出 Network Analyst 消息 对话框,警告您无法到达收费公路上的停靠点。
这就是完全禁止网络元素的缺点,位于元素上的网络位置无法到达。在下一节中您将看到,选择避开收费公路而不是完全禁止,则有可能避开受限元素的绝大部分,但到达位于元素上的网络位置。
- 单击关闭。
将关闭 Network Analyst 消息 对话框。
地图显示出路径完全绕开了收费公路,因此没有访问第三个停靠点。
避开收费公路
接下来,您将求解相同的路径分析,但是指示路径仅避开收费公路。
- 单击 Network Analyst 窗口中的分析图层属性按钮。
将打开图层属性 对话框。
- 单击属性参数选项卡。
- 找到避开收费公路,将它的值从禁止更改为避免:中。
- 单击确定。
- 在 Network Analyst 工具条上,单击求解按钮 。
将弹出 Network Analyst 消息 对话框,警告有一个停靠点位于使用约束条件的道路上,虽然选择了避开收费公路,生成的路径仍然遍历了一条收费公路。
- 单击关闭。
将关闭 Network Analyst 消息 对话框。
地图显示路径避开了收费公路的南端,但在其上行驶到达了停靠点 3,之后又到达了停靠点 4。路径本可以在收费公路上的停靠点 3 与停靠点 4 之间行驶更短的距离,但是考虑到“约束条件用法”参数的值为“避免:中”,Network Analyst 确定出绕行的距离过长。
在接下来的步骤中,您将赋予避开收费公路更高的优先级并看到这样做的结果。
- 单击 Network Analyst 窗口中的分析图层属性按钮。
- 单击属性参数选项卡。
- 找到避开收费公路,将它的值更改为避免:高。
- 单击确定。
- 在 Network Analyst 工具条上,单击求解按钮 。
Network Analyst 消息 对话框再次弹出,显示与上一次同样的警告。
- 单击关闭。
将关闭 Network Analyst 消息 对话框。
在地图上您可以看到,路径进入收费公路后到达停靠点 3,随后立即从收费公路退出。
提示:要快速比较两个连续求解操作的结果,请单击撤消按钮 ,随后单击恢复按钮 。
首选指定的货车路径
在本节练习中,您将继续使用同一路径分析图层并避开收费公路,不过这次是为货车找出最佳路径,而不是汽车。您将使用约束属性以便首选指定的货车路径。
- 单击 Network Analyst 窗口中的分析图层属性按钮。
将打开图层属性 对话框。
- 单击分析设置选项卡。
- 在约束条件框架中,取消选中驾驶汽车。
- 选中驾驶货车。
此约束属性表示禁止货车通行的道路。其默认的“约束条件用法”参数值为“禁止”。无需更改此参数值。
- 选中国家 STAA 首选路径。
此约束属性表示由联邦政府指定为货车路径的道路。这种指定的对象是那些便于卡车通行且符合间隙和重量限制最低标准的道路。货车司机仅需尽可能沿指定的货车路径行驶,就可以减少许多潜在的问题。
指定的道路在地图上以白线与菱形井号标注。
请注意不要将此约束属性与“国家 STAA 及本地首选路径”属性相混淆。后一约束属性包括可能不符合联邦标准的道路。
- 单击属性参数选项卡。
- 找到国家 STAA 首选路径,之后您将注意到其默认值为首选:中。
- 单击确定。
- 在 Network Analyst 工具条上,单击求解按钮 。路径将保持不变。大部分路径已经沿国家 STAA 道路行进。
- 单击 Network Analyst 窗口中的分析图层属性按钮。
将打开图层属性 对话框。
- 单击属性参数选项卡。
- 找到国家 STAA 首选路径并将其值更改为首选:高。
- 单击确定。
- 在 Network Analyst 工具条上,单击求解按钮 。
整条路径现在更长,但行驶在未指定为国家 STAA 道路的路上所花费的时间已经变短。
在本练习中,您已经看到约束属性使您可以对行驶偏好与要求进行建模。使用不同的约束属性与“约束条件用法”参数值对分析进行求解会对结果产生影响。
本练习为简单起见通过一个路径分析图层说明了约束条件的功能,然而相同的功能在其他网络分析图层中同样可用。