ArcGIS计算城市间最短距离(多元最短路径)

目录

  • 0. 最短路径
  • 1. 准备工作
    • 数据准备(以湖北省为例)
    • 环境
  • 2. 步骤
    • 2.1 截取湖北省数据
      • 2.1.1 新建地图(多源最短路径-湖北)
      • 2.1.2 内容列表窗口>>图层>>右键>>添加数据, 再全国行政区划分中导入省和市的矢量图
      • 2.1.3 对图层中的省点击右键>>打开属性表
      • 2.1.4 导出湖北省的边界
      • 2.1.5 导出地级市边界
    • 2.2 创建网络数据集
      • 2.2.1 创建文件数据库
      • 2.2.2 导入要素类
      • 2.2.3 创建网络数据集
    • 2.3 计算城市间网络距离
      • 2.3.1 打开网络分析窗口
      • 2.3.2 创建OD成本矩阵
      • 2.3.3 添加起始点和目的地点
      • 2.3.4 生成OD 成本矩阵
      • 2.3.5 导出OD成本矩阵
    • 2.4 可视化
      • 2.4.1 生成城市点对
      • 2.4.2 新建路径
      • 2.4.3 生成路径
  • 3 收尾
    • 编辑后的数据下载

0. 最短路径

  • 数据结构中,图的相关知识中的一个重要知识点就是计算最短路径的问题。期中包括两个解决办法:
    1. 单源最短路径: Dijkstra算法.
    2. 多源最短路径:Floyd算法.
  • 问题:使用上述算法计算出来的最短路径长度,一般属于直线距离,如果用于计算城市间的最短距离,则不符合实际情况。
  • 城市间的各种联系往往基于路网发生,因此我们需要使用路网的距离作为两个城市间的实际距离。
    ArcGIS中提供了计算路网距离的方法,现以湖北省为例,使用ArcGIS计算各地级市之间的最短距离。

1. 准备工作

数据准备(以湖北省为例)

  • 准备湖北省边界、湖北各个市的边界和地级市驻点数据
  • 准备路网数据(国道、省道)
    链接:https://pan.baidu.com/s/1GVGuVsl-iEhqN25XiD9eVw 提取码:gi7h

环境

  • ArcGIS 10.2
  • 激活网络分析模块
    • 菜单 >> 自定义 >> 扩展模块 >> 勾选Network Analyst
      Customer >> Extensions >> Network Analyst
      ArcGIS计算城市间最短距离(多元最短路径)_第1张图片
  • 加载网络分析工具条
    • 工具栏空白处 >> 右键 >> 选择: Network Analyst
      ArcGIS计算城市间最短距离(多元最短路径)_第2张图片

2. 步骤

2.1 截取湖北省数据

2.1.1 新建地图(多源最短路径-湖北)

ArcGIS计算城市间最短距离(多元最短路径)_第3张图片

2.1.2 内容列表窗口>>图层>>右键>>添加数据, 再全国行政区划分中导入省和市的矢量图

ArcGIS计算城市间最短距离(多元最短路径)_第4张图片
ArcGIS计算城市间最短距离(多元最短路径)_第5张图片

2.1.3 对图层中的省点击右键>>打开属性表

ArcGIS计算城市间最短距离(多元最短路径)_第6张图片
全国各省列表, 名字乱码了, 按照邮编找>> 选择420000这一行(湖北省)
ArcGIS计算城市间最短距离(多元最短路径)_第7张图片

2.1.4 导出湖北省的边界

右键点击"省"图层>>数据>>导出数据
ArcGIS计算城市间最短距离(多元最短路径)_第8张图片
导出: 所选要素 >> 输出要素类: 找到保存位置, shapfile类型文件, 命名 >> 确定
ArcGIS计算城市间最短距离(多元最短路径)_第9张图片
将导出数据添加道图层中: 是 >> 删除原省份图层
ArcGIS计算城市间最短距离(多元最短路径)_第10张图片

2.1.5 导出地级市边界

"市"图层 >> 右键 >> 打开属性表 >> 选择多行(邮编420000,第三列)
ArcGIS计算城市间最短距离(多元最短路径)_第11张图片
“市"图层 >> 右键 >> 数据 >> 导出数据 >> 保存到"湖北省-市界.shp"中 >> 在图层中显示 >> 删除原"市图层”
ArcGIS计算城市间最短距离(多元最短路径)_第12张图片

2.2 创建网络数据集

2.2.1 创建文件数据库

  • 界面右侧 >> 目录工具栏 >> 右键 >> 新建 >> 文件夹 >> 文件数据库
  • 文件数据库 >> 右键 >> 新建 >> 文件地理数据数据 >> 湖北-交通
  • 湖北-交通.gdb >> 右键 >> 新建 >> 要素数据集 >> 名称: 路网 >> 坐标系: WGS 1984 >> … >> 完成
    ArcGIS计算城市间最短距离(多元最短路径)_第13张图片

2.2.2 导入要素类

路网 >> 右键 >> 导入 >> 要素类(单个) >> 输入要素: 选择湖北省国道中的.shp文件 >> 输出要素类: 国道 >> 确定
ArcGIS计算城市间最短距离(多元最短路径)_第14张图片
再导入省道的数据 >> 同意添加道图层
ArcGIS计算城市间最短距离(多元最短路径)_第15张图片

2.2.3 创建网络数据集

路网 >> 右键 >> 新建 >> 网络数据集(N) >> 命名: 网络_ND >> 勾选国道和省道 >>> 下一步 >>> 完成 >> 立即构建 >> 添加到地图
ArcGIS计算城市间最短距离(多元最短路径)_第16张图片

