任务
1.求解合肥市大通路小学到安徽医学专科学校附属医院的最短路径.
2.求解合肥市所有小学到各自最近医院的最短路径.
3.求解合肥市所有小学到医院的通行时间.
4.分析安徽省立医院步行可达性以及机动车可达性.
创建路网数据集
添加投影数据

选择适合安徽的坐标系

将投影结果输出到新的文件夹中
投影完成后,再在图层添加数据

打断相交线
为什么要打断?在不打断的情况下,arcgis默认相交的路段是不互通的,也就是说,在交点处不能转到另一条路。
直选中路网,再用选择器选择所有路网


容差不用修改,点击确定
打断之后再选择一条路看看,可以看到只能选取一小段,而不是整段

添加道路长度字段
打开编辑器


以上两步一定要做,否则你没法修改属性表
新建长度字段,并计算道路长度


计算通过道路的时间,首先定义速度,这里一般需要查阅文献,为了简便起见,先按照道路类型class定义不同的速度,新建speed字段后,计算

python
# -* coding:utf-8 -*-
def f(a):
a = a.encode('utf-8')
if a=="主干道":
return 70
if a=="次干道":
return 50
return 30
这里输入a一定要先转换成utf-8,否则无法正常比较汉字,会错误的到最后一句return
然后添加time字段

移除所有要素,新建一个空项目,然后新建网络

一直"下一步",直到

移除不需要的oneway,只保留长度

再添加时间作为阻抗

得到

再设置属性

得到

然后一路"下一步"和"是"

到此为止数据集建好了,所有分析基于这个数据集
1.求解合肥市大通路小学到安徽医学专科学校附属医院的最短路径
将两个起止点的要素拖到图层里

添加网络分析工具条

新建路径

打开分析窗口


先加载第一个停靠点大通路小学

同样的加载医院

设置阻抗

再点击求解,得到最短路径

也可以将阻抗设置为时间,得到

导出数据

选择位置


然后图层就有这个路径要素了,可以设置样式

同样的方式保存距离最短路径,可以看到两个路径还是略有区别

2.求解合肥市所有小学到各自最近医院的最短路径
移除无关要素,加载相关要素,并修改样式

最近设施点分析

小学点设置为事件点,医院点设置为设施点

同样的,设置阻抗

点击求解

同样的方式保存,就不赘述了
3.求解合肥市所有小学到医院的通行时间
移除不需要点要素,添加OD成本矩阵

然后设置起止点

设置阻抗为时间

注意shape类型还是设置为直线,虽然是直线,实际底层还是基于折线的计算
计算求解

打开属性表,发现有5*51=459条数据,说明医院和小学两两之间都进行了分析。


4.分析安徽省立医院步行可达性以及机动车可达性
什么是可达性?就是在某段固定的时间内,从省立医院出发以步行或者机动车的速度,最远能达到的范围,就是可达区域,可达区域是用来衡量可达性的指标。
首先计算机动车的可达性
首先添加数据

查看路网的属性表,其中time字段就可以来作为分析的切入点,因为time就是根据道路长度和机动车形式速度来计算的

然后选择服务区分析

加载安徽省立医院


设置阻抗

求解
可以看到不同深浅颜色的区域就是不同时间的可达区域
针对步行可达性,
直接在路网中新建一个步行的速度字段,然后求解步行时间,
然后从头开始导入新的路网ND2,配置长度和步行的时间作为阻抗,
然后按照同样的方式来配置就可以求解出来,就不做赘述了。直接给出结果
