最短路径分析属于 ArcGIS 的网络分析畴。而 ArcGIS 的网络分析分为两类,分别是基于几何网络和网络数据集的网络分析。它们都可以实现最短路径功能。下面先介绍基于几何网络的最短路径分析的实现。以后会陆续介绍基于网络数据集的最短路径分析以与这两种方法的区别。 几何网络是一种特别的特征要素类,由一系列不同类别的点要素和线要素(可以度量并能图形表达)组成的,可在FeatureDataset 下面创建,可进行图形与属性的编辑。包括流向分析和追踪分析两大功能。主要接口是 ITraceFlowSolver。我们先在一幅地图上做出一个几何网络才能进行最短路径分析。下面是主要的一些步骤(ArcMap 帮助中琐碎的说明有三四十项,被我省略很多): 1、打开 ArcCatalog,连接到包含地图的文件夹。 2、在空白处,右键新建一个“Personal GeoDatabase”。 3、在生成的 Personal GeoDatabase 上右键新建一个feature dataset。 4、双击 Personal GeoDatabase 进去,找到刚才 new 出的feature dataset,右键 Import 导入 Feature Class(Single),选择要建立几何网络的图层或者 shape 文件。 5、然后再右键新建一个 Geometric Network,选择从已存在的图元中建立几何网络。 6、打开 ArcMap,把刚才建立的“Personal GeoDatabase Feature Class”添加到地图中,这样几何网络就建立好了。 这样我们就建立好一个几何网络了。我们现在要通过编程来实现最短路径,用到的接口主要有INetworkCollection,IGeometricNetwork,IPointToEID,ITraceFlowSolverGEN(它实现了 ITraceFlowSolver 的接口),INetSchema,IEIDHelper 等。主要步骤如下: 1、猎取几何网络工作空间 2、定义一个边线旗数组,把离点串最近的网络元素添加进数组 3、设置开始和完毕边线的权重 4、进行路径分析 5、得到路径分析的结果上次介绍了用几何网络实现的“最短路径”,这次用网络数据集实现真正的最短路径功能,跟上次一样,先处理下数据。 1、先打开 ArcCatalog,连接到目标文件夹,假定该文件下有一个名为 road 的道路图层。 2、在 road 图层上右键新建一个网络数据集,并根据其默认设置直至完成。 3、打开该地图的工作空间,把刚才新建的网络数据集添加工作空间中。 4、在网络分析菜单中选择新建最近设施点。这时在工作空间里,可以看到多了一个名为“Closest Facility”的图层。它下面还有 4 个子图层,名字分别为“Facilities”,“Inc...