ArcGIS 网络分析[1.2] 利用1.1的线shp创建网络数据集/并简单试验最佳路径
上篇已经创建好了线数据(shp文件格式)链接:点我
这篇将基于此shp线数据创建网络数据集。
在此说明:shp数据的网络数据集仅支持单一线数据,也就是说基于shp文件的网络数据集,只能有一个shp线文件参与。
如何解决这个弊端呢?见下篇,利用地理数据库即可。
本篇目录:
1. 创建网络数据集 2. 给网络数据集命名
3. 转弯 4. 连通性 5. 高程
6. 网络数据集的阻抗属性
7. 出行模式 8. 导航设置 9. 创建并构建网络数据集
10. 试验最短路径
1. 创建网络数据集!

如图。
2. 给网络数据集命名

因为线shp的名称是Route,所以会自动命名为Route_ND(ND就是Network Dataset)
在这我没用别的,就默认。
3. ★ 转弯
这一步关键,但是现在是最简单的创建模式(就是尽量减少复杂的步骤),直接默认用通用转弯,下一步即可。

4. ★ 连通性
这一步也很关键,这直接与线要素的创建习惯有关,见上一篇的折点问题,这里还不会看到效果,等实战到简单的最短路径分析时就知道了。
在这里,连通策略使用按任意节点连通(就是按折点连通的意思)。不要问那么多,下一步。

5. ★ 高程
道路不可能一直平坦,但是这里作为示范,就不考虑这么多了,直接假设高程为0,选无即可。(好像shp也不能用高程)

6. ★★ 网络数据集的阻抗(属性)
这里必须谈一谈了。
道路网,要求解最短的路径,是什么最短?有的同学可能说时间,也有的同学说长度。
没错,这些就是阻抗,阻碍最小的那条路线,就叫最短路径。
ArcGIS的网络数据集可以拥有多个阻抗属性,就如同要素类可以拥有多个字段一样。
我们这里阻抗就用道路的长度——大白话说就是,假定道路畅通无阻,唯一影响我解算最短路径的就是道路的长度了。
见下图:

父窗口上的“长度”,即为网络数据集的一个阻抗属性,它的值怎么来?
由右边的参数给其 赋值 为Route线要素的Length字段。也可以双击属性给其赋值。
知道为什么要计算几何长度了吗?
这里大有门路,不仅仅是长度这个阻抗,还有很多类型的阻抗能影响网络数据集。
在这里,仅仅使用道路的长度作为阻抗,因为简单嘛。
确定下一步。
7. 出行模式
直接下一步。

8. ★ 导航设置
这一步会影响导航窗口的单位和道路名称的显示,如下图设置:

长度单位设置为千米。
名称使用Route这个shp线文件的Name字段(就创建线数据的时候填写的道路名)
确定下一步。
9. 创建并构建网络数据集

无视软媒魔方的浮动窗口。
刚才设置的所有信息都会列举出来。此时只需下一步,即可创建网络数据集。

软件会提示是否构建,选是。
在这里多说两句:创建是无中生有的过程,构建是利用给定的各种参数(连通性阻抗什么的)进行逻辑组合的过程。
创建只需这里一次,构建可以以后更新规则后再次进行。

这里选否。我们只需把Route_ND网络数据集添加到数据框即可。
创建完成后是这样的:

多了一个.nd文件和一个网络数据集连通结点的shp文件。
无视教程文件夹,那是我为了写这篇博客存放截图的文件夹。
我们简单试验一下最佳路径:
10. 试验最佳路径
打开网络分析工具条,选择当前的网络数据集,创建路径图层,使用添加位置工具点两个点,按求解按钮:

成功了!留心一下这里的蓝色结点,如果我改变起点终点位置:

