1.首先在ArcCatalog里新建如下要素
新建Network文件夹→右键新建ToolData文件夹→右键新建“文件地理数据库”→右键新建“要素数据集”→右键新建“要素类”
注:添加要素集时,要注意选择WGS-84坐标系,该坐标系中地图显示十进制单位(参数设置默认即可);线要素属性中须有Name名称,否则构建的网络数据集中将不包含方向指南。
线要素:
属性说明:
Shape_Length:新建要素时默认生成的属性,表示线要素的长度,其值和单位和选择的坐标系有关,由于我们考虑到之后的Web开发,因此这里采用Web Mecator坐标系。
Length:表示道路的长度,这里的值就等于Shape_Length。(其实这里我们直接用Shape_Length这个属性就可以,可以不添加该属性)
Level:表示道路的等级,不同的等级所允许的行驶速度不同这里我们设置的等级和速度的对应关系如下:
等级 |
速度的最大值 |
1 |
130 km/h |
2 |
120 km/h |
3 |
80 km/h |
4 |
60 km/h |
Speed:表示该公路运行行驶的最大速度,及按照如上所示的表格进行设置。
Time:表示行驶时间,这里我们没有添加任何数据。
Name:即表示公路的名称
点要素:
2.编辑要素,制作路网;若已有路网只需导入即可(方法:上右键加载,加入同类型的线要素)。如下图:
当路网制作好之后需要将路线属性中的内容填写完整。。。
需要注意的是:编辑路线时需要将路线名、路线等级、速度填写上去。由于道路是联通的,所以我们需要将所有相交的线要素进行打断处理。在此可以用拓补工具进行批处理。
若该方法未完全打断所有要素,则可以用编辑器里的高级编辑工具中的线相交工具进行彻底打断。
3.构建网络数据集
构建网络数据集的线要素必须位于要素集中,否则无法构建。
右键要素集——新建——网络数据集
注:若“网络数据集”图标灰色则是相关应用未开启。解决办法:自定义→扩展模块→将相关应用勾选
一直下一步,默认设置即可。直至如下:
添加如下属性:
双击Distance出赋值器对话框:
类型定为字段,其值赋为[Length]/1000.(因为Length单位为千米,而程序默认单位为米)
同理双击DriveTime,类型仍为字段值为:[Length]*0.001/[Speed]
以上属性设置好以后,点击下一步,设置网络方向属性。
如果以上过程没有出错,那么我们自己构建的网络数据集已经生成了。
这个时候,要素集中的内容应该如下:
3.验证网络数据集
点击自定义调出网络分析工具条:
点击NetworkAnalyst,可以选择分析项。
最短路径查询
点击新建路径,然后点击网络分析工具条中带有+号的按钮。在地图中添加两个点或者更多,如下图所示添加了四个点:
然后点击求解工具,则会生成相应的路径。
下面是生成的方向指南: