说明:

1. 本文主要用于演示网络分析服务的搭建过程。所以在此不会深入讨论网络分析服务的每一个细节,本文的目的就是让初学者学会使用网络分析服务进行基本的分析(主要针对后续的WEB开发):路径分析,最近设施点分析,以及服务区分析。

2.关于OD成本矩阵分析,多路径配送,位置分配分析不会在本文中讨论(注:REST GIS服务不支持OD成本矩阵分析,多路径配送,位置分配,只能在ArcMap中进行分析)。

3.本文部分内容参考了ArcGIS帮助文档,想详细了解GIS网络分析可查阅官方帮助文档,并在此强烈推荐。

4.为简化分析过程,本文使用的数据为作者零时制作,所以实际的表现效果会没有真实的数据美观,但是对于网络分析服务的内容没有任何影响,读者可以参阅官方给出的网络分析服务数据(注:需安装ArcGIS Toturial 10.0,这里基本提供了官方文档中用到的所有数据)。

1.准备网络分析的数据

首先我们制作表示道路的线要素,线要素之后将用于构建我们的网络数据集。

a.第一步

建立如下所示文件夹结构:

解释:Scratch文件夹用来存储我们的零时数据,ToolData用于存储我们永久的服务数据。一般我们将地理要素及要素集存放在地里数据库中。

这里我们新建了一个名叫NetworkFeatureDataSet的要素集,这是因为存放于地理数据库中的线要素如果用于构建网络数据集,则必须放在要素集中。

b.第二步

新建各种要素(表示设施点的点要素,以及表示道路的线要素),并添加相关的属性

(说明:Network_ND和Network_ND_Junctions是之前已构建好的网络数据集和结点。在此我们只需要新建三个点要素和一个线要素即可)

分别配置一下属性:

线要素:

属性说明:

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

这里还需要说明的一点是:在Web的开发过程中,默认情况下是启用了道路的等级属性(也就是说:无论你的网络数据集有没有设置等级,都会在Web开发中启用等级属性)。因此如果我们构建的网络数据集中不包含等级属性,那么采用默认的设置时,在Web开发中就会出错,当然在Web开发时,我们也可以将启用等级属性设置为False,这样也可以实现网络分析的功能,具体过程将在下一篇Web开发中到。在此有个基本概念即可。

Speed:表示该公路运行行驶的最大速度,及按照如上所示的表格进行设置。

Time:表示行驶时间,这里我们没有添加任何数据。

Name:即表示公路的名称,注意线要素一定要有类型为文本类型的属性,这样才能够在构建网络数据集的时候添加方向设置,否则构建的网络数据集中将不包含方向指南。因此这里我们添加了道路的名称,目的用于之后生成方向指南。

点要素(以表示学校的点要素为例,其他点要素雷同)

c.第三步

编辑要素,构建具体的地图,这里我们制作了一个简单的,如下示例的地图:

需要注意的是:由于道路是联通的,所以我们需要将所有相交的线要素进行打断处理。在此可以用拓补工具进行批处理。

以上过程完成之后,数据的准备阶段就已完成,下面开始网络数据集的构建工作。

2.构建网络数据集

再次强调,构建网络数据集的线要素必须位于要素集中,否则无法构建。

右键要素集——新建——网络数据集

点击将如下图所示

设置网络数据集的名称,点击下一步。

设置连通性,这里有节点和端点两种,默认情况下为端点,这里我们选择默认即可,然后点击下一步。

设置高程字段,当涉及到高程时,在此设置,本文没有涉及,所以选择无。然后点击下一步。

设置网络数据集的属性,我们指定了如上所示的属性。具体的添加过程:

点击添加,然后设置名称,用法和单位,然后点击赋值器,可以指定该属性是字段,函数,常量以及VB脚本。

这里我们设置Distance属性为字段,对应线要素的Length属性(也可以用表达式,将单位换成千米即:Length/1000,默认的长度单位是米)。

Speed属性对于线要素的Speed属性。如下图所示:

DriverTime属性,表示行驶时间。这里需要注意的是DriveTime属性我们采用的是表达式,而不是直接将线要素的Time属性赋给它。(因为之前在新建要素的时候,我们没有给Time属性赋值,这里我们想根据线要素的长度和最大行驶速度来设置通过该要素所需最小时间)

因为速度是千米/时,默认长度单位是米,所以我们将要素长度除以一千。

以上属性设置好以后,点击下一步,设置网络方向属性。

这里我们设置长度属性为Distance,并设置单位及时间属性,如上图所示,在街道名称中设置名称为Name字段。

然后点击完成。如果以上过程没有出错,那么恭喜你,我们自己构建的网络数据集已经生成了,这个时候,你的要素集中的内容应该如下:

接下来我们验证生成的网络数据集。

3.验证网络数据集

点击自定义调出网络分析工具条:

点击NetworkAnalyst,可以选择分析项。

a.最短路径查询

点击新建路径,然后点击网络分析工具条中带有+号的按钮。在地图中添加两个点或者更多,如下图所示添加了四个点:

然后点击求解工具,则会生成相应的路径。

下面是生成的方向指南:

