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创建各种矢量数据的方法,了解地理坐标与投影坐标 本篇只创建单一的线数据,至于点数据,以后进行复杂的网络分析时再添加进 ...
随机推荐
- cocos2dx3.2移植android
LOCAL_PATH := $(call my-dir)LOCAL_MYDIR = $(LOCAL_PATH)/../../Classesinclude $(CLEAR_VARS) $(call im ...
- debug断点调试
debug断点调试 1,虫子启动2,F6 执行断点的下一步,下一个语句 F5 进入方法 F8 执行到结束 查看表达式的值:选中查看的表达式,接着按 ctrl ...
- StringUtils工具类常用方法汇总1(判空、转换、移除、替换、反转)
Apache commons lang3包下的StringUtils工具类中封装了一些字符串操作的方法,非常实用,使用起来也非常方便.最近自己也经常在项目中使用到了里面的一些方法,在这里将常用的方 ...
- appium+Android studio安装与配置
一. 关于JDK 安装,以及Java环境的设置 1.下载JDK1.6,选择对应的安装路径 2.配置相应的Java 环境变量 A.属性名称:JAVA_HOME (sdk的安装目录) 属性值:C:Prog ...
- Office 365系列 (1)概览:完整的云中Office
Office365(以下简称O365)是一个集Office,企业邮箱,日历,日程管理,音视频会议 ,企业网盘 ,企业协作平台为一体的,旨在提高团队办公效率,减少基础设施投资和IT运维压力的解决方案.在 ...
- ThreadLocal终极源码剖析
目录一.ThreadLocal1.1 源码注释1.2 源码剖析 散列算法-魔数0x61c88647 set操作 get操作 remove操作1.3 功能测试1.4 应用 ...
- PHP扩展安装方法
php扩展安装方法极简单. 也遵循3大步.但多出一个phpize的步骤. 1.pecl.php.net 在右上解的输入框 中输入需要的扩展 比如 redis 2.搜索完成后会看到两个蓝色的框 ...
- C# DropDownList 绑定枚举类
第一种 DropDownList_Franchiser_Type.DataSource = ListTypeForEnum(); DropDownList_Franchiser_Type.DataVa ...
- Abp扩展之【配置功能】
Abp的扩展功能非常强大,配合持久化可以很方便的配置系统.租户.用户的配置,关于ABP的配置请参考: http://www.cnblogs.com/farb/p/ABPSettingManagemen ...
- NodeJS+Express+MongoDB
一.MongoDB MongoDB是开源,高性能的NoSQL数据库:支持索引.集群.复制和故障转移.各种语言的驱动程序丰富:高伸缩性:MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言 ...