它可能会绕的非常大,为什么不是按红箭头的方式走呢?那样才是最快的呀?
甚至会报错:起点和终点间没有连通。
这是为什么呢?这里先卖个关子,这和线数据的质量有关,详情见这篇博客:点我。
在下一篇博客中,就使用地理数据库来构建网络数据集了。
ArcGIS 网络分析[1.2] 利用1.1的线shp创建网络数据集/并简单试验最佳路径的更多相关文章
- ArcGIS 网络分析[1.3] 在个人地理数据库中创建网络数据集/并简单试验最佳路径
上篇使用shp文件创建网络数据集,然而在ArcGIS 9中就支持地理数据库了,数据库的管理更为科学强大. 本篇就使用个人地理数据库进行建立网络数据集,线数据仍然可以是1.1中的线数据,但是我做了一些修 ...
- ArcGIS 网络分析[8.1] 资料1 使用AO打开或创建网络数据集之【打开】
为了创建或打开一个网络数据集,你必须使用NetworkDatasetFDExtension对象(文件地理数据库中的数据集)或NetworkDatasetWorkspaceExtension对象(对于S ...
- ArcGIS 网络分析[2] 利用自定义基础数据创建网络数据集
前言 似乎除了官方介绍的例子,我还没有在网上见过一篇介绍如何"使用自己的数据"创建"网络数据集"的文章. 有介绍几何网络的,有介绍如何用官方SanFrancis ...
- ArcGIS 网络分析[1] 利用自定义点线数据(shp或数据库)创建网络数据集【小白向】
前言 似乎除了官方介绍的例子,我还没有在网上见过一篇介绍如何“使用自己的数据”创建“网络数据集”的文章. 究其原因,是因为当前的高质量的线数据或保密,或采集困难. 有介绍几何网络的,有介绍如何用官方S ...
- ArcGIS 网络分析[1.5] 使用点线数据一起创建网络数据集(如何避免孤立点/点与线的连通性组合结果表)
ArcGIS中最基本的三种矢量数据是什么?点线面. 网络中除了路网之外,还会有地物点. 如上图,我们在建立网络数据集的时候,作为实验,当然可以只是公路网.但是在大型的决策任务中,网络数据集就不只是公路 ...
- ArcGIS 网络分析[8.3] 设置IDENetworkDataset的属性及INetworkDataset的对比/创建网络数据集
创建网络数据集就得有各种数据和参数,这篇文章很长,慎入. 网络分析依赖于网络数据集的质量,这句话就在这里得到了验证:复杂.精确定义. 本节目录如下: 1. INetworkDataset与IDENet ...
- ArcGIS 网络分析[8.2] 资料2 使用IDatasetContainer2接口的CreateDataset方法创建网络数据集
上节提及如何使用IDatasetContainer2接口访问到网络数据集,上例可以封装为一个方法. 这节就使用IDatasetContainer2接口(Geodatabase类库)的CreateDat ...
- ArcGIS 网络分析[0] 介绍与博文目录【更新中】
网络分析是个热点,理论上是属于计算机图形学和数据结构的,GIS以此为基础做出应用. 以下列举本人在学习中遇到的网络分析问题与经验总结. 1. 软件平台及数据准备 平台:Windows 10 操作系统, ...
- ArcGIS 网络分析[1.1] 创建用于网络分析用的线类型shp文件[这个太基础了吧!]
具体的准备,在上一篇就说过了,不再赘述. 阅读本篇前,需要的预备知识是:ArcGIS创建各种矢量数据的方法,了解地理坐标与投影坐标 本篇只创建单一的线数据,至于点数据,以后进行复杂的网络分析时再添加进 ...
随机推荐
- Abp后台工作者类使用hangfire
一.Abp中的后台工作及后台工作者类 请阅读这篇文章 二 .Abp官方实现的缺点 Abp官方实现方式很简单,也很容易上手,但缺点是工作者类依赖了具体的基类(PeriodicBackgroundWork ...
- Struts2超链接
Structs2中的<s:url>标签可以生成一个URL 地址,而且可以内嵌<s:param>标签,为URL指定请求参数. 具体属性有: action:可选属性,指定生成的 U ...
- Centos 安装boost库
1.在http://www.boost.org/下载boost安装包boost_1_65_1.tar.gz 2.在Centos上解压tar -zxvf boost_1_65_1.tar.gz后,cd ...
- gulp 小坑一个
学习gulp的时候,看到很多人写到 gulp.task('styles', function() { return gulp.src('src/styles/main.scss') .pipe(sas ...
- [epub] epub.js的ePubReader函数报URI malformed错误的解决办法
报错信息:URI malformed 今天遇到了一个奇怪的问题折腾三个小时,最后发现是作者在底层使用了decodeURIComponent进行URL解码,而我在应用层使用了escape/unescap ...
- UITextField的使用小技巧
[tf setValue:[UIColor redColor] forKeyPath:@"_placeholderLabel.textColor"];//修改placeHolder ...
- angular中复制文字到剪切板
function copyToClipboard(oElement, value) { var aux = document.createElement("input"); if ...
- 《跟我学IDEA》一、下载安装idea,设置背景字体编码,配置JDK
写在前面的话:作为一个在IT界摸爬滚打6年+的老程序员,我属于会的东西多而杂,但是没有任何一样精通的.曾经自己也认真过,蹉跎过,最近和别的同事朋友聊天时,突然发现自己得到的东西却很少很少,于是想认真的 ...
- vue2入门之vue-cli
vue-cli vue在web前端可谓是大放异彩,尤其在国内与angular.react有三足鼎立之势.很多人想入门vue2而又苦于不知从何下手.因为vue2是以组件化开发的,最好要搭配webpack ...
- js 哈希路由原理实现
在 js 中,有一种方法,可以在不刷新页面的情况下,页面的内容进行变更,ajax 是一种,这里介绍另一种,就是 哈希路由原理 先看一个简单的路由和页面内容关联的例子,要实现两个功能: 1.1. 浏览器 ...