2.3 计算城市间网络距离

2.3.1 打开网络分析窗口

ArcGIS计算城市间最短距离(多元最短路径)_第17张图片

2.3.2 创建OD成本矩阵

ArcGIS计算城市间最短距离(多元最短路径)_第18张图片
左侧显示网络分析窗口
ArcGIS计算城市间最短距离(多元最短路径)_第19张图片

2.3.3 添加起始点和目的地点

a) 在内容列表中加入地级市的驻点, 作为参考确定起始点, 仅留下"地级市"和"路网_ND"两个图层.
ArcGIS计算城市间最短距离(多元最短路径)_第20张图片
b) 在网络分析工具栏上选择创建网络位置工具ArcGIS计算城市间最短距离(多元最短路径)_第21张图片
c) 网络分析窗口中选择起始点, 用鼠标点击地级市的位置, 添加18个点
ArcGIS计算城市间最短距离(多元最短路径)_第22张图片
d) 给这18个点矫正位置, 并重新命名
内容列表 >> “地级市"图层 >> 右键 >> 打开属性表
ArcGIS计算城市间最短距离(多元最短路径)_第23张图片
选择第一行, 图层上相应的点会高亮
ArcGIS计算城市间最短距离(多元最短路径)_第24张图片
在网络分析工具栏上点击"选择/移动网络位置"按钮
ArcGIS计算城市间最短距离(多元最短路径)_第25张图片
选择图层上刚才高亮显示的城市点, 在网络分析窗口中的起始点列表会高亮显示
ArcGIS计算城市间最短距离(多元最短路径)_第26张图片
双击修改其名字为"鄂州市” >> 确定
ArcGIS计算城市间最短距离(多元最短路径)_第27张图片
右键点击鄂州市 >> 缩放至所选要素
ArcGIS计算城市间最短距离(多元最短路径)_第28张图片
找到该点所在位置 >> 选择该点 >> 按住键盘上的"1" >> 将其托到附近的线上
ArcGIS计算城市间最短距离(多元最短路径)_第29张图片
完成18个地级市的起始点创建
ArcGIS计算城市间最短距离(多元最短路径)_第30张图片
e) 增加目的地, 我们要计算的是多源最短路径, 所以起始点也是终点, 将上面的18个点全选, 按住ctrl拖到目的地点中, 增加18个目的地点.
ArcGIS计算城市间最短距离(多元最短路径)_第31张图片

2.3.4 生成OD 成本矩阵

点击网络分析工具栏中的求解
ArcGIS计算城市间最短距离(多元最短路径)_第32张图片
会生成18*18 = 324条最短路径的线
ArcGIS计算城市间最短距离(多元最短路径)_第33张图片
这显然不是我们想要的表现形式. 我们先在内容列表上把OD成本矩阵的图层取消, 下一步我们进行OD成本矩阵的可视化展示.

2.3.5 导出OD成本矩阵

  1. 打开ArcToolboxArcGIS计算城市间最短距离(多元最短路径)_第34张图片
    选择里面的转换工具>> Excel >> 表转Excel
    ArcGIS计算城市间最短距离(多元最短路径)_第35张图片
    在输入表的下拉列表中选择OD成本矩阵中的线 >> 选择输出文件的路径和名字>> 点击确定ArcGIS计算城市间最短距离(多元最短路径)_第36张图片
    期中 Tota_长度, 为两个城市间最短路径的长度(单位: 米).
    ArcGIS计算城市间最短距离(多元最短路径)_第37张图片

2.4 可视化

2.4.1 生成城市点对

想要画出路径图, 需要知道路径的起点和终点

  1. 导出路径的起点, 使用要素折点转点工具, ArcToolbox >> 数据管理工具 >> 要素 >> 要素折点转点工具.
    选取输入要素下拉列表中OD成本矩阵下的"线" >> 点类型选择START >> 确定
    ArcGIS计算城市间最短距离(多元最短路径)_第38张图片
  2. 导出路径的终点
    选取输入要素下拉列表中OD成本矩阵下的"线" >> 点类型选择END >> 确定
    在这里插入图片描述
    内容中增加了如下内容
    在这里插入图片描述

2.4.2 新建路径

  1. 选择网络分析中的新建路径
    ArcGIS计算城市间最短距离(多元最短路径)_第39张图片
    网络分析窗口中增加了路径窗口
    ArcGIS计算城市间最短距离(多元最短路径)_第40张图片
  2. 增加停靠点
    右键点击停靠点 >> 加载位置
    ArcGIS计算城市间最短距离(多元最短路径)_第41张图片
    增加起点: 加载自下拉列表中选择,刚才添加的START的要素 >> name字段设为空 >> RouteName字段设为 name
    ArcGIS计算城市间最短距离(多元最短路径)_第42张图片
    增加终点: 加载自下拉列表中选择,刚才添加的END的要素 >> name字段设为空 >> RouteName字段设为 name
    增加了324条路径的648个停靠点
    ArcGIS计算城市间最短距离(多元最短路径)_第43张图片

2.4.3 生成路径

点击Network工具栏上的求解.生成路径
ArcGIS计算城市间最短距离(多元最短路径)_第44张图片
生成并显示了324条最短路径
ArcGIS计算城市间最短距离(多元最短路径)_第45张图片

3 收尾

加上省界和市界的图层, 生成最终效果图
ArcGIS计算城市间最短距离(多元最短路径)_第46张图片

编辑后的数据下载

你可能感兴趣的:(ArcGIS计算城市间最短距离(多元最短路径))