同理服务区的分析过程雷同,具体过程可参考官方的文档。在此不再叙述。下一篇将会讲述发布我们的网络数据集,从而提供Web客户端(Silveright)的GIS网络分析服务。

本文数据下载地址:

http://files.cnblogs.com/potential/NetworkAnalysis.rar

(版权所有,转载请标明出处,欢迎转载)

转载于:https://www.cnblogs.com/potential/archive/2012/11/13/2769019.html

ArcGIS网络分析之构建网络分析数据集(一)相关推荐

  1. ArcGIS10.2 网络分析之路径分析(二)---构建网络数据集

    2.构建网络数据集 要素集---右键---新建---网络数据集 输入网络数据集的名称,选择网络数据集的版本,默认最高即可: 选择用于生成网络数据集的要素类(有其他数据也可以选上,利于后面分析的准确性) ...

  2. ArcGIS构建网络数据集步骤

    创建网络数据集步骤: 单击开始 > 所有程序 > ArcGIS > ArcCatalog 10.2 启动 ArcCatalog. 启用 ArcGIS Network Analyst ...

  3. 视频教程-ArcGIS之模型构建器(ModelBuilder)视频教程(GIS思维)-大数据

    ArcGIS之模型构建器(ModelBuilder)视频教程(GIS思维) 地理信息行业讲师,多个数字城市.国土资源项目实战经验,GIS思维创始人. 擅长ArcGIS列软件以及遥感软件(ENVI.PC ...

  4. ArcGIS教程:创建网络数据集(一)

    在本练习中,您将使用地理数据库 San Francisco 中的街道要素和转弯要素创建一个网络数据集.您还可以加入历史交通流量数据,以便求解取决于时间的路径. 创建网络数据集 步骤: 单击开始 > ...

  5. 清华构建新一代数据集NICO,定义图像分类新标准

    2020-08-15 01:59:36 每件事物的出现都有它各自的使命,我们今天提数据集就不得不提到ImageNet,ImageNet数据集及其它推动的大规模视觉比赛对人工智能特别是计算机视觉领域的巨 ...

  6. 构建文本数据集(tokenize、vocab)

    构建文本数据集(tokenize.vocab) 构建文本数据集 文本清洗和读取 tokenize 定义计数函数 定义vocab类 生成样本 随机抽样生成样本 按顺序生成样本 封装 根据李沐老师的课做的 ...

  7. 【Pytorch】构建VOC2012数据集代码详解

    目录 数据集 图片读入 预处理 crop 标签和像素点颜色 随机翻转 噪声 标准化 torch.utils.data.Dataset()和torch.utils.data.DataLoader() t ...

  8. 机器学习题5:请简述ID3算法的实现步骤,并利用ID3算法构建天气数据集的决策树模型,实现决策树的可视化。

    ID3算法的实现步骤: 输入:数据集(训练集)S及属性A 输出:属性A对训练数据集S的信息增益 ① 先将S作为根节点,其目标属性y有c个类别属性.假设S中出现的概率,计算数据集S的信息熵. ② 假设属 ...

  9. arcgis网络分析最短距离_ArcGIS网络分析(最短路径问题分析)

    网络分析(最短路径问题分析) 一. 实验目的: 理解最短路径分析的基本原理, 学习利用 arcgis 软件进行各种类型的最短路径分 析的操作. 二.实验准备 1 .实验背景: 最短路径分析是空间网络分 ...

最新文章

  1. 三数之和(三数不重复)
  2. Javascript的prototype
  3. 面向对象先导课程——PART3
  4. Shiro系列-Shiro中Realm如何使用
  5. 如何自学python知乎-学习Python价格多少?如何学习好?老男孩IT教育
  6. Linux(centos)下安装JDK
  7. python数据分析用什么框架_用python选择用于内存大的数据分析的框架
  8. html网站页面上字体改变,如何设置网页字体样式
  9. 【c++实现】模拟银行叫号系统
  10. 大数据发展的根基是什么?
  11. AD制作gerber文件详细步骤
  12. 【游戏开发实战】Unity实现类似GitHub地球射线的效果(LineRenderer | 贝塞尔曲线)
  13. Word使用中常用的快捷键
  14. Java—核心技术类的封装、继承与多态
  15. ubuntu浏览器突然使用不了搜狗拼音法
  16. freebsd12 安装gnome3图形界面
  17. deepin 设置wifi热点
  18. java POI Excel插入图片
  19. Android 悬浮窗、悬浮球开发
  20. Linux 不能命令补全,Linux 命令未自动提示补全

热门文章

  1. java 新浪天气预报接口_根据新浪天气API获取各地天气状况(Java实现)
  2. java 有序列表_关于算法:在Java中为列表列表生成唯一的有序非重复组合
  3. c语言函数调用参数太少,调用input_message的参数太少在主函数中 是神马意思 大神们帮帮我...
  4. ConcurrentHashMap 和 Hashtable 的区别
  5. 014_TimePicker时间选择器
  6. 012_日期内建函数
  7. java.lang包怎么用_java.lang.io包的使用
  8. 30分钟学会mysql_30分钟回顾MySQL语法(下)
  9. python ctypes教程_Python ctypes: Python file object - C FILE * | 易学教程
  10. java 去掉最后一个换行符_Python 教程(一)第一个Python程序