【总结整理】关于ArcGIS中拓扑的理解
空间拓扑:
https://www.baidu.com/link?url=f8fd1d75GhwtT1JuyPDZydZlWCgEXB9DeuTzDqGQIIRpq0bM-8t3MlC5tXYvEwQw4XHIw6SS40qYgvkoK0S_sRdHfAKTFy6GYi8gegOstYm&wd=&eqid=9209db400004c901000000065ac0e81b
描述的是自然界地理对象的空间位置关系-相邻、重合、连通等,是地理对象空间属性的一部分。目前ESRI提供的数据存储方式中,Coverage和GeoDatabase能够建立拓扑,Shape格式的数据不能建立拓扑。
1、 GeoDatabase建立拓扑的基础:
- GeoDatabase实现拓扑的基础是”几何重合”,GeoDatabase中的地理对象都是实体存储,主要是根据节点坐标是否重合来判断地理要素之间是否存在某种拓扑关系。
- 拓扑只能在要素集(FeatureDataset)中创建,参加创建拓扑的所有要素类(FeatureClass)必须具有相同的空间参考。
- 参与拓扑创建的必须是简单要素类,注记类(Annoca),尺寸和几何网络要素类不能参与拓扑的创建。
- 单个要素集可以创建多个拓扑。
2、 GeoDatabase拓扑中的重要概念。
- 规则:表达要素之间的空间关系,ESRI提供了27种拓扑关系。
- 拓扑容限,决定在多大范围内要素能够被捕捉在一起(也称为聚类容限(cluster tolerance))。
- 拓扑等级,控制在拓扑验证的过程中节点移动的级别。这时候,等级低的要素类将向等级高的要素类移动,最高级别为1,最低级别为-50。
- 脏区(dirty area):脏区就是参与拓扑创建时被修改的地理要素(增,删,改)的区域。
- 错误要素(Error Feature):只要素类中不符合拓扑规则的要素或者要素的一部分。
3、 27种拓扑关系:
- esriTRTAny:任何拓扑规则,在查询拓扑的时候用。
- esriTRTFeatureLargerThanClusterTolerance:地理要素小于聚类容限被删除。
- esriTRTAreaNoGaps:面是封闭的。
- esriTRTAreaNoOverlap:面不相交。
- esriTRTAreaCoveredByAreaClass:The rule is an area covered by area class rule。
- esriTRTAreaAreaCoverEachOther:两个区域完全重合。
- esriTRTAreaCoveredByArea:一个区域被另一个区域覆盖。
- esriTRTAreaNoOverlapArea:一个面没有相交的面。
- esriTRTLineCoveredByAreaBoundary:线被区域的边线覆盖。
- esriTRTPointCoveredByAreaBoundary:点在面的边界上。
- esriTRTPointProperlyInsideArea:点完全在面内。
- esriTRTLineNoOverlap:无重合的线。
- esriTRTLineNoIntersection:无相交的线。
- esriTRTLineNoDangles:无摇摆的线。
- esriTRTLineNoPseudos:线不存在伪节点。
- esriTRTLineCoveredByLineClass:The rule is a line covered by line class rule。
- esriTRTLineNoOverlapLine:The rule is a line-no overlap line rule。
- esriTRTPointCoveredByLine:点被线覆盖。
- esriTRTPointCoveredByLineEndpoint:点被线的尾节点覆盖。
- esriTRTAreaBoundaryCoveredByLine:一个面的边界被线覆盖。
- esriTRTAreaBoundaryCoveredByAreaBoundary:一个面的边界被另一个面的边界覆盖。
- esriTRTLineNoSelfOverlap:不存在自重合的线。
- esriTRTLineNoSelfIntersect:不存在自相交的线。
- esriTRTLineNoIntersectOrInteriorTouch:The rule is a line-no intersect or interior touch rule。
- esriTRTLineEndpointCoveredByPoint:线的尾节点被点覆盖。
- esriTRTAreaContainPoint:面包含点。
- esriTRTLineNoMultipart:The rule is a line cannot be multipart rule。
多边形topology
1.must not overlay:单要素类,多边形要素相互不能重叠
2.must not have gaps:单要素类,连续连接的多边形区域中间不能有空白区(非数据区)
3.contains point:多边形+点,多边形要素类的每个要素的边界以内必须包含点层中至少一个点
4.boundary must be covered by:多边形+线,多边形层的边界与线层重叠(线层可以有非重叠的更多要素)
5.must be covered by feature class of:多边形+多边形,第一个多边形层必须被第二个完全覆盖(省与全国的关系)
6.must be covered by:多边形+多边形,第一个多边形层必须把第二个完全覆盖(全国与省的关系)
7.must not overlay with:多边形+多边形,两个多边形层的多边形不能存在一对相互覆盖的要素
8.must cover each other:多边形+多边形,两个多边形的要素必须完全重叠
9.area boundary must be covered by boundary of:多边形+多边形,第一个多边形的各要素必须为第二个的一个或几个多边形完全覆盖
10.must be properly inside polygons:点+多边形,点层的要素必须全部在多边形内
11.must be covered by boundary of:点+多边形,点必须在多边形的边界上
线topology
1.must not have dangle:线,不能有悬挂节点
2.must not have pseudo-node:线,不能有伪节点
3.must not overlay:线,不能有线重合(不同要素间)
4.must not self overlay:线,一个要素不能自覆盖
5.must not intersect:线,不能有线交叉(不同要素间)
6.must not self intersect:线,不能有线自交叉
7.must not intersect or touch interrior:线,不能有相交和重叠
8.must be single part:线,一个线要素只能由一个path组成
9.must not covered with:线+线,两层线不能重叠
10.must be covered by feature class of:线+线,两层线完全重叠
11.endpoint must be covered by:线+点,线层中的终点必须和点层的部分(或全部)点重合
12.must be covered by boundary of:线+多边形,线被多边形边界重叠
13.must be covered by endpoint of:点+线,点被线终点完全重合
14.point must be covered by line:点+线,点都在线上
注意:https://wenku.baidu.com/view/2524db41a5e9856a56126084.html
1.arcgis的shp格式数据不支持拓扑规则检查,所以一定要保持geodatabase规则
2.要进行拓扑规则检查的要素类必须在同一要素集下
什么是拓扑?
是反映空间要素和要素类之间的关系的数据模型或格式
——要素:是现实对象的GIS表示
空间数据用于保证数据质量的完整性规则
一致性、相邻性、联通性……
GIS中引入拓扑的意义:
(1)有效避免了数据重复存储;
(2)存储实体间关系,便于查询和检索。
ArcCatalog 提供的拓扑向导工具中的六个步骤:
1、拓扑关系命名
2、指定cluster tolerance
3、选择参与拓扑关系的要素
4、设定坐标精度级别
5、指定拓扑规则
6、验证拓扑关系
AE中与拓扑相关的接口
(1)ITopologicalOperator:对已存在的几何对象做空间拓扑运算从而产生新的几何对象
例如:Boundary 返回几何对象的边界
Buffer方法 可以对几何对象进行缓冲区空间拓扑操作
Clip方法 用一个Envelope对象对一个几何对象进行裁剪,返回该几何对象被裁剪后的区域
(2)IRelationalOperator:获取不同几何对象之间的关联关系,如包含,相等,包含,相交,叠加等,一般通过IRelationalOperator的某
一个方法返回一个bool值来说明这两个几何对象是否具有某种关系
例如:Contains方法 检查几何对象A是否包含几何对象B
Crosses方法 检查两个几何对象是否相交
Touches方法 检查两个几何对象是否相连
(3)IProximityOperator:获取两个几何对象的距离,以及给定一个点,求另一个几何对象上离给定点最近的点
例如:QueryNearestPoint方法 返回几何对象上离给定输入点距离最近的点的引用
ReturnNearestPoint方法 创建并返回几何对象上离给定输入点距离最近的点
ReturnDistance方法 返回两个几何对象间的最短距离
(4)AE开发中设计空间分析时,操作的几何对象必须是简化的几何对象,在操作前可以通过ITopologicalOperator.Simplify()方法使一个几何对象在拓扑上一致
ArcGIS 中的拓扑概述
如果有重叠且共享相同坐标位置、边界或节点的要素,则地理数据库拓扑可帮助更好地管理地理数据。
地理数据库拓扑帮助您确保数据完整性。拓扑的使用提供了一种对数据执行完整性检查的机制,帮助您在地理数据库中验证和保持更好的要素表示。
此外,还可以使用拓扑为要素之间的多种空间关系建模。这为多种分析操作(如查找相邻要素、处理要素之间的重叠边界以及沿连接要素进行导航)提供了支持。
拓扑关系
拓扑是点、线和多边形要素共享几何的方式的排列布置。拓扑用于以下操作:
- 限制要素共享几何的方式。例如,相邻多边形(如宗地)具有共享边、街道中心线和人口普查区块共享几何以及相邻的土壤多边形共享边。
- 定义并执行数据完整性规则:多边形之间不应存在任何间距、不应有任何叠置要素等。
- 支持拓扑关系查询和导航,如确定要素邻接性和连通性。
- 支持可强制执行数据模型拓扑约束的复杂编辑工具。
- 根据非结构化的几何构造要素,如根据线创建多边形。
根据现有数据构建拓扑的过程可总结为以下步骤:
拓扑工作流和任务
任务 | 详细信息链接 |
---|---|
设计拓扑。 |
请参阅设计地理数据库拓扑。 |
在地理数据库中的公用要素数据集内创建一组要素类。 |
请参阅使用要素数据集概述。 |
如果已经有要素数据,将这些数据加载到要素类中。 |
请参阅关于导入要素类。 |
使用 ArcCatalog 或地理处理工具创建拓扑。 |
请参阅创建拓扑。 |
构建和验证拓扑。 |
请参阅验证拓扑。 |
将拓扑添加到 ArcMap 并设置其显示属性。 |
|
使用编辑环境来识别和修复错误。 |
请参阅编辑拓扑。 |
管理要素类更新和脏区。 |
请参阅验证拓扑。 |
管理版本化地理数据库内的拓扑。 |
请参阅拓扑和已版本化的地理数据库。 |
执行多个其他一般编辑任务。 |
请参阅一般拓扑任务。 |
【总结整理】关于ArcGIS中拓扑的理解的更多相关文章
- arcgis中的geodatabase模型
简介Geodatabase是ESRI公司定义的一个为ArcGIS所用的数据框架,该框架定义了ArcGIS中用到的所有的数据类型.不管ArcGIS的数据存储到何处.以什么格式存储,都脱离不了该框架.也可 ...
- arcgis中栅格矢量计算技巧收藏
编辑 一.计算面积 ( 可以帮我们计算小班面积 )添加 AREA 字段,然后右键点击字段列,然后点击 CALCULATE VALUES; ---> 选择 ADVANCED -->把下 ...
- 整理iOS9适配中出现的坑(图文)
原文: http://www.cnblogs.com/dsxniubility/p/4821184.html 整理iOS9适配中出现的坑(图文) 本文主要是说一些iOS9适配中出现的坑,如果只是要 ...
- ArcGIS中的style样式的使用
MapGIS安装包大小(以M计算)与ArcGIS (以G计算)在数量级存在差异,就可以隐约知道ArcGIS功能的强大.ArcGIS更注重重用(比如符号库.模块等).数据与制图分离(尤其是制图表达最能体 ...
- ArcGIS中的北京54和西安80投影坐标系详解
ArcGIS中的北京54和西安80投影坐标系详解 1.首先理解地理坐标系(Geographic coordinate system),Geographic coordinate system直译为地理 ...
- ArcGIS中的坐标系定义与转换 (转载)
原文:ArcGIS中的坐标系定义与转换 (转载) 1.基准面概念: GIS中的坐标系定义由基准面和地图投影两组参数确定,而基准面的定义则由特定椭球体及其对应的转换参数确定,因此欲正确定义GIS系统坐 ...
- ArcGIS中利用ArcMap将地理坐标系转换成投影坐标系(从WKID=4326到WKID=102100)
原文:ArcGIS中利用ArcMap将地理坐标系转换成投影坐标系(从WKID=4326到WKID=102100) 对于非地理专业的开发人员,对与这些生涩的概念,我们不一定都要了解,但是我们要理解,凡是 ...
- ArcGIS中的坐标系:基本概念和常用操作(一)
本文呢是主要是借鉴李郎平李大大的博士论文和百度百科,里面还有一点点我自己的理解,希望能帮助自己加深对于坐标系的认识. 李大大的博客:http://blog.sciencenet.cn/u/Brume ...
- ArcGIS中的WKID(转)
ArcGIS中的WKID link: https://www.cnblogs.com/liweis/p/5951032.html 提到坐标系统,大家多少能明白一些,但在运用时,有些朋友搞得不是非常清楚 ...
随机推荐
- 获得Version和Build版本号
[[NSBundle mainBundle] infoDictionary][@"CFBundleShortVersionString"] ?: [[NSBundle mainBu ...
- CC++中sizeof函数的用法
C/C++中sizeof()函数的用法 学习C/C++有时会遇到下面的情况: 已知 char *str1="absde"; char str2[]="absde" ...
- 如何学习Android系统源码(转)
一. Android系统的源代码非常庞大和复杂,我们不能贸然进入,否则很容易在里面迷入方向,进而失去研究它的信心.我们应该在分析它的源代码之前学习好一些理论知识,下面就介绍一些与Android系统相关 ...
- 使用log4j的邮件功能
Log4j的邮件功能能够为我们做这样的事情----当程序运行完的时候,或者正在运行也是可以的,它将程序的日志通过邮件的方式发到你的邮箱上. 这样,对于程序运行的控制就不用每次都跑到机器上去看日志文件这 ...
- Spring_总结_03_装配Bean(一)_自动装配
一.前言 本文承接上一节:Spring_总结_02_依赖注入 在上一节我们了解到依赖注入的实质就是装配. 这一节我们来学习下装配Bean的相关知识. 二.Bean的装配机制 1.三种装配机制 Spri ...
- L122
These plants have much of the same nutritional value that a real plant has. Search giant Google says ...
- BZOJ1116:[POI2008]CLO
浅谈并查集:https://www.cnblogs.com/AKMer/p/10360090.html 题目传送门:https://lydsy.com/JudgeOnline/problem.php? ...
- CentOS 7 安装Percona,Xtrabackup
CentOS 7 安装Percona 5.7,Xtrabackup 简介 Percona Server为 MySQL 数据库服务器进行了改进,在功能和性能上较 MySQL 有着很显著的提升.该版本提升 ...
- FPGA 竞争与冒险
一,概念 在数字电路设计时,无论是组合.时序,还是FPGA电路中,都需要考虑竞争冒险现象(Race and Competition). 竞争:由于信号在传输和处理过程中经过不同的逻辑门.触发器或逻辑单 ...
- 运行flask程序
Command Line Interface Installing Flask installs the flask script, a Click command line interface, i ...