基于Arcgis Engine 网络分析的接口分析
前言:
网络分析是地理信息空间分析的一个重要组成部分,随着社会经济和空间信息技术的快速发展网络分析日益完善。不同的GIS平台都有相应的网络分析分析模块,下面就Arcgis Engine中网络分析所涉及的类和接口做简单分析。
一、主要类及接口概述
1、NetworkLoader 组件对象类
主要作用:由FeatureDataset生成NetWork
2、TraceFlowSolver组件对象类
主要作用:指定Network、指定barriers;定义权重;网络分析操作等。
TraceFlowSolver类实现了以下接口:
InetSolver接口: 指定Network,指定barriers
InetSolve.SourceNetwork 设定Network(网络)
InetSolve.ElementBarriers 设定NetElementBarriers(障碍元素)
InetSolverWeights 接口:定义权重
InetSolverWeights.ToFromEdgeFilterWeight 设定边的权重
InetSolverWeights.FromToEdgeFilterWeight 设定边的权重
InetSolverWeights.JunctionFilterWeight 设定节点的权重
ITraceFlowSolver接口:网络分析
ItraceFlowSolver.PutEdgeOrigins Sets the starting edges for trace solver.
ItraceFlowSolver.PutJunctionOrigins Sets the starting edges for trace solver.
ItraceFlowSolver.FindPath 在指定的标志间寻找最短路径
3、EdgeFlag组件对象类
主要作用:指定路径的起点(点在边上)或路径算法
EdgeFlag组件对象类实现以下接口:
INetFlag接口:指定边上作为Flag的元素
IedgeFlag接口:指定路径的起点(点在边上)或路径算法
IedgeFlag.Position 点在边上的位置
IedgeFlag.TwoWay 是否是可以双向的搜索
4、JunctionFlag组件对象类
主要作用:指定路径的起点(点在节点上)
JunctionFlag组件对象类实现的接口:
INetFlg接口:指定点上作为Flag的元素
IedgeFlag接口:
5、JunctionFlagDisplay组件对象类
主要作用:显示节点标志
JunctionFlagDisplay组件对象类实现的接口:
IJunctionFlagDisplay接口:
IflagDisplay接口:显示节点标志,设定FeatureClass, ID, and SubID ,Symbol
IflagDisplay.FeatureClassID ID of the feature class which the feature belongs to
IflagDisplay.FID ID of the feature within the feature class
IflagDisplay.SubID ID of an individual element within a feature
6、EdgeFlagDisplay组件对象类
主要作用:显示边节点标志
EdgeFlagDisplay组件对象类实现的接口:
IEdgeFlagDisplay接口:
IEdgeFlagDisplay.Percentage Position of the flag along the edge element
IflagDisplay接口:显示节点标志,设定FeatureClass, ID, and SubID ,Symbol
IflagDisplay.FeatureClassID ID of the feature class which the feature belongs to
IflagDisplay.FID ID of the feature within the feature class
IflagDisplay.SubID ID of an individual element within a feature
7、NetElementBarriers组件对象类
主要作用:设置障碍
NetElementBarriers组件对象类实现的接口:
INetElementBarriers接口:
InetElementBarriers.ElementType 障碍ElementType
InetElementBarriers.SetBarriers 设置障碍物(a set of network feature)
INetElementBarriers2接口:
INetElementBarriers2.SetBarriersByEID 通过element EID设定障碍
8 PointToEID组件对象类
主要作用:搜索最近的节点或边点。
PointToEID组件对象类实现的接口:
IPointToEID接口:
IPointToEID.GetNearestEdge 搜索最近的边点
IPointToEID.GetNearestJunction 搜索最近的节点
二、类之间的相互关系
1、TraceFlowSolver组件对象类与NetElementBarriers组件对象类之间关系
NetElementBarriers主要作用是生成障碍,TraceFlowSolver组件对象类通过InetSolver接口的InetSolve.ElementBarriers方法设置障碍。
2、TraceFlowSolver组件对象类与EdgeFlag组件对象类之间关系
EdgeFlag主要作用是生成EdgeFlag,TraceFlowSolver组件对象类通过ITraceFlowSolver接口 ItraceFlowSolver.PutEdgeOrigins 方法设置边标志(多个)。
3、TraceFlowSolver组件对象类与JunctionFlag组件对象类之间关系
JunctionFlag主要作用是生成JunctionFlag,TraceFlowSolver组件对象类通过ITraceFlowSolver接口ItraceFlowSolver.PutJunctionOrigins方法设置节点标志(多个)。
浙公网安备 33010602011771号