ArcGIS 网络分析[1.5] 使用点线数据一起创建网络数据集(如何避免孤立点/点与线的连通性组合结果表)
ArcGIS中最基本的三种矢量数据是什么?点线面。
网络中除了路网之外,还会有地物点。
如上图,我们在建立网络数据集的时候,作为实验,当然可以只是公路网。但是在大型的决策任务中,网络数据集就不只是公路网那么简单了。
在城市与城市之间,有高速公路,国道,高铁,普铁,甚至还有水路。
如此复杂的网络模型是如何连通的呢?他们之间的交点又有什么样的连通方式呢?在这里,我仍然卖个关子,在以后的连通性一章,会详细说明。在文末,就会看到点作为网络数据集中十分强大而关键的一员出现,其意义是多连通组的时候,作为媒介,使得多组网络在其位置连通。
读者可以继续使用上几节提到的道路数据(修改后的),这节会新建一个点数据。
给个目录:
1. 点与线的拓扑关系
2. 用不同的点线连通方式创建网络数据集(读者可以一起操作,也可以直接看3的结论)
3. 单连通组中,点线连通策略不同而产生不同的结果
4. 什么样的点适合参与构建网络数据集
1. 点与线的拓扑关系
拓扑关系就是点与线的位置关系。
情况一:

情况二:

情况三:

情况一是点是孤立点,上一节有说,即不在线上。
情况二,点在线上,却不在线的折点上。
情况三,点在线上,也在线的折点上。
——————假设在这里都是二维的道路,即高程=0———————
上一篇提到,前两种情况会产生孤立的点。
2. 用不同的点线连通方式创建网络数据集


上两图为画点时开启捕捉的提示,我们分别在线外、线上、线折点上点一个点。

紫色为点,红绿色的是折线的折点。
创建网络数据集时,点的连通性就有了“依边线连通”、“交点处连通”两种选项:

2.1 交点处连通(边线是按任意节点)
依边线连通就是“按照边线连通的方式来连通”。

构建完成后如上图提示,提示第一个点和第三个点是孤立的点。符合上文提及的三个情况。
网络数据集是这样的:

交汇点在网络数据集中是默认不显示的。(对网络数据集的图层进行符号显示-交汇点打勾,就能看到了)

2.2 依边线连通(边线是按任意节点)
如果边线连通策略是“任意节点”,那么情况同2.1,如下图:

因为第二个点在边线的折点上。
如果边线连通连通策略是“端点”,那么:

这样三个点都是孤立的点了,因为第二个点虽然在折点上,但是依旧被识别为独立的点。
原因就是第二个点不在折线的端点上,而点的连通策略是根据边线的连通策略定的——“依边线连通”。
2.3 假如组合方式是点【依边线连通】,线【任意节点】呢?
稍加思考,有点烧脑。
结果当然是第2个点连通,1、3点因为边线的连通策略,不在折点上而成为了孤立点。

3. 所以点尽量还是画在边线的折点上(点在一个连通组中的不同情况)
如果不按标题行事
——画在了线外,那么肯定是孤立点
——画在了线上而不是折点上,那么非常大可能性还是孤立点
在网络数据集中,孤立点是很讨厌的一个东西,应该最大程度避免。
最后给出不同情况的点情况
A点在线外:必为孤立点,最好别参与网络数据集构建;
B点在线上:
——BA点不在线的折点上
此时无论连通性如何组合,点都为孤立点//解决方法:在点处编辑线,添加一个折点。
——BB点在线的折点上:
——BBA点在线的端点上:
组合方式:此时无论连通性如何组合,点不是孤立点。即该点处是连通的。
——BBB点在线的非端点折点上:
组合方式:线[端点]+点[任意],点必为孤立点
线[任意节点]+点[任意],点不是孤立点,点处连通。
看文字太烦?看下面的网络图:

