创建几何网络 (Data Management)
摘要
使用指定要素类、每个要素类的角色和带有权重关联的指定权重在地理数据库中创建几何网络。
用法
这些要素类必须与几何网络位于同一要素数据集中。
仅支持输入点和线要素类。要素类不能参与其他几何网络或其他高级地理数据库数据集,例如拓扑网、网络数据集、terrain 或宗地结构。
几何网络中的连通性基于要素的几何重叠。理想情况下,构建网络前应对数据进行清理。但是,如果情况并非如此,则可在网络构建过程中捕捉数据。虽然几何网络向导中提供的捕捉功能有助于确保重叠,但还应辅之以其他解决方案。也可以使用“拓扑”等其他选项来确保数据的整洁性,这有助于在准备阶段对数据进行清理以便用于构建几何网络。创建几何网络时执行的捕捉无法撤消。删除几何网络后,已捕捉的要素不会恢复到原始位置。
从现有要素类构建几何网络时,某些输入要素类中可能会存在诸如其中的部分几何在几何网络中是非法的等需要引起您重视的各种情况。遇到这种情况时,网络构建过程结束时会显示一条警告消息,并在包含这些错误的记录的数据库中创建一个名为 <geometricnetwork_name>_BUILDERR 的表。
语法
参数 | 说明 | 数据类型 |
in_feature_dataset | 将创建几何网络的要素数据集。在企业级地理数据库中,将要参与几何网络的要素数据集和要素类不可版本化。 | Feature Dataset |
out_name | 要创建的几何网络的名称。 | String |
in_source_feature_classes [[feature_class_name, role, source_or_sink],...] | 要添加到几何网络的输入要素类以及其应在几何网络中充当的角色。角色可以为:
对于每个简单交汇点要素类,通过下列参数确定是否使用源和汇参与流向。
| Value Table |
snap_tolerance (可选) |
将对几何网络设置的捕捉容差。该值越大,折点捕捉到一起的概率就越高。默认值为空,这意味着在创建几何网络时不会进行捕捉。创建几何网络时所执行的捕捉行为无法撤销。 | Double |
weights [[weight_name, type, bitgate_size],...] (可选) | 权重是在网络中沿一条边行进的成本。例如,在供水管网中,权重可以为管道的长度。指明权重名称、权重类型以及 bitgate 权重的大小。权重类型决定了可以与权重相关联的要素类字段。可以使用以下类型中的任一种:
| Value Table |
weight_associations [[feature_class_name, field, weight_name],...] (可选) | 为每个字段和要素类指定权重关联。在添加新的网络权重时,必须与要素类中能够提供值以确定要素权重的某字段相关联。 | Value Table |
z_snap_tolerance (可选) |
使用 z 坐标进行捕捉时在几何网络上要设置的捕捉容差。该值越大,折点捕捉到一起的概率就越高。默认值为空,这意味着在创建几何网络时不会进行捕捉,几何网络也不会支持 Z 值。零值表示在创建几何网络时不会进行捕捉,但是几何网络会支持 Z 值。 | Double |
preserve_enabled_values (可选) |
指定是否要在任一现有启用字段中保留值,或者这些值是否应重置为默认值“True”。
| Boolean |
代码实例
以下 Python 窗口脚本演示了如何在即时模式下使用 CreateGeometricNetwork 函数根据六个要素类、一个与其中两个要素类相关联的权重以及一个捕捉容差值来创建几何。
# Import arcpy module
import arcpy
# Local variables:
Water = "C:/arcgis/ArcTutor/BuildingaGeodatabase/Montgomery.gdb/Water"
# Process: Create Geometric Network
arcpy.CreateGeometricNetwork(Water, "Water_Net", "Distribmains COMPLEX_EDGE NO;Fittings SIMPLE_JUNCTION NO;Hydrants SIMPLE_JUNCTION NO;Sysvalves SIMPLE_JUNCTION NO;Tanks SIMPLE_JUNCTION YES;Transmains COMPLEX_EDGE NO", "0.5", "Friction_Factor DOUBLE #", "Distribmains FRICTION_FACTOR Friction_Factor;Transmains FRICTION_FACTOR Friction_Factor", "", "PRESERVE_ENABLED")