根据点、线数据及其已有的表达弧段结点拓扑关系的字段,构建网络数据集。
命名空间:
SuperMap.Analyst.NetworkAnalyst程序集: SuperMap.Analyst.NetworkAnalyst (in SuperMap.Analyst.NetworkAnalyst)
版本: dll
语法
C# |
---|
public static DatasetVector BuildNetwork( DatasetVector lineDataset, DatasetVector pointDataset, string edgeIDField, string fromNodeField, string toNodeField, string nodeIDField, Datasource outputDatasource, string networkDatasetName ) |
参数
- lineDataset
- Type: SuperMap.Data..::.DatasetVector
指定的用于构建网络数据集的线数据集。
- pointDataset
- Type: SuperMap.Data..::.DatasetVector
指定的用于构建网络数据集的点数据集。
- edgeIDField
- Type: System..::.String
指定的线数据集中表示弧段 ID 的字段。如果指定为 null 或空字符串,或指定的字段不存在,则自动使用 SMID 作为弧段 ID。支持 16 位整型、32 位整型和文本字段。当指定字段为文本类型时,弧段ID还是以系统字段SmEdgeID为准,最好是通过 getFieldNameBySign 获取。
- fromNodeField
- Type: System..::.String
指定的线数据集中表示弧段的起始结点 ID 的字段。支持 16 位整型、32 位整型和文本字段。当指定字段为文本类型时,弧段的起始结点 ID还是以系统字段SmFNode为准,最好是通过 getFieldNameBySign 获取。
- toNodeField
- Type: System..::.String
指定的线数据集中表示弧段的终止结点 ID 的字段。支持 16 位整型、32 位整型和文本字段。当指定字段为文本类型时,弧段的终止结点 ID还是以系统字段SmTNode为准,最好是通过 getFieldNameBySign 获取。
- nodeIDField
- Type: System..::.String
指定的点数据集中表示结点 ID 的字段。支持 16 位整型、32 位整型和文本字段。当指定字段为文本类型时,结点 ID还是以系统字段SmNodeID为准,最好是通过 getFieldNameBySign 获取。
- outputDatasource
- Type: SuperMap.Data..::.Datasource
指定的用于存储结果数据集的数据源。
- networkDatasetName
- Type: System..::.String
指定的结果网络数据集的名称。
返回值
构建的网络数据集。备注
当已有的线、点数据集中的线、点对象分别对应着待构建网络的弧段和结点,并具有描述二者空间拓扑关系的信息,即线数据集含有弧段 ID、弧段起始结点 ID 和终止结点 ID 字段,点数据集含有点对象的结点 ID 字段时,可以采用本方法构建三维网络数据集。
使用此方式构建网络数据集成功后,结果对象数与源数据的对象数一致,即线数据中一个线对象作为一个弧段写入,点数据中一个点对象作为一个结点写入,并且保留点、线数据集的所有非系统字段到结果数据集中。
例如,对于用于建立管网而采集的管线、管点数据,管线和管点均使用唯一固定编码来标识。管网的特点之一是管点只位于管线的两端,因此管点对应了待构建管网的所有结点,管线对应了待构建管网的所有弧段,不需要在管线与管线相交处打断。在管线数据中,记录了管线对象两端的管点信息,即起始管点编码和终止管点编码,也就是说管线和管点数据中已经蕴含了二者空间拓扑关系的信息,因此适合使用此方法构建网络数据集。
注意,使用此方式构建的网络数据集的弧段 ID、弧段起始结点 ID、弧段终止结点 ID 和结点 ID 字段即为调用此方法时指定的字段,而不再是 SmEdgeID、SmFNode、SmTNode、SmNodeID 等系统字段(设定的字段类型为文本型除外)。