几何网络是一种特殊的特征要素类,由一系列不同类别的点要素和线要素(可以度量并能图形表达)组成的,可在FeatureDataset下面创建,可进行图形与属性的编辑。包括流向分析和追踪分析两大功能。主要接口是ITraceFlowSolver。我们先在一幅地图上做出一个几何网络才能进行最短路径分析。下面是主要的一些步骤(ArcMap帮助中琐碎的说明有三四十项,被我省略很多):
- 打开ArcCatalog,连接到包含地图的文件夹。
- 在空白处,右键新建一个“Personal GeoDatabase”。
- 在生成的Personal GeoDatabase上右键新建一个feature dataset。
- 双击Personal GeoDatabase进去,找到刚才new出的feature dataset,右键Import导入Feature Class(Single),选择要建立几何网络的图层或者shape文件。
- 然后再右键新建一个Geometric Network,选择从已存在的图元中建立几何网络。
- 打开ArcMap,把刚才建立的“Personal GeoDatabase Feature Class”添加到地图中,这样几何网络就建立好了。
这样我们就建立好一个几何网络了。我们现在要通过编程来实现最短路径,用到的接口主要有INetworkCollection,IGeometricNetwork,IPointToEID,ITraceFlowSolverGEN(它实现了ITraceFlowSolver的接口),INetSchema,IEIDHelper等。主要步骤如下:
- 获取几何网络工作空间
- 定义一个边线旗数组,把离点串最近的网络元素添加进数组
- 设置开始和结束边线的权重
- 进行路径分析
- 得到路径分析的结果
具体的程序太过繁琐、冗长了,这里不便贴出,可以打开这个链接查看源程序。http://www.cnblogs.com/3echo/archive/2008/01/24/865527.html
相关链接:ArcGIS中最短路径的实现(二)
我觉得可以继续跟SuperMap和MapInfo比较一下方法的区别和优劣,看来几何网络分析法还比较简单,很好,期待第二部分...
回复删除貌似只讲了如何建立几何网络,而没讲最短路径的实现,希望miaocl解答疑惑...
回复删除