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创建各种矢量数据的方法,了解地理坐标与投影坐标 本篇只创建单一的线数据,至于点数据,以后进行复杂的网络分析时再添加进 ...
随机推荐
- 腾讯云总监手把手教你,如何成为AI工程师?
作者:朱建平 腾讯云技术总监,腾讯TEG架构平台部专家工程师 1.关于人工智能的若干个错误认知 人工智能是AI工程师的事情,跟我没有什么关系 大数据和机器学习(AI) 是解决问题的一种途径和手段,具有 ...
- mvalidator手机端校验
官网地址:https://github.com/efri-yang/mobileValidate#%E5%8F%82%E6%95%B0 使用方法: html如下: <li class=" ...
- HANA CDS与ABAP CDS
如果你在网络或者SCN上面搜索CDS,即SAP的Core Data Services,你会很容易地找到类似“Core Data Services(CDS)是一个在SAP HANA中用于定义和消费富语义 ...
- net.sz.framework 框架 轻松搭建服务---让你更专注逻辑功能---初探
前言 在之前的文章中,讲解过 threadmodel,socket tcp ,socket http,log,astart ,scripts: 都是分片讲解,从今天开始,将带大家,一窥 net.sz. ...
- Visual Studio Code 使用Chrome Debug 代码
一.添加插件 Debugger for Chrome,点击安装,安装完成之后,启动 二.配置启动参数 1.按 F5,出现界面如图,选择 Chrome 2.然后会打开配置文件 launch.json 3 ...
- 在Activiti中如何使用自定义的组织架构
1.概述 我们知道,activiti是一个不错的流程引擎,它有自身的人员组织架构,但仅限于用户.用户组的管理,流程产生的任务(UserTask),就涉及到任务的所属人(Owner),任务的执行人(as ...
- 性能测试培训:帮你定位 Linux 性能问题的 18 个命令以及工具
性能测试培训:帮你定位 Linux 性能问题的 18 个命令以及工具 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.在popte ...
- Windows入门基础:2.vs2013中Icon显示
第一:系统小图标的显示 wndclass.hIcon = LoadIcon(NULL,IDI_WARNING); //LoadIcon函数的第一的参数要为0,第二个参数是系统自定义的ID号: IDI_ ...
- 2017携程Web前端实习生招聘笔试题总结
考察encodeURI encodeURI(), decodeURI()它们都是Global对象的方法. encodeURI()通过将某些字符的每个实例替换代表字符的UTF-8编码的一个或多个转义字符 ...
- Doxygen + Graphviz windows下安装配置(图解)
查看一些开源代码经常被一些函数的调用关系给绕进去,经过网上查阅资料,发现了这个好用的方法,拿出来和大家分享下安装和应用的过程. 本人常用windows系统,所以主要讲解下windows下相关的内容 要 ...
