- 先打开ArcCatalog,连接到目标文件夹,假定该文件下有一个名为road的道路图层。
- 在road图层上右键新建一个网络数据集,并按照其默认设置直至完成。
- 打开该地图的工作空间,把刚才新建的网络数据集添加工作空间中。
- 在网络分析菜单中选择新建最近设施点。
这时在工作空间里,可以看到多了一个名为“Closest Facility”的图层。它下面还有4个子图层,名字分别为“Facilities”,“Incidents”,“Barriers”,“Routes”。“Facilities”就是设施点图层,也就是目的点,“Incidents”的意思就是出发点,“Barriers”是障碍点,意思就是地图某条道路附近有一个障碍点,如果障碍点与道路距离在容限范围内,则表示此道路不通,“Routes”就是最终的结果。这样我们编程实现最短路径的思路就出现了:
- 添加出发点。
- 添加目的点。
- 生成最优路径,获取结果。
这里的添加出发点或者目的点,是往“Facilities”或“Incidents”图层上添加元素。获取结果也是从“Routes”中获取Polyline。往“Facilities”或“Incidents”图层上添加元素用到的主要方法是INALocator的QueryLocationByPoint函数,生成路径主要接口是INASolver和它的Solve方法。获取结果是按属性查找,因为“Routes”类其实就是一个图层类,只不过只是存在于内存,这个查找方法网上很多。
相关链接:ArcGIS中最短路径的实现(一)
可以再谈谈两种方法的区别,总结一下,这已经到了ArcGIS的高级应用了,呵呵。
回复删除