• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
bobird的学习笔记
博客园    首页    新随笔    联系   管理    订阅  订阅

基于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方法设置节点标志(多个)。

 

posted on 2013-07-04 12:11  bobird  阅读(1135)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3