在实际地理事物中,道路曲曲折折很正常,直到下一个道路时才算结束一条折线。那么这条道路上就会有n个折点,这些折点有可能是交通路口等。
或许有读者想问了,如果我需要分析并不在道路上而在道路旁的位置(如公园),到另一个地方,那岂不是在公园点这个地方是孤立点?
我的提议就是,这种作为分析的点,必须将其绘制在线的折点上。
否则,就不要让其参与构建网络数据集,仅让它作为网络位置点即可。
因为孤立的点是无法到其他的位置的,也就是所谓的分析失败(见上一篇开头的错误提示截图)
4. 那么什么样的点合适参与网络数据集的构建呢?
在第四章,有多个连通性组的时候,点作为每一个不同的路网系统的中转媒介,就有着十分重要的作用。
到第四章,我就会详细介绍多连通性组的连通问题。这一篇博客和上一篇博客仅仅是热身。
【举个例子】
地铁站出口,既连通地铁网,又连通公路网。
公路网就不能与地铁网放在一个组里头了,不然小车会在交叉的地方开到轨道上吗?明显不现实。
但是又必须在地铁口处连通,使得人们方便换乘,那么地铁口就作为他们的连通点,连接着两个路网。
ArcGIS 网络分析[1.5] 使用点线数据一起创建网络数据集(如何避免孤立点/点与线的连通性组合结果表)的更多相关文章
- ArcGIS 网络分析[2] 利用自定义基础数据创建网络数据集
前言 似乎除了官方介绍的例子,我还没有在网上见过一篇介绍如何"使用自己的数据"创建"网络数据集"的文章. 有介绍几何网络的,有介绍如何用官方SanFrancis ...
- ArcGIS 网络分析[1] 利用自定义点线数据(shp或数据库)创建网络数据集【小白向】
前言 似乎除了官方介绍的例子,我还没有在网上见过一篇介绍如何“使用自己的数据”创建“网络数据集”的文章. 究其原因,是因为当前的高质量的线数据或保密,或采集困难. 有介绍几何网络的,有介绍如何用官方S ...
- ArcGIS 网络分析[1.2] 利用1.1的线shp创建网络数据集/并简单试验最佳路径
上篇已经创建好了线数据(shp文件格式)链接:点我 这篇将基于此shp线数据创建网络数据集. 在此说明:shp数据的网络数据集仅支持单一线数据,也就是说基于shp文件的网络数据集,只能有一个shp线文 ...
- ArcGIS 网络分析[8.3] 设置IDENetworkDataset的属性及INetworkDataset的对比/创建网络数据集
创建网络数据集就得有各种数据和参数,这篇文章很长,慎入. 网络分析依赖于网络数据集的质量,这句话就在这里得到了验证:复杂.精确定义. 本节目录如下: 1. INetworkDataset与IDENet ...
- ArcGIS 网络分析[1.3] 在个人地理数据库中创建网络数据集/并简单试验最佳路径
上篇使用shp文件创建网络数据集,然而在ArcGIS 9中就支持地理数据库了,数据库的管理更为科学强大. 本篇就使用个人地理数据库进行建立网络数据集,线数据仍然可以是1.1中的线数据,但是我做了一些修 ...
- ArcGIS 网络分析[8.2] 资料2 使用IDatasetContainer2接口的CreateDataset方法创建网络数据集
上节提及如何使用IDatasetContainer2接口访问到网络数据集,上例可以封装为一个方法. 这节就使用IDatasetContainer2接口(Geodatabase类库)的CreateDat ...
- ArcGIS 网络分析[8.1] 资料1 使用AO打开或创建网络数据集之【打开】
为了创建或打开一个网络数据集,你必须使用NetworkDatasetFDExtension对象(文件地理数据库中的数据集)或NetworkDatasetWorkspaceExtension对象(对于S ...
- ArcGIS 网络分析[0] 介绍与博文目录【更新中】
网络分析是个热点,理论上是属于计算机图形学和数据结构的,GIS以此为基础做出应用. 以下列举本人在学习中遇到的网络分析问题与经验总结. 1. 软件平台及数据准备 平台:Windows 10 操作系统, ...
- ArcGIS 网络分析[1.1] 创建用于网络分析用的线类型shp文件[这个太基础了吧!]
具体的准备,在上一篇就说过了,不再赘述. 阅读本篇前,需要的预备知识是:ArcGIS创建各种矢量数据的方法,了解地理坐标与投影坐标 本篇只创建单一的线数据,至于点数据,以后进行复杂的网络分析时再添加进 ...
随机推荐
- javaWEB与Session
HttpSession(*****)1. HttpSession概述 * HttpSession是由JavaWeb提供的,用来会话跟踪的类.session是服务器端对象,保存在服务器端!!! * ...
- 20155215 2016-2017-2 《Java程序设计》第5周学习总结
学号 2006-2007-2 <Java程序设计>第5周学习总结 教材学习内容总结 第八章 尝试捕捉错误对象,try,catch. 如何抛出错误对象,throw语法. error代表系统错 ...
- Tcl与Design Compiler (十三)——Design Compliler中常用到的命令(示例)总结
本文如果有错,欢迎留言更正:此外,转载请标明出处 http://www.cnblogs.com/IClearner/ ,作者:IC_learner 本文将描述在Design Compliler中常用 ...
- 【Spring】BeanFactory解析bean详解
在该文中来讲讲Spring框架中BeanFactory解析bean的过程,该文之前在小编原文中有发表过,要看原文的可以直接点击原文查看,先来看一个在Spring中一个基本的bean定义与使用. pac ...
- 老李推荐:第6章8节《MonkeyRunner源码剖析》Monkey原理分析-事件源-事件源概览-小结
老李推荐:第6章8节<MonkeyRunner源码剖析>Monkey原理分析-事件源-事件源概览-小结 本章我们重点围绕处理网络过来的命令的MonkeySourceNetwork这个事 ...
- 在centOS7.2里安装virtualenv和flask
1) 安装pip工具 #wget https://bootstrap.pypa.io/get-pip.py #python get-pip.py 2) 安装virtualenv,并创建一个开发环境 # ...
- day002-HTML知识点总结:浏览器兼容性之指定IE浏览器使用chrome内核渲染页面
今天再浏览大淘宝首页时,突然看到这么一个东东: ,顿时好费解,莫非万恶的IE浏览器认识到自己以往的罪孽,开始兼容chrome了??! 于是本着不懂就百度的神精,开始纵横于各大铁耙,勃哥,终于找到了许许 ...
- 哥哥我刚学的java---------数组插入法------------
package charufa; public class Test02 { // 插入法(插入一个数字). public static void main(String[] args) { int[ ...
- Spring Boot 中如何使用 Dubbo Activate 扩展点
摘要: 原创出处 www.bysocket.com 「泥瓦匠BYSocket 」欢迎转载,保留摘要,谢谢! 『 公司的核心竞争力在于创新 – <启示录> 』 继续上一篇:< Spri ...
- .net 图片压缩
压缩图片方法: /// <summary> /// 生成缩略图 /// </summary> /// <param name="originalImagePat ...
