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创建各种矢量数据的方法,了解地理坐标与投影坐标 本篇只创建单一的线数据,至于点数据,以后进行复杂的网络分析时再添加进 ...
随机推荐
- Jmeter-添加检查点
JMeter里面的检查点通过添加断言来完成. 检查用户名和密码参数化的文件user.dat有没有正确调用,添加断言,可以在结果树中查看结果. 1.添加响应断言,右键点击HTTP请求"ts1后 ...
- apache和nginx原理上的不同之处
今天群里提到面试时问到apache和nginx原理有什么不同,一时还真没想起,想到的只是他们的优缺点,便搜索了下.记录学习下.顺便记录下优缺点吧. 原理不同之处: 为什么Nginx的性能要比Apach ...
- bootstrap-typeahead自动补充
官方文档:https://github.com/bassjobsen/Bootstrap-3-Typeahead 这个是基于bootstrap的typeahead与基于jquery的jquery-Ty ...
- 在 WPF 中使用 Path 路径
在 WPF 中总会修改 Button 的 Style,比如一个自定义的 Close 按钮.刚入门的可能会用一张 PNG 格式的图片来做这个按钮的 Icon,但这个是不优雅的.而且你要改的时候还得去操作 ...
- span表情输入框 --- Author: rose && lvyerose@163.com
像QQ等社交聊天中,不可或缺的一部分就是我们常用的表情输入了,有时候有趣的表情同样能吸引住用户达到用户常驻的效果,当然,我们开发的时候不用去研究如何才能做到有趣,如何才能做到足够吸引用户,我们 ...
- kafka 入门笔记 #1
kafka 入门笔记(#1) 单机测试 下载版本,解压 tar -xzf kafka_2.11-0.10.1.1.tgz cd kafka_2.11-0.10.1.1 启动服务 Kafka用到了Zoo ...
- Java面试题04-final关键字详解
Java面试题04-final关键字详解 本篇博客将会讨论java中final关键字的含义,以及final用在什么地方,感觉看书总会有一些模糊,而且解释的不是很清楚,在此做个总结,以备准备面试的时候查 ...
- 前端jquery validate表单验证框架的使用
一.框架本身校验方法的扩展 建议写在页内用于扩展框架本身的一些校验方法, 使用频繁也可以直接在源码上修改 例如扩展手机号码的校验: /*手机号码验证扩展 最新的号码 mobile: class的表示 ...
- 深度学习开发环境搭建教程(Mac篇)
本文将指导你如何在自己的Mac上部署Theano + Keras的深度学习开发环境. 如果你的Mac不自带NVIDIA的独立显卡(例如15寸以下或者17年新款的Macbook.具体可以在"关 ...
- 告别findViewById(),ButterKnife,使用Google Data Binding Library(1)
Data Binding Library 用数据绑定编写声名性布局,可以最大限度的减少findViewById(),setOnClickListener()之类的代码.并且比起findViewById ...
