1.概述:
要进行与城市路网有关的分析,首先需要利用ArcGIS构建城市交通网络,并添加道路线性、道路车速、单行道、路口禁转、高架、地铁等信息,然后在此基础上进行诸如最短路径、设施服务区等交通网络分析。
2.所需数据与操作流程:
- 所需数据
(1)城市路网cad文件(根据道路性质分别放置在不同图层中)。 - 操作流程

3.具体步骤介绍
3.1 基础道路数据导入
- 在相应文件夹下新建个人地理数据库【交通网络】,然后在【交通网络】数据库下新建要素数据集【路网】,然后右键点击要素数据集【路网】,点击【导入→导入要素(单个)】,弹出【要素类至要素类】对话框,按如下设置,点击确定。(只有将道路要素以要素类的形式导入个人地理数据库的要素数据集中,才可以开展下一步的拓扑检查和网络构建)。

- 此时,道路文件已经加载进来,如若cad文件中有其他图层,可以通过【属性选择】,将其选中后开启【开始编辑功能】将其删除,此时图中只有道路带道路属性信息的道路中心线。(如若存在高速、高架、地铁等情况,此处不需将此类图层导入,后续在模拟城市多层交通网时才会使用。)

3.2 道路数据编辑与拓扑检查
3.2.1 分类合并各级道路
- 对导入的数据进行处理,将同类道路合并为同一整体,以避免出现本来是一条路但是却是由很多条线段收尾相连形成的情况。
点击【编辑器→开始编辑】,对道路图层进行编辑,在编辑状态下,打开【道路】要素的属性表,通过【按属性选择】,选择道路类型为主干道的要素,此时选中的要素会在高亮显示,此时点击【编辑器→合并】,点击确定进行合并,合并之后,同一类型道路会成为一个整体。然后按照相同的方法对其他类型道路进行合并操作。

3.2.2 打断道路相交线
- 对所有道路要素在它们的交点处进行打断,这是道路交通网络构建的需要。点击【高级编辑→打断相交线】,然后点击【编辑器】停止并保存编辑。

3.2.3 进行拓扑检查
- 在目录面板中,右键点击之前创建的【路网】要素数据集,选择【新建→拓扑】,弹出新建拓扑对话框。选择默认系统设置,在【选择要参与到图谱中的要素类】为道路,然后点击下一步,在【添加规则】选项中,依次添加【不能相交或内部接触、不能自相交、不能有悬挂点】这三条规则。点击下一步,点击完成,此时会出现【已创建新拓扑,是否立即验证】对话框,点击是,开始验证。
(不能相交或内部接触:是指两条线段只能在两端点出相交,不能出现端点与线段内部的相交或线段内部与内部的相交;不能自相交:是指线段不能收尾相连,即不能想成闭合的多段线;不能有悬挂点是指线段不能出现一段垂悬的情况,即端点位于其他端点相连的情况)。


- 加载新生成的【路网_Topology】,在弹出的对话框中选择否,添加之后,不符合拓扑规则的点会以红色点的形式标注出来。然后通过【高级编辑】中的【延伸】、【修剪】、【线相交】等工具对有错误的地方进行调整。

- 在完成对各错误点的修改之后,保持编辑状态,右键单击工具栏任意位置,调出【拓扑】工具条,点击【验证当前范围中的拓扑】,查看错误地方是否全部修改,没有在验证出错误信息后停止并保存编辑,最终得到如下效果(外围道路是断头路所以会显示红色点)。

3.3 设置道路基本属性
现在道路只有道路类型这一属性,此时是无法进行网络分析的,需要将其转化成步行通过时间、车行通过时间、道路长度等网络属性。
3.3.1 批量给道路添加字段
- 在目录栏中右键点击【道路】要素类,选择【属性】,打开要素类属性对话框,切换到字段选项卡,在字段名中添加字段【步行时间、车行时间】两个双精度字段。

- 打开道路要素属性表,计算【步行时间】字段,【步行时间= [Shape_Length] /90】,此处假设步行速度为1.5米/秒,即90米/分钟。

- 在道路要素属性表中,选择【按属性选择】,分别选择不同类型的道路,并分别计算其车行时间。此处假设,快速路的车速为60公里/小时,即1000米/分钟。主干道的车速为40公里/小时,即666.67米/分钟。次干道的车速为20公里/小时,即333.33米/分钟。支路的车速为10公里/小时,即166.67米/分钟。至此就完成了构建道路交通网络所需的基础数据的导入修改工作。

3.4 简单交通网络构建
3.4.1 首先建立一个简单的道路交通网络模型,不考虑单行线、路口禁转等情况
- 在目录栏中,右键点击【路网】要素数据集,选择【新建→网络数据集…】,弹出【新建网络数据集】对话框,输入网络数据集的名称为【交通网络_ND】,点击下一步。

- 默认系统设置点击下一步,点击【连通性】选项,在道路行选择【端点】,意味着一条线只能通过端点和相连的另一条线联通。点击下一步,在【如何对网络数据的高程进行建模】中默认系统设置,也可以根据需要调整,调整后系统会根据高程建立连通性,例如两个线交于端点,但是两端点的高程不同,则不会建立连通。

3.4.2 为网络指定通行成本、等级、限制等属性
- 在【为网络数据集指定属性】栏中,将系统自动识别的长度属性,进行修改,并改名为【车行时间】,然后点击赋值器修改属性信息,按下图所示进行设置。

3.4.3 新建路程成本属性
- 点击【添加…】按钮,显示【添加新属性】对话框,设置名称为【路程】,使用类型选择为【成本】,单位选择为【米】,数据类型选择为【双精度】。

- 这时属性列表中添加了【路程】属性行,下面对其进行属性设置。选择【路程】属性后,点击【赋值器】,显示【赋值器】对话框,按下图所示进行设置。

- 并右键点击【路程】属性,在弹出菜单中选择【默认情况下使用】,之后网络分析时会把它作为默认的网络属性,而不是之前的车行时间属性。
点击下一步,在【是否要为此网络数据集建立行驶方向设置】中,选择【否】,点击下一步,然后点完成结束设置。

- 之后会弹出对话框,询问【新网络数据集已创建,是否立即创建?】,选择【是】,然后出现【是否还要将参与到交通网络中的所有要素类添加到地图?】,选择【是】。

- 至此,一个简单的道路网络模型已经构建完毕,此时在【路网】数据集下新增了两个要素类:【交通网络】代表该网络数据集。【交通网络_Junctions】代表路口的交汇点。这两个要素均被加载到了地图文档中。
