描述
可生成保留连通性和一般字符的简化道路网,从而实现以较小比例显示道路。
该工具不会生成新的输出。 它通过在输入要素类的不可见性字段中指定值来识别无关要素,然后便可将这些无关要素从视图中移除,从而生成简化的、但却具有代表性的道路集合。 要素几何并不会被更改或删除。
实际上,执行细化道路网后要素并没有被删除。 要真正移除要素,请考虑使用修剪线工具。
生成的简化道路集合将由要素的含义、重要性和密集程度决定。 整个数据范围内,位于较长路线中的路段比那些仅供当地行人行驶的路段更加重要。 道路的分类(重要性)可通过等级字段参数指定。 生成街道网的密度将由最小长度参数决定,该参数对应需要在当前比例下清晰显示的最短线段。
了解有关稀疏化道路网工作原理的详细信息并查看建议用作起点的最小长度值的表。
插图
使用方法
对于所有输入要素类,必须存在不可见性字段并且命名为相同的值。 对于仍需显示的要素,将指定一个 0 值;对于应从显示中移除的要素,则指定一个 1 值。 通过图层定义查询或选择操作可显示生成的简化集合(例如,invisibility <> 1)。 您可以使用多个不可见字段在同一个要素类上存储多个结果(与多个输出比例对应)。
hierarchy 字段可识别要素的相对重要性,从而有助于设定哪些要素比较重要。 等级值为 1 表示该要素最重要,并且重要性将随着等级值增加而递减。 为获得最佳结果,使用的等级不要超过五级。 等级值为 0 的输入道路将视为被锁定,因而仍然可见,同时还将保留必要的相邻道路以保证连通性。 对于所有输入要素类,必须存在 hierarchy 字段并且指定为相同的值。
等级通常根据一个用于指定道路分类的字段得来。 它与网络分析中使用的等级概念无关。 等于“空”的等级值将不被工具接受,并且会引发错误。
最小长度参数将在一定程度上决定所生成简化道路集合的间隔长度或分辨率。 它将对应于在最终比例下必须进行显示的长度。 该工具的结果就是等级、可见性锁定、分辨率以及道路几何的形态和连通性等方面要求之间的一种平衡折衷。 因此最小长度值并不一定可以通过生成的要素集直接测量出来。
处理大型道路数据集或同时处理多个数据集可能会超过内存限制。 在这种情况下,考虑通过在制图分区环境设置中确定一个相关的面要素类来通过分区处理输入数据。 将按顺序处理分区边界定义的数据部分。 生成的要素类无缝,而且在分区边界一致。 有关通过分区运行该工具的详细信息,请参阅稀疏化道路网的工作原理。
该工具生成结果的完整性取决于输入数据的拓扑完整性。 交点处的连接必须正确,这样才能准确地呈现道路网的连通性。 有关数据要求及其他有用提示的详细信息,请参阅稀疏化道路网的工作原理。
如果输入中包括指向制图表达的要素图层,则与该制图表达关联的所有几何覆盖都将用作输入几何,以便确定道路集合的形态和连通性。 同样,制图表达可见性覆盖也将得到采用,从而确保了在生成的道路集合中不包含不可见性制图表达,并且相邻道路也将得到相应地处理以便保持连通性。
语法
arcpy.cartography.ThinRoadNetwork(in_features, minimum_length, invisibility_field, hierarchy_field)
参数 | 说明 | 数据类型 |
in_features [in_features,...] | 为创建简化集合以便以较小比例显示而进行稀疏化的输入线状道路。 | Feature Layer |
minimum_length | 指明在输出比例下需要清晰显示的最短路段。 该参数可用于控制生成道路集合的分辨率或密度。 如果单位是磅、毫米、厘米或英寸,则值被视为使用页面单位,还会将参考比例考虑在内。 | Linear Unit |
invisibility_field | 该字段用于存储工具的生成结果。 位于所生成简化道路集合中的要素值设为 0(零)。 无关要素的值设为 1。 您可使用图层定义查询显示生成的道路集合。 对于各输入要素类,该字段必须存在并且指定为相同的值。 | String |
hierarchy_field | 该字段包含要素重要性的等级级别,其中 1 表示非常重要,重要性随整数值的增大而递减。 如果值设为 0,则要素在输出集合中必须维持可见状态。 对于各输入要素类,该字段必须存在并且指定为相同的值。 等于“空”的等级值将不被接受,并且会引发错误。 | String |
派生输出
名称 | 说明 | 数据类型 |
out_features | 更新后的输入道路要素。 | Feature Layer |
代码示例
ThinRoadNetwork 示例 1(Python 窗口)
以下 Python 窗口脚本演示了如何在即时模式下使用 ThinRoadNetwork 函数。
import arcpy
arcpy.env.workspace = "C:/data/cartography.gdb/transportation"
arcpy.ThinRoadNetwork_cartography("roads.lyr", "1000 meters", "invisible", "level")
ThinRoadNetwork 示例 2(独立脚本)
此独立脚本显示的是使用 ThinRoadNetwork 函数的示例。
# Name: ThinRoadNetwork_standalone_script.py
# Description: Removes a subset of road segments to create a simplified road network that retains the connectivity and character of the input.
# Author: ESRI
# Import system modules
import arcpy
from arcpy import env
# Set environment settings
env.workspace = "C:/data/cartography.gdb/transportation"
# Set local variables
in_features = "roads.lyr"
minimum_length = "1000 meters"
invisibility_field = "invisible"
level_field = "level"
# Execute Thin Road Network
arcpy.ThinRoadNetwork_cartography(in_features, minimum_length, invisibility_field, level_field)
环境
许可信息
- Basic: 否
- Standard: 否
- Advanced: 是