zjulijun1974
路人甲
路人甲
  • 注册日期2004-08-20
  • 发帖数13
  • QQ
  • 铜币203枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1622回复:3

面向MapObjects的网络分析开发组件――MoNetBroker!

楼主#
更多 发布于:2004-10-23 09:08
简介

现在越来越多的GIS开发人员都在集成开发环境中采用MapObjects 来实现并开发出功
能强大、方便灵活、友好实用的桌面GIS应用系统。然而由于MapObjects产品本身的
定位,决定了它无法满足某些特殊方面的需求。比如,在诸如电力、电信、燃气、管
网、交通等涉及到网络分析的应用。因为MapObjects本身的网络分析功能仍然比较有
限,只是通过类似PathFinder的一些扩展来补充路径分析等片面的功能,并未提供全
面可靠的实现。

随着MapObjects的用户和开发团队不断增多,类似的问题也表现得日益集中和突出。
MoNetBroker作为完全面向MapObjects 的网络分析开发组件,应运而生。

根据对相关典型行业的网络应用进行分析和总结,MoNetBroker将对图进行的操作归
结为连通性分析、两点最佳路径分析、和多点最佳路由分析等几个方面。经过详细的
分析和周密的设计,MoNetBroker完整地实现了网络拓扑创建、连通性分析、两点最
佳路径分析、以及多点最佳路由分析等功能,并包含了网络权重、网络方向、结点转
向的控制以及末梢集合输出等重要的部分。最重要的是,从性能和效率而言均达到了
令人满意的效果。

基于MapObjects作网络分析的功能扩展事实上屡见不鲜,其中更不乏成功的实现和应
用。然而,作为相对独立的通用开发组件包,MoNetBroker力求有所突破,主要表现
在其数据源的无关性、功能的完整性、运算的高效性等方面。更为重要的是,它和MapObjects
的无缝紧密结合,更加方便和简化了开发人员的使用。

主要特点

在MoNetBroker整个的设计和开发过程中,涉及到了拓扑、图论、排序、查找、分析
算法等方面的问题,在参考经典理论的基础上,根据不同行业具体的应用,MoNetBroker
作出了很多独特考虑。

1. 适用范围广

虽然网络分析的需求,在诸如电力、电信、燃气、管网、交通等很多行业的GIS实施
中都存在,然而各个行业之间在具体的应用需求上也不尽相同。所以,MoNetBroker
在设计时,尽可能抽象出通用的需求和功能,从而使其能够适用于更加广泛的领域。


2. 数据源无关

众所周知,MapObjects随着软件版本的升级,支持越来越多的数据格式。为了实现和
MapObjects的无缝结合,MoNetBroker在设计初始就力求实现与数据源无关,也就是
说,MoNetBroker不关心图形数据的来源是何种存储格式,只要能够加载为MapObjects
中的MapLayer,MoNetBroker就能够读取并进行分析,并且将分析的结果以MapObjects
中对象的方式返回。

3. 功能完整

除了必不可少的几个主要功能,MoNetBroker根据实际应用需要,增添了更多扩展能
力,主要包括:

4. 拓扑创建

对于没有传统From,To信息的图形数据,可以根据图形的x,y坐标以及给定的容限值,
准确而且高效地计算网络拓扑。

5. 连通分析

分析并查找出与指定要素相连通的其他要素。扩展功能包括可以随意设置边的方向、
添加和去除障碍要素(可以是结点也可以是边)、选择结果要素的类型(可以是结点
也可以是边),还可以选择返回末梢结点和末梢边的集合。

6. 非连通分析

分析并查找出与指定要素不连通的其他要素。扩展功能包括可以随意设置边的方向、
添加和去除障碍要素(可以是结点也可以是边)、选择结果要素的类型(可以是结点
也可以是边),还可以选择返回末结点和末梢边的集合。

7. 两点最佳路径

分析并查找出与两点之间的最佳路径并返回结果要素序列。扩展功能包括可以随意设
置边的通行方向(上行,下行,双向)、添加和去除障碍要素(可以是结点也可以是
边)、分别设置不同通行方向的权重值,还可以选择结果要素序列的类型(可以是结
点也可以是边)。

8. 多点最佳路由

分析并查找出与多点之间的最佳路径并返回结果要素序列。扩展功能包括可以随意设
置边的通行方向(上行,下行,双向)、添加和去除障碍要素(可以是结点也可以是
边)、分别设置不同通行方向的权重值,结果可以选择是简单序列还是详细序列,还
可以选择结果要素序列的类型(可以是结点也可以是边)。

9. 计算高效

效率的考虑可以说是渗透到了MoNetBroker的每个关键环节,无论是拓扑创建、连通
性分析、路径分析、路由分析等等方面。追求高的效率始终是最重要的目标。虽然,
为了数据源无关性和与MapObjects集成的考虑,已经牺牲了一定的效率,但是经过大
数据量的测试,仍然达到了令人满意的水平。

10. 与MapObjects的自动化集成

为了实现数据源无关性,需要MoNetBroker直接从MapObjects中的MapLayer读取数据
;另一方面,为了便于结果在MapObjects中的表示,分析运算的结果同时也需要以MapObjects
的对象方式返回,便于程序开发的实现。因此需要完成MoNetBroker和MapObjects的
自动化集成。

MapObjects 2.1和MapObjects 2.2版本,MoNetBroker都可以普遍支持。

11. 资源丰富

作为开发组件,MoNetBroker并不是拿来即用的最终产品,而是需要经过开发才能发
挥其作用。因此,为了方便大多数的开发人员,MoNetBroker尽可能多的提供了在不
同开发环境中的实例和文档。包括,Visual C++, Visual Basic, Delphi等。

总结

MoNetBroker产品由于采用了合理的数据结构、先进的分析算法、以及自动化封装,
不仅提高了网络分析的性能、具备了完整的功能、并且实现了和MapObjects的无缝集
成。无论从运行效率和实现结果而言,MoNetBroker都达到了令人满意的效果。我们
相信,对于那些熟悉MapObjects并且需要网络分析功能的开发人员而言, 利用MoNetBroker
可以轻松、灵活地与MapObjects在各种开发环境中紧密衔接,为其提供强大的网络分
析功能。
喜欢0 评分0
edward22
路人甲
路人甲
  • 注册日期2004-07-01
  • 发帖数121
  • QQ
  • 铜币506枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2004-10-25 08:54
<P>关键是谁可以把它破解掉!</P>
如果你爱他就让他学GIS,如果你恨他就让他学GIS!
举报 回复(0) 喜欢(0)     评分
lixaokui
路人甲
路人甲
  • 注册日期2003-12-25
  • 发帖数768
  • QQ28796446
  • 铜币27枚
  • 威望0点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2004-10-25 14:11
<img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" /><img src="images/post/smile/dvbbs/em01.gif" />
西门吹血,有了鼓风机,就不用吹啦!
举报 回复(0) 喜欢(0)     评分
firebird
路人甲
路人甲
  • 注册日期2004-10-25
  • 发帖数48
  • QQ
  • 铜币10枚
  • 威望0点
  • 贡献值0点
  • 银元0个
3楼#
发布于:2004-10-26 10:28
<img src="images/post/smile/dvbbs/em01.gif" />
举报 回复(0) 喜欢(0)     评分
游客

返回顶部