面向对象的三维矢量GIS 数据模型及拓扑关系的建立
GIS原理-判断及选择题
![GIS原理-判断及选择题](https://img.taocdn.com/s3/m/706e70e8998fcc22bcd10d4b.png)
二.选择题
8.数据库系统是:____。( ) A.存储在计算机内的有结构的数据集合 B.一个软件,用以维护数据库、接受并完成用户对数据库的一切操作 C.指由硬件设备、软件系统、专业领域的数据体和管理人员构成的一个运行系统 D.数据文件的集合
二.选择题
6.在地理信息系统中,通常使用的三个坐标系是:_____。( ) A.世界坐标系、规范化坐标系和设备坐标系 B.世界坐标系、用户坐标系和设备坐标系 C.世界坐标系、局部坐标系和设备坐标系 D.局部坐标系、用户坐标系和设备坐标系
7.图形数据的编辑功能主要是:________。( ) A.利用已知的理论数据和实际数据建一多项式变换公式,用此公式修改错误数据 B.利用 GIS 软件提供的程序,自动删除图形数据中的错误数据 C.利用开窗口功能和光标定位功能,人机交互的修改图形中的错误数据 D.利用图形变换功能来修改图形中的错误数据
第一章 绪论
一.判断题
1.在通常情况下,对信息和数据可不作严格区分,在不引起误解的情况下可以通用,因此信息和数 据无本质区别。 (对 错 )
2.GIS 与 DBS 的最大差别是前者具有处理图形数据功能,而后者没有。 (对 错 )
3.GIS 与 CAD 系统两者都有空间坐标,都能把目标和参考系统联系起来,都能描述图形拓扑关系,也 能处理属性数据,因而无本质差别。 (对 错 )
3.手扶跟踪数字化输入得到的是矢量数据。 (对 错 )
4.对于一条折线一般选择流方式数字化。 (对 错 )
5.对于不规则曲线图形常选择流方式数字化。 (对 错 )
6.扫描输入最大的缺点是噪声、数据量大。 (对 错 )
面向对象GIS建模的原则与方法1
![面向对象GIS建模的原则与方法1](https://img.taocdn.com/s3/m/7fe70b53f01dc281e53af044.png)
2011年第02期◇本刊特稿◇面向对象G I S建模的原则与方法王兰辉李彬(南京师范大学地理科学学院江苏南京210046)【摘要】首先阐述了面向对象GIS 建模的概念,然后提出面向对象GIS 建模的三原则:应用目的原则、应用深度原则和过程原则,最后结合校园道路设施GIS 建模实例给出面向对象GIS 建模的方法过程,并将面向对象GIS 建模的结果概括为:一图、一表、一库,能够给读者的实际建模工作提供一些有益参考。
【关键词】面向对象;GIS建模;原则;方法Principles and Methods of Object-oriented Modeling in GISWANG Lan-hui LI Bin(School of Geographical Science, Nanjing Normal University, Nanjing 210046,China)【Abstract】This paper starts with the conception of object-oriented modeling in GIS, then putting forward three principles of object-oriented modeling in GIS: purpose of applying, depth of applying and procedure. In the end, it gives the methods of object- oriented modeling in GIS combining with the example of modeling of campus roads facilities in GIS and generalizes the results for a set of conceptual graphs, a suit of tables and a database. It can provide some useful reference for the readers’practical modeling works.【Key words】O bject-oriented; Modeling in GIS; Principle; MethodGIS 建模是地理信息系统应用成败至关重要的因素,在地理信息系统中占有十分重要的地位。
3 维GIS 拓扑关系中“一面三层”的概念
![3 维GIS 拓扑关系中“一面三层”的概念](https://img.taocdn.com/s3/m/1a89134ee518964bcf847c6b.png)
第31卷 第4期测 绘 学 报V ol.31,N o.4 2002年11月ACT A GE ODAETIC A et C ART OG RAPHIC A SI NIC AN ov.,2002 文章编号:100121595(2002)0420350207中图分类号:P208 文献标识码:A 收稿日期:2001201220;修回日期:2002206223基金项目:国家自然科学基金(49771059);高等学校重点实验室访问学者基金作者简介:李青元(19582),男,四川广元人,研究员,博士,主要从事3维GIS 、W ebGIS 理论与软件研究。
3维GIS 拓扑关系中“一面三层”的概念及其在2维的推广李青元1,2,常燕卿2,曹代勇1(1.中国矿业大学教育部煤炭资源重点实验室,北京100083;2.中国测绘科学研究院政府地理信息系统研究中心,北京100039)Concept of “One Surface with Three Layers ”in 3D GIS Topologic R elation and Its Extension in 2DLI Qing 2yuan 1,2,CH ANG Y an 2qing 2,C AO Dai 2y ong 1(1.China Univer sity o f Mine and Technology The K ey Laboratory o f Coal Resource ,Ministry o f Education ,Beijing100083,China ;2.Chinese Academy o f Surveying&Mapping ,Beijing 100039,China )Abstract :Proposes a new concept of “one sur face with three layers ”in 3D GIS topological relation.I t is a supplement and development for relation of “Sur face 2Out Cycle 2Inner Cycle 2P ositive P olyhedron 2Negative P olyhedron ”in the “five group re 2lations ”which was proposed by the author formerly.“One sur face with three layers ”supposes that one piece of sur face has three layers ,i.e.positive layer ,middle layer and negative layer.P ositive layer and negative layer are divided separately ,middle layer overlaps the division of positive layer and negative layer.In this way ,the integrality of a nature sur face is re 2tained ,division of positive side and negative side are is olated ,but there is s ome connection through middle layer.Data structure of “One sur face with three layers ”is designed in the paper.I f 3D topologic relation constructed in this way ,in 2quire of one polyhedron ’s adjacent polyhedrons is very st ,the author expands the concept of “One sur face with three layers ”to 2D GIS ,to deal with the line object like freeway ,railway and river ,which may be natural boundary of dis 2tricts.K ey w ords :3D ;GIS;topologic relation ;one sur face with three layers摘 要:提出3维GIS 拓扑关系中的一个新概念“一面三层”,它是对笔者所提出的3维GIS 中基于体划分的5组拓扑关系中的第2组“曲面片2外环2内环2正面多边形2负面多边形”关系的补充与发展。
基于ArcGIS模型构建器的矢量数据自动化拓扑检查方法
![基于ArcGIS模型构建器的矢量数据自动化拓扑检查方法](https://img.taocdn.com/s3/m/9926016476232f60ddccda38376baf1ffc4fe3d4.png)
图3总模型拓扑检查(针对线要素层)建模流程图 Fig.3 Modeling flow of the total model of topology
checking for line features
(下转第48页)
48
测绘与空间地理信息
2021 年
图6 2019年4月15日哈尔滨市气溶胶数据
Fig.6 Aerosol data of Harbin on April 15, 2019
0引 言
矢量数据是空间数据的重要组成部分,保证数据的 拓扑正确性是进行矢量数据建库工作的重中之重。在矢 量数据的生产和处理过程中,经常需要多次、反复地执行 相同的处理功能和环节,费时费力且操作时容易出现错 误,不易满足效率和质量的要求。很多学者积极探索自 动化实现分析处理空间数据等流程化过程的方法[1-2]。 宋仁波等利用ModelBuilder可视化建模工具,分别生成地 层的三维实体模型和断裂的三维表面模型,从而实现了 复杂地质体自动建模[3]。刘佳雨等利用模型构建器通过 建立并连接5个单处理过程模型,形成了一个复杂的处理 过程模型,从而实现了自动化选择鸟类的最佳栖息地[4]。 李鸿奎等利用Python + ModelBuilder开发平台,实现了农
参考文献:
[1] 许文龙,胡方超,王雨轩•基于AERONET数据估算近地 面 PM2.[ J/OL].环境科学学报:1-8[ 2019-06-15] .https:///10.13671/j.hjkxxb.2019.0098.
[2] 高中明,闭建荣,黄建平.基于AERONET和SKYNET网 观测的中国北方地区气溶胶光学特征分析[J].高原气 象,2013,32(5):1 293-1 307.
3结束语
ARCGIS拓扑关系
![ARCGIS拓扑关系](https://img.taocdn.com/s3/m/2d1259c3d5bbfd0a795673d0.png)
练习1:某地区地块的拓扑关系建立1. 背景:拓扑关系对于数据处理和空间分析具有重要意义,拓扑分析经常应用于地块查询、土地利用类型更新等。
2. 目的:通过本例,让读者掌握创建一个要素数据集的拓扑关系的具体流程,包括拓扑创建、拓扑错误检测、拓扑错误修改、拓扑编辑等基本操作。
3. 要求:在Topology 数据集中导入两个Shapefile ,建立该要素数据集的拓扑关系,进行拓扑检验后可以检测出拓扑错误,修改拓扑错误,并进行拓扑编辑。
4. 数据:Blocks.shp 、Parcels.shp ,分别为某地区的总体规划和细节规划的地块矢量数据,存放在随书光盘…/ChP3/Ex1中。
结果数据存放于…/ChP3/Ex1/Result 中。
5. 操作步骤(流程如图3.123所示):(1) 创建Geodatabase1) 在ArcCatalog 树中,右键单击Result 文件夹,单击New ,单击Personal Geodatabase ,如图 3.124所示。
输入所建的Geodatabase 名称:NewGeodatabase 。
在新建的Geodatabase 中创建要素数据集,如图3.125所示;2) 打开New Feature Dataset 对话框,如图3.126所示。
将数据集命名为:Topology ;图3.124创建Geodatabase 图3.125创建要素数据集 图3.123 创建拓扑的流程图3) 单击Edit 按钮,打开Spatial Reference 属性对话框,如图3.127所示;4) 单击Import 按钮,选择要与之具有相同坐标系统的数据集:Blocks.shp 或Parcels.shp ,如图3.128所示;5) 单击Add 按钮,返回Spatial Reference 属性对话框。
这时要素数据集定义了坐标系统。
单击确定按钮。
(2) 向数据集中导入数据1) 在ArcCatalog 树中,右键单击Result 文件夹中的Topology 数据集,单击Import ,单击Feature Class(multiple),如图3.129所示;2) 打开Feature Class to Geodatabase(multiple)对话框,如图3.130所示。
ArcGIS实验操作(十)---拓扑关系建立及检查
![ArcGIS实验操作(十)---拓扑关系建立及检查](https://img.taocdn.com/s3/m/2f59e8ea172ded630b1cb6a5.png)
ArcGIS实验操作(十)拓扑关系建立及检查数据:在data/Ex10/文件下Clip1.shp为等高线数据,但是无投影信息要求:在Topology数据集汇总导入clip1,进行投影变换,建立该要素数据集的拓扑关系,进行拓扑拓扑检验,修改拓扑错误,并进行拓扑编辑。
操作步骤:1.在ArcMap打开地图数据:2.选择投影系统参数(Beijing_1954_3_Degree_GK_CM_117E):3.导出数据:4.重新打开ARCMAP窗口,导入clip数据:5.打开ArcCatalog,创建Geodatabase:可根据需要对新建的Geodatabase重新命名:框,创建要素数据集:新建Feature Dataset,命名为gaocheng:点击edit,并点击import,选择clip数据,进行投影转换:6.右击已新建的gaocheng,向数据集中导入数据:7.右击新建的要素数据集gaocheng,创建拓扑:点击“add rule”设置拓扑规则:根据自己实际需要,添加拓扑检查规则:本操作由于演示需要仅添加两个常用规则:选择“是”,进行拓扑检验;拓扑检查完毕,创建的拓扑出现在Catalog树中:8.打开地图窗口,查看拓扑错误:打开topology工具条:使gaochengtp图层处于可编辑状态,可发现topology工具条处于可用状态。
点击,单击:1)修改自相交错误:点击edit tool,并在出现拓扑错误的线上双击:选择出错的节点,右击,选择delete vetex:将鼠标在地图视图窗口任一位置单击,可发现错误的节点已被删除:同上,修改其他错误的节点或线:单击按钮,可以在当前可见图面进行拓扑检验;或者单击单击,在图面的指定区域进行拓扑检验;或单击可以在整个区域进行拓扑检验。
2)修改线与线重叠的错误:同上修改错误,并点击检查拓扑错误是否已经修改,修改后如下:10.检查并修改完拓扑错误,保存或导出数据。
面向对象的三维矢量GIS 数据模型及拓扑关系的建立
![面向对象的三维矢量GIS 数据模型及拓扑关系的建立](https://img.taocdn.com/s3/m/04947df204a1b0717fd5dd80.png)
面向对象的三维矢量GIS数据模型及拓扑关系的建立孙敏①唐小明②赵仁亮①(①中南工业大学资环建院410083)(②中国林业科学院资源信息所100091)【摘要】本文针对三维GIS拓扑空间关系的复杂性,提出了以表为基本单元的面向对象的数据模型,这种数据模型能表达网状的空间拓扑关系,较直观地反映了三维GIS中复杂的空间拓扑关系。
文中还对这种结构的拓扑关系和空间数据库的动态建立作了说明。
一、引言到目前为止,三维GIS一直处于理论研究阶段,虽然有三维GIS系统问世,但其功能远远不能满足人们分析问题的需要,原因主要是三维GIS理论不成熟,其拓扑关系模型一直没有解决,另外三维基础上的数据量十分大,很难建立一个有效的,易于编程实现的三维模型。
采用什么样的数据模型对GIS空间拓扑关系的建立以及空间分析与操作至关重要。
随着在许多行业诸如煤炭、地质、石油、矿山、城市地下管网、城市空间规划等对三维GIS的需求日益迫切,三维GIS数据模型理论近来受到许多学者的关注,在八叉树与三维边界表示法基础上提出了如基于八叉树与TIN的混合结构[1]、八叉树与TEN的混合结构[2]、面向对象的矢量与栅格一体化结构[3]以及其他结构[4],尽管这些结构在理论上有很大的进展,但实现较困难,也难以与已有的二维GIS兼容。
基于八叉树结构的缺点在于指针占用存贮空间大,重编码费时长且精度低,不宜于表示线面对象。
而三维GIS中的矢量与栅格一体化在目前实现有相当的困难,且目前所提出的模型的可行性有待检验。
三维GIS要比二维GIS 复杂得多,如果GIS中拓扑空间基本元素分为点、线、面,那么在二维空间的GIS中,GIS的主要元素点、线、面同处于一个平面上,点的第三维坐标(高程)作为一个属性值输入,且一个面的描述只用其周边即可确定。
而在三维GIS中,面元素不再只是平面,而可能是极不规则的空间曲面。
描述一个面元素不能再只用其边线。
面的生成与描述要用较复杂的方法,如用TIN、TEN或分块Bezier曲面、分块B样条曲面合成的方法(后两种算法适合于大面积较规则的曲面)。
ArcGIS中的拓扑关系
![ArcGIS中的拓扑关系](https://img.taocdn.com/s3/m/32e4292727d3240c8447efd1.png)
ArcGIS中的拓扑关系什么是拓扑?是反映空间要素和要素类之间的关系的数据模型或格式——要素:是现实对象的GIS表示空间数据用于保证数据质量的完整性规则一致性、相邻性、联通性……实际的空间关系示例:地块不能相互压盖用地多边形的边界必须与用地红线完全重叠用地红线不能有悬挂结点……道路与公共汽车线路海岸线与国界Coverage 拓扑固定的数据模型:基本的:Polygon +Arc +Node核心的:Regions,Routes一组固定的完整性规则:Label 点必须在多边形内多边形边界必须被ARCs覆盖多边形必须封闭多边形不能重叠(只有regions可以)著名的Clean,Build 命令Geodatabase的拓扑灵活的数据模型:多个不同种类的要素类可以放在同一要素数据集中灵活的完整性规则:自己根据需要定义完整性规则Polygon规则Polygon class不能有缝隙Polygons 不能压盖Polygons 必须相互覆盖Polygon class嵌合成其它Polygon classPolygons必须被polygons覆盖Polygons不得被polygons覆盖Line 规则Line必须被polygons的边界覆盖Lines 不能重叠Lines 不能相交Lines 不能有悬挂结点Lines 不能有伪结点……Point 规则Point 必须被polygon的边界覆盖Point 必须在polygon内Point 必须被line 压盖Point 必须被线的端点压盖……ArcCatalog 提供的拓扑向导工具中的六个步骤:1、拓扑关系命名2、指定cluster tolerance3、选择参与拓扑关系的要素4、设定坐标精度级别5、指定拓扑规则6、验证拓扑关系Arcgis中topolopy说明在arcgis中有关topolopy操作,有两个地方,一个是在arccatalog中,一个是在arcmap中。
通常我们将在arccatalog中建立拓扑称为建立拓扑规则,而在arcmap中建立拓扑称为拓扑处理。
三维GIS空间数据模型(理论实操)
![三维GIS空间数据模型(理论实操)](https://img.taocdn.com/s3/m/6285f33076eeaeaad0f3305e.png)
为了区别不同实体,每个 实体都赋予一个唯一的标 识符。
第三章 空间数据模型
行业进步
空间数据模型:指利用特定的数据 结构来表达空间对象的空间位置、 空间关系和属性信息;是对空间对 象的数据描述。
1
内容
行业进步
第一节 空间实体的描述和分类和数据组织 第二节 矢量数据模型 第三节 栅格数据模型 第四节 三角网数据模型(TIN) 第五节 属性信息 第八节 面向对象的空间数据模型
① 复杂实体有可能由不同延展度和类型的空间单元组合而 成;
② 某一类型的空间单元组合形成一个新的类型或一个复合 实例;
③ 某一类型的空间实体可以转换为另一类型;
④ 某些空间实体具有二重性,也就是说,由不同的维数组 合而成。
13
实体类型组合图例
行业进步
14
行业进步
三、空间实体在地理信息系统中的表示
Record header(8字节,存储记 Record contents 录数和记录内容的长度)
Record header
Record contents
Rec…ord…header
Record contents
28
shapefiles 头文件表
起始位置
名称
数值
0
File Code
9994
4
Unused
21
行业进步
Spatial data model
在GIS中建立面向对象的数据模型时
![在GIS中建立面向对象的数据模型时](https://img.taocdn.com/s3/m/438050e1c8d376eeaeaa31d4.png)
——GIS空间数据组织与管理
主讲教师:胡嘉骢
不 动 产 学 院 2008-10
BNUEP
地 理 信 息 系 统
空间数据库
空间实体的表达 现实空间世界 认知与抽象 空间数据模型 计算机存储 空间数据结构 组织与管理 空间数据库
2
空间数据模型:不同的模型下有 不同的空间要素认知、抽象和表 达方式以及不同的பைடு நூலகம்间关系定义。 空间数据结构:不同空间数据模 型在计算机内的存储和表达方式。 空间数据组织:大量计算机化的 空间数据的统一管理方式。
GIS空间数据组织与管理
2007-04
胡 嘉 骢
BNUEP
地 理 信 息 系 统
数据库概念
重要概念: 数据库(Database,简记为DB) DB是长期存储在计算机内、有组织的、统一管理的相关数据的集合。DB 能为各种用户共享,具有较小冗余度、数据间联系紧密而又有较高的数 据独立性等特点。 数据库管理系统(Database Management System,简记为DBMS) DBMS是位于用户与操作系统(OS)之间的一层数据管理软件,它为用户 或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据 控制。它能够科学地组织和存储数据、高效地获取和维护数据。 用户 类型: 层次型 DBMS 网状型 OS 关系型 DB 面向对象型、网络型等
根节点 子节点
9
GIS空间数据组织与管理
2007-04
胡 嘉 骢
BNUEP
地 理 信 息 系 统
空间数据库模型
GIS中的层次模型: Coverage a1 p1 a3 p3 Coverage
Arc记录 Coverage记录
arcgis创建拓扑步骤英文版
![arcgis创建拓扑步骤英文版](https://img.taocdn.com/s3/m/02b87307b207e87101f69e3143323968011cf48d.png)
arcgis创建拓扑步骤英文版摘要:1.引言2.ArcGIS 简介3.创建拓扑的步骤4.总结正文:1.引言ArcGIS 是一款由Esri 公司开发的地理信息系统(GIS)软件,广泛应用于地理信息数据的处理、分析和管理。
在GIS 领域,拓扑关系是一种空间关系,用于描述地理要素之间的相互连接和关联。
借助ArcGIS,用户可以轻松地创建和管理拓扑关系。
本文将介绍如何使用ArcGIS 创建拓扑关系的具体步骤。
2.ArcGIS 简介ArcGIS 具有丰富的地理信息处理和分析功能,包括数据采集、编辑、管理、分析和可视化等。
它是一款强大的空间数据处理平台,可以支持多种数据格式和空间数据标准。
在我国,ArcGIS 被广泛应用于城市规划、环境保护、资源管理、国土监测等领域。
3.创建拓扑的步骤在ArcGIS 中创建拓扑关系主要分为以下几个步骤:(1) 准备数据:首先需要收集和整理要建立拓扑关系的地理要素数据。
这些数据通常包括点、线或多边形等地理要素。
(2) 创建拓扑关系:在ArcGIS 中,可以使用“Topology”工具箱中的“Create Topology”工具创建拓扑关系。
这个工具允许用户定义点、线或多边形要素之间的拓扑关系,如相邻、连接、共享边界等。
(3) 检查拓扑关系:创建拓扑关系后,需要检查拓扑关系的正确性。
可以使用“Topology”工具箱中的“Validate Topology”工具进行检查。
如果发现拓扑关系存在错误,可以通过编辑拓扑要素或修改拓扑关系规则来修复。
(4) 保存拓扑关系:在完成拓扑关系的创建和检查后,可以将其保存为图层或要素集,以便在后续的分析和管理中使用。
4.总结本文详细介绍了如何使用ArcGIS 创建拓扑关系的步骤。
GIS拓扑关系建立
![GIS拓扑关系建立](https://img.taocdn.com/s3/m/ba7db2227375a417866f8f5f.png)
11
步骤
• (5)查找拓扑错误 • 1 打开ArcMap,加载数据(新创建的数据 集,Blocks,Parcels) • 2 图中现实拓扑错误区域 • 3 将Parcels图层设置为编辑状态,加载拓 扑工具栏,选中新建要素为拓扑编辑图层 • 4 单击拓扑工具栏,检测错误,打开Error Inspector对话框,单击Search Now检查 错误
Hale Waihona Puke 910步骤
• (4)创建拓扑 • 1 ArcCatalog中,右键要素数据集,选择New,选择拓 扑,打开拓扑向导 • 2 输入名字和聚类容限 • 3 选择要素对话框,选中要素类 • 4 设置拓扑等级数目对话框,设置为1 • 5 设置拓扑规则对话框,单击Add Rule,在Featues of feature class选中Pracels的Non-Residential,Ruels选 Must Not Overlap With,Feature Class找选中 Blocks 的Residential,表示Parcels的非居民区与Blocks的居民 区不能重叠 • 6 打开参数信息框,检查无误,单击完成,建立拓扑成功 • 7 拓扑检验询问
6
步骤
• (1)创建Geodatabase • 1 ArcCatalog中,新建目录创建新 Geodatabase • 2 创建要素数据集New Features Dataset • 3 单击Edit-Spatial Reference-Import建立 匹配的坐标系统,选择Blocks和Parcels数 据,定义坐标系统 Xi’an80
GIS原理
GIS拓扑关系建立
资源与环境学院 林承达 linchengda@
1
实验背景
ArcGIS拓扑关系的建立
![ArcGIS拓扑关系的建立](https://img.taocdn.com/s3/m/a83b0fb91a37f111f1855b52.png)
Coverage数据格式
ARCGIS数据类型
• Shapefile 是
Arcview3.x的原生数据 格式。基于文件的存 储,不能存储拓扑关 系。
Shapefile数据格式
ARCGIS数据类型
• Geodatabase 是
建立拓扑关系的过程
• 假如是对shapefile数据进
行拓扑关系的建立,则先 建立地理数据库,因为 shapefile数据不能存储拓 扑关系。(注意使用同一 个空间参考) 使用ArcCatalog工具 首先创建一个要素集,然 后要创建要素类或将其它 数据作为要素类导入到该 要素集下。
创建要素集
• •
线拓扑规则
• 二、线拓扑规则 • 规则一:Must not overlap,在同一层要素类中(同一层之间的关 •
系),线与线不能相互重叠,修正的办法是将不需要的线段截断,再 删除。 规则二:Must not intersect,同一层要素中,线与线不能重叠和相交 (同一层之间的关系)。修正方法:重合处合并,相交处打断。 规则三:Must be covered by feature class of,同一层中某个要素类 中的线段必须被另一要素类中的线段覆盖(同一层之间的关系)。修 正方法:将错误线段删除,再重新输入正确的。 规则四:Must not overlap with,两个线要素类中的线段不能重叠。 (不同图层中线对线的关系) 规则五:Must be covered by boundary of,线要素必须被多边形要素 的边界覆盖(线与多边形之间的拓扑关系)。修正方法:删除错误的 线,或编辑多边形。 规则六:Must not have dangles,不允许线要素有悬结点,即每一条 线段的端点都不能孤立,必须和本要素中其他要素或和自身相接触 (同一线层之间的拓扑关系)。修正方法:将有悬点的线段延伸到其 他要素上,或者将长出的部分截断后删除。
ArcGIS中拓扑关系的建立
![ArcGIS中拓扑关系的建立](https://img.taocdn.com/s3/m/1759bd0b580102020740be1e650e52ea5518ce95.png)
ArcGIS中拓扑关系的建立ArcEngine中拓扑的使用空间拓扑描述的是自然界地理对象的空间位置关系-相邻,重合,连通等,是地理对象空间属性的一部分.目前ESRI提供的数据存储方式中,Coverage和GeoDatabase能够建立拓扑,Shape格式的数据不能建立拓扑.1. GeoDataBase建立拓扑的基础1).GeoDatabase实现拓扑的基础是”几何重合”,Geodatabase 中的地理对象都是实体存储,主要是根据节点坐标是否重合来判断地理要素之间是否存在某种拓扑关系2).拓扑只能在要素集(FeatureDataset)中创建,参加创建拓扑的所有要素类(FeatureClass)必须具有相同的空间参考3).参与拓扑创建的必须是简单要素类,注记类(Annoca),尺寸和几何网络要素类不能参与拓扑的创建4)单个要素集可以创建多个拓扑2. GeoDatabase拓扑中的重要概念1).规则:表达要素之间的空间关系,ESRI提供了27中拓扑关系(见后面附表)2).拓扑容限.决定在多大范围内要素能够被捕捉在一起(也称为聚类容限(cluster tolerance))3).拓扑等级控制在拓扑验证的过程中节点移动的级别.这时候,等级低的要素类将向等级高的要素类移动,最高级别为1,最低级别为-504).脏区(dirty area):脏区就是参与拓扑创建时被修改的地理要素(增,删,改)的区域5).错误要素(Error Feature):只要素类中不符合拓扑规则的要素或者要素的一部分3. 使用拓扑的详细步骤及代码1).创建拓扑ITopology是一个不可创建类,创建拓扑需通过调用ITopologyContainer:CreateTopology方法来建立拓扑,拓扑的规则要用IT opologyRule接口来表达,必须加到IT opologyRuleContainer中.public void CreateTopology(IFeatureDataset featuredataset, string topologyName,esriTopologyRuleType rulename,double clusterT olerance,int classID) {try{ITopologyContainer topologyContainer = (ITopologyContainer)featureDataset;ITopology topology=topologyContainer.CreateT opology(topologyName, clusterT olerance, -1, "");IFeatureClassContainer featureclassContainer = (IFeatureClassContainer)featureDataset;ITopologyRuleContainer topologyRuleContainer = (ITopologyRuleContainer)topology;ITopologyRule topologyRule = new T opologyRuleClass();topologyRule.TopologyRuleType = rulename;topologyRule.OriginClassID = classID;if (topologyRuleContainer.get_CanAddRule(topologyRule)) {topologyRuleContainer.AddRule(topologyRule);}}catch (COMException ex){MessageBox.Show(ex.Message);}}2).验证拓扑通过调用ITopology:ValidateTopology 方法来验证指定区域内的拓扑,没有版本的拓扑可以在任何时候验证,指定版本的拓扑必须在编辑会话中验证例如验证整个区域的拓扑的代码片段,假设已经存在创建好的拓扑ITopology topoIGeoDataset geodataset=(IGeoDataset) topo;topo. ValidateTopology(geodataset. Extent.Envelope);3).编辑拓扑拓扑编辑的两个重要方面就是:共享点和共享边的编辑采用的主要接口: ITopologyGraph, ITopologyNode, ITopologyEdge, IDisplayFeedback ITopologyLayer以移动共享点为例一、打开拓扑,建立拓扑图(ITopologyGraph)//topoLayer 是一个打开的拓扑图层ITopologyGraph topoGraph =topoLayer.Topology.Cache;topoGraph.Build(extent,false);//extent是数据集的区域二、.使用HitTest方法取得要移动的点(IT opologyElement对象)ITopologyElement node;topoGraph.HitT est(….,ref node);如果HitT est方法返回一个True,反之返回一个False三、使用IMovePointFeedback在鼠标移动时,移动点四、.鼠标释放时//获取拓扑图ITopologyGraph topoGraph =topoLayer.Topology.Cache;//转换坐标IPointpoint=mapcontrol.ActiveView.ScreenDisplay.DisplayTransfor mation.ToMapPoint(X,Y);//获得正在做拓扑编辑的元素ITopologyNode topoNode=(ITopologyNode)topoElement;//移动的IT opologyElement 对象//实施拓扑编辑topoGraph.SplitMoveNode(topoNode, poin,false);//提交拓扑编辑结果IEnvelope envelope;topoGraph.Post(out envelope);4).查询系统中的拓扑将ITopologyContainer这个接口转换为IFeatureDataset接口,然后查询即可4. 参考资料1. 探讨GIS中拓扑实现的原理刑超等ESRI中国通讯22期2. ArcEngine9.0的开发帮助3. ESRI中国社区附图-ESRI的拓扑规则esriTRTAny 任何拓扑规则. 查询拓扑的时候用esriTRTFeatureLargerThanClusterT olerance 地理要素小于聚类容限被删除esriTRTAreaNoGaps 面是封闭的esriTRTAreaNoOverlap 面不相交esriTRTAreaCoveredByAreaClass The rule is an area covered byarea class rule. esriTRTAreaAreaCoverEachOther 两个区域完全重合esriTRTAreaCoveredByArea 一个区域被另一个区域覆盖esriTRTAreaNoOverlapArea 一个面没有相交的面esriTRTLineCoveredByAreaBoundary 线被区域的边线覆盖esriTRTPointCoveredByAreaBoundary 点在面的边界上esriTRTPointProperlyInsideArea 点完全在面内esriTRTLineNoOverlap 无重合的线esriTRTLineNoIntersection 无相交的线esriTRTLineNoDangles 无摇摆的线esriTRTLineNoPseudos 线不存在伪节点esriTRTLineCoveredByLineClass The rule is a line covered by lineclass rule. esriTRTLineNoOverlapLine The rule is a line-nooverlap linerule.esriTRTPointCoveredByLine 点被线覆盖esriTRTPointCoveredByLineEndpoint 点被线的尾节点覆盖esriTRTAreaBoundaryCoveredByLine 一个面的边界被线覆盖esriTRTAreaBoundaryCoveredByAreaBound ary一个面的边界被另一个面的边界覆盖esriTRTLineNoSelfOverlap 不存在自重合的线esriTRTLineNoSelfIntersect 不存在自相交的线esriTRTLineNoIntersectOrInteriorTouch The rule is a line-no intersect orinterior touch rule.esriTRTLineEndpointCoveredByPoint 线的尾节点被点覆盖esriTRTAreaContainPoint 面包含点esriTRTLineNoMultipart The rule is a line cannot bemultipart rule.二、Arcgis中topolopy说明:在arcgis中有关topolopy操作,,有两个地方,一个是在arccatalog中,一个是在arcmap 中。
利用ArcGIS做矢量化、拓补、实验报告
![利用ArcGIS做矢量化、拓补、实验报告](https://img.taocdn.com/s3/m/2612c6a7284ac850ad0242d9.png)
重庆交通大学学生实验报告实验课程名称地理信息系统原理及应用开课实验室国土与信息实验室学院2009 年级测绘工程专业一班学生姓名陈富林学号09210104开课时间2011 至2012 学年第 2 学期实验一ARCGIS的认识一、实验目的1.掌握ArcMap、ArcCatalog、ArcToolbox的基本功能及操作。
2.掌握ArcMap进行矢量化的过程。
二、实验要求1.熟悉ArcMap、ArcCatalog、ArcToolbox的一些基本操作。
2.能在ArcCatalog中进行shape文件的创建。
3.掌握在ArcMap中对栅格数据进行矢量化的方法。
三、实验步骤:1、打开ArcMap,在ArcMap中点击ArcCatalog,并在其中建立三个shape文件,分别命名为town(点)、road(线)、country(面)。
Scan01.tif图片文件2、把建立的三个文件在ArcMap添加进去,在编辑菜单中点击开始编辑,在task中选择create new feature,在target中选择town。
并在Scan01.tif图片文件分别对每个点进行矢量化3、所有的点矢量化完了之后,在task中选择create new feature,在target中选择road,对线进行矢量化,两条不相交的线(立交线)要一线画过去。
4、然后在task中选择auto—complete polygon,在target中选择country。
在图片中选择一个多边形进行矢量化,在矢量化完一个多边形后,再矢量化另一个相邻的多边形,在存在公共边的时候,要捕捉到公共边的起点与端点,然后自动完成多边形。
5、按照第四步的方法,把所有的多边形矢量化。
四、实验成果:实验二拓扑编辑一、实验目的1.掌握点、线、面的拓扑编辑功能。
2.掌握拓扑检查的基本操作。
3.掌握对拓扑错误进行修改的方法。
二、实验要求1.熟练在ArcMap中将面生产线、将线生产面的操作。
ArcGIS中建立拓扑方法
![ArcGIS中建立拓扑方法](https://img.taocdn.com/s3/m/ffbfe3986429647d27284b73f242336c1eb93097.png)
ArcGIS中建⽴拓扑⽅法创建拓扑的流程图1.创建Gedatabase在ArcCatalog树中,右键单击Result(新建的⼀个⽂件夹)⽂件夹,单击New,输⼊所建的Geodatabase名称NewGeodatabase,在新建的Geodatabase上右键选择New中的Features Dataset,创建要素数据集。
在打开的新要素数据集对话框中,将数据集命名为Topology,单击Edit按钮,打开Spatial Reference属性对话框,单击Import按钮,为新建的数据集匹配坐标系统,选择Block.shp(已存在的shapefile⽂件),单击Add按钮,返回Spatial Reference属性对话框,这时要素数据集定义了坐标系统。
2.向数据集中导⼊数据在ArcCatalog树中,右键单击Result⽂件夹中的Topology数据集,单击Import,选择Feature Class(Multiple)。
在打开的Feature Class to Geodatabase(Multiple)对话框中,导⼊Block.shp,对居民地的地块建⽴拓扑。
3.在要素类中建⽴⼦类型在创建地块的拓扑关系之前,需要把要素分为居民区和⾮居民区两个⼦类型,即把两个要素类的Res属性段分为Residential和Non-Residential两个属性代码值域,分别代表居民区和⾮居民区两个⼦类型。
打开Blocks要素类的属性表,单击Subtypes选项卡。
在Subtypes Field下拉框中选择⼀个⼦类型:Res,在Subtypes栏的Code列下输⼊新的⼦类型代码及其描述,描述将⾃动更新Default Subtyoes窗⼝的内容。
4.创建拓扑(1)在ArcCatalog树中,右键单击Topology要素数据集,选择Topology,打开New Topology对话框,设置名称和聚类容限(Cluster Tolerance)(聚类容限应该根据数据精度⽽尽量⼩,它决定着在多⼤范围内要素能被捕捉到⼀起),在下⼀步参与创建拓扑的要素类对话框中选择参与创建拓扑的要素类(⾄少两个)(本例中Parcels.shp已建⽴⼦类型)。
如何进行地理空间数据的模型建立与分析
![如何进行地理空间数据的模型建立与分析](https://img.taocdn.com/s3/m/1736557ca22d7375a417866fb84ae45c3b35c233.png)
如何进行地理空间数据的模型建立与分析地理空间数据是指带有地理位置信息的数据,其记录了地球上不同区域的各种属性。
在如今数据驱动的社会中,地理空间数据的模型建立与分析对于城市规划、交通管理、环境保护等方面具有重要意义。
本文将介绍如何进行地理空间数据的模型建立与分析,以帮助读者更好地理解和应用这一领域的知识。
一、地理空间数据的模型建立地理空间数据的模型建立是指将真实世界的地理信息通过抽象和建模的方式转化为计算机可以处理的形式。
从数据形式上来说,地理空间数据可以分为矢量数据和栅格数据两种类型。
1. 矢量数据建模矢量数据是通过点、线、面等几何要素来表示地理对象的数据形式。
在矢量数据建模中,常用的数据模型包括欧几里得模型和拓扑模型。
欧几里得模型是一种基于空间坐标的数据模型,通过确定空间中的点、线、面的位置和相对关系来描述地理要素。
在欧几里得模型中,地理要素的属性信息和几何信息被分开存储,常用的数据格式有Shapefile和GeoJSON等。
拓扑模型是一种基于地理实体之间的拓扑关系来描述地理要素的数据模型。
在拓扑模型中,地理要素的几何信息和属性信息被统一存储,可以更好地描述地理要素之间的关系。
常用的拓扑模型有面邻接关系模型和图结构模型等。
2. 栅格数据建模栅格数据是将地理空间划分为规则的像素网格,并将地理要素的属性信息以栅格的形式进行存储。
在栅格数据建模中,常用的数据模型有格网模型和格网金字塔模型。
格网模型是一种将地理空间划分为等大小的像素网格,每个像素网格存储一个值来表示地理要素的属性信息。
格网模型适用于连续变量的表示,如高程数据和遥感影像等。
格网金字塔模型是一种将地理空间划分为多个层级的像素网格,每个层级的像素网格存储了不同分辨率的地理要素属性信息。
格网金字塔模型适用于多尺度分析,可以在不同层级上对地理要素进行分析。
二、地理空间数据的分析地理空间数据的分析是指通过空间统计、空间交互和空间模拟等方法对地理空间数据进行解释和预测的过程。
第3章 GIS空间数据模型(基于对象的矢量数据模型与栅格数据模型)
![第3章 GIS空间数据模型(基于对象的矢量数据模型与栅格数据模型)](https://img.taocdn.com/s3/m/1e89476fb84ae45c3b358c9a.png)
4 拓扑编辑过程——总步骤
1 )以弧为基本单元进行数字化,记录其坐标 值,形成坐标数据; 2 )由坐标数据提取弧和结点数据;
3 )由结点、弧及坐标数据产生表达面实体拓
扑关系的数据。
采录点序号
1
X Y 0.0 13.5 3.2 14.5
P1
A5
2 A1 1 A2
P3 P2
A3 P4
A10
2 2 2 1 2 2 2 1 3 1 1 1 1 1 1 1 8 8 1 8 1 8 8 1 8 8 8 8 1 8 8 8 2 2 2 2 2 2 2 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
一 栅格数据模型要素
点:表示为单个像元。 线:在一定方向上连接成串的相邻像 元的集合。 面:由聚集在一起的相邻像元的集合。
多边形环路法
P1
3
Ⅲ P1 Ⅰ
4
11
5
13 10 Ⅳ
x1,y1;x2,y2; x3,y3;x4,y4; x5,y5;x6,y6;
2
1
Ⅱ 6
12
P3 Ⅴ 15 8
14
9
P2
x7,y7;x8,y8; x9,y9;x10,y10; x11,y11;x5,y5;x6,y6
P2
7
P3
x12,y12;x13,y13;x14,y14;x15,y15
之间关系的过程,找出每个多边形由哪些弧所组成。
1)引出弧/引入弧;
一条“引入弧”进入一个结点时,其余的弧都与
“引入弧”构成一个夹角,可以选择与“引入弧”
构成的最大顺时针夹角所相应的弧作为“引出弧”。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
面向对象的三维矢量GIS数据模型及拓扑关系的建立孙敏①唐小明②赵仁亮①(①中南工业大学资环建院410083)(②中国林业科学院资源信息所100091)【摘要】本文针对三维GIS拓扑空间关系的复杂性,提出了以表为基本单元的面向对象的数据模型,这种数据模型能表达网状的空间拓扑关系,较直观地反映了三维GIS中复杂的空间拓扑关系。
文中还对这种结构的拓扑关系和空间数据库的动态建立作了说明。
一、引言到目前为止,三维GIS一直处于理论研究阶段,虽然有三维GIS系统问世,但其功能远远不能满足人们分析问题的需要,原因主要是三维GIS理论不成熟,其拓扑关系模型一直没有解决,另外三维基础上的数据量十分大,很难建立一个有效的,易于编程实现的三维模型。
采用什么样的数据模型对GIS空间拓扑关系的建立以及空间分析与操作至关重要。
随着在许多行业诸如煤炭、地质、石油、矿山、城市地下管网、城市空间规划等对三维GIS的需求日益迫切,三维GIS数据模型理论近来受到许多学者的关注,在八叉树与三维边界表示法基础上提出了如基于八叉树与TIN的混合结构[1]、八叉树与TEN的混合结构[2]、面向对象的矢量与栅格一体化结构[3]以及其他结构[4],尽管这些结构在理论上有很大的进展,但实现较困难,也难以与已有的二维GIS兼容。
基于八叉树结构的缺点在于指针占用存贮空间大,重编码费时长且精度低,不宜于表示线面对象。
而三维GIS中的矢量与栅格一体化在目前实现有相当的困难,且目前所提出的模型的可行性有待检验。
三维GIS要比二维GIS 复杂得多,如果GIS中拓扑空间基本元素分为点、线、面,那么在二维空间的GIS中,GIS的主要元素点、线、面同处于一个平面上,点的第三维坐标(高程)作为一个属性值输入,且一个面的描述只用其周边即可确定。
而在三维GIS中,面元素不再只是平面,而可能是极不规则的空间曲面。
描述一个面元素不能再只用其边线。
面的生成与描述要用较复杂的方法,如用TIN、TEN或分块Bezier曲面、分块B样条曲面合成的方法(后两种算法适合于大面积较规则的曲面)。
因而一个能直观、全面、清晰地表达三维GIS中复杂的拓扑关系,并能简捷地完成三维GIS空间数据分析和操作的数据模型成了人们研究探讨的核心。
这里笔者针对三维GIS拓扑空间的复杂性,提出一种面向对象的三维GIS空间矢量网状数据模型,它以链表作为基本结构,把点、线、面、体看作是三维GIS 的基本元素,以每个元素为对象设计数据结构。
这种结构由面向对象的二维GIS发展而来,符合人们处理GIS基本元素对象的习惯,能较直观自然地表达三维GIS中各个对象间的拓扑关系,由面向对象的二维GIS 系统向面向对象的三维GIS过渡也较易实现。
二、面向对象三维矢量GIS数据结构按面向对象程序设计的风格,对每一个基本元素定义一个类,拓扑关系包含在类的成员变量及成员函数中。
这样程序设计中只针对每个元素,运用其成员变量,编写其成员函数,程序通过调用其成员函数即可实现拓扑关系的自动建立。
用Visual C++可写出三维矢量GIS数据模型如下:class CBasePoint //定义A基础点元素类{struct point{ float x;//X坐标浮点型32位float y;//Y坐标浮点型32位float z;//Z坐标浮点型32位element;//定义点类的坐标结构}point-……其他成员变量及成员函数。
};class CorPoint:CBasePoint //定义坐标点元素类,由基础点元素派生{poly;//定义一个面元素变量标识该点的归属,用来Cpoly m-在输入点后生成面……其他成员变量及成员函数。
};class CnodPoint:CBasePoint //定义结点元素类,由基础点元素派生{lines;// 定义一个线表用来管理以该点为结点LINELIST m-的线元素……其他成员变量及成员函数。
};class CBaseLine // 定义基础线元素类{points;//定义一个表结构用来管理构成线元素的POINTLIST m-所有点元素。
POINTLIST mnodPoints;//定义一个表结构用来管理该线元素-的结点;……其他成员变量及成员函数。
};class CnodLine: CBaseLine //定义结线元素类,由基础线类派生{poly;//定义一个表结构用来管理以该线作为邻边POLYLIST m-的面元素。
……其他成员变量及成员函数。
};class Cpoly ///定义面元素类{LINELIST mlineList;//定义一个表结构用来管理构成该面元素-的所有线元素。
LINELIST mlineList2;//定义一个表结构用来管理该面元素的所-有边线元素。
nodLineList;//定义一个表结构用来管理该面元素的LINELIST m-所有结线。
POINTLIST mpointList;//定义一个表结构管理用来生成该面元-素的所有点元素。
forms;//定义一个表结构用来管理以该面元素为邻面FORMLIST m-的体。
……其他成员变量及成员函数。
};class Cform ///定义体元素类{POLYLIST mpolyList;//定义一个表结构用来管理构成该形体的-所有面元素。
nodPolyList;//定义一个表结构用来管理该形体的所POLYLIST m-有公用面元素。
WeightPoint; //定义一个树形结构用来管理不均匀TREELIST m-体中的插值点;……其他成员变量及成员函数。
};以上表结构用来保存指针,通过表结构中的这种指针来表达空间拓扑关系。
从上面的定义可以看出,每个基本元素类中包含了构成它的基本元素,也包含了由它构成的更高一级的元素。
很显然上面所描述的是一个具有网状关系的数据模型,如图1所示。
图 1“构成”是指上一级元素由下一级元素组成,“结线”是指多个面以此线为公共交线,“公共面”是指相邻两个体元素以此面作为公用面。
“按算法生成”是指在许多情况下,一个曲面由输入的线生成比较困难,而由点如用TEN(四面体格网)进行构造生成一个曲面。
“插值”是对不均匀体按已有点进行插值用来表达不均匀体的空间特性,这些点按相邻关系连接组成一个空间树形。
三、拓扑关系的构造及生成原理上面所给出的数据结构中,反映出的基本拓扑关系如下:点线关系(点为线结点,线由点构成);点面关系(面由点通过算法生成,面包含点);线面关系(面由线拟合生成,线为面的结线);面体关系(体由面构成,面为多体公用面)。
隐含的关系有:线与线关系(多线共用结点——相交);面与面关系(多面共用结线——相交);体与体关系(多体相邻或包含)。
这些关系基本上能全面反映已有的空间拓扑关系,由于以点、线、面、体基本对象构建,故适合于面向对象的空间操作与分析。
按上面数据模型有如下拓扑关系自动构建过程,(以输入数据为例,基本元素通过指针操作而非普通变量):到目前为止按矢量的方式,人们输图时是以点为基本元素输入的,因而在建立拓扑关系之前,已有的基本元素只有点,所以拓扑关系的自动建立由点元素开始(在这里仍然沿用图层的概念,同一类元素看作一层,并以层来管理同一类元素)。
1.点的输入每输入一个点,如属于某个面,按坐标点类处理并在其关系表中加入特征值或编码值,也可以是预先给定的面的编号,如属于某条线则进行线的生成。
2.线的生成加入一个新点,将此点加入到线的点表中,起点和终点作为结点加入到线的结点表中。
3.线线关系的建立每生成一个新线,与已有的所有可能相交的线进行求交计算:交点作为结点加入到有关线的结点表中,新线也加入到有关结点类元素的线表中。
4.面的生成对于规则的面(如平面)按二维处理。
对于不规则的面,由一系列点按一定算法生成(用分块B样条曲面合成法或分块Bezier曲面合成法,也可以用多曲线拟合法(适于直接由二维GIS中已有的等值线构造曲面)),生成后的曲面再进行填充、光照效果等处理后即可用来较真实地反映三维GIS中曲面实体。
5. 线面关系的建立显然通过面的生成,如果线在一个面内,线面关系已经存在;当一条线不属于某一个面时则要进行线面关系的处理。
经过复杂的计算可以确立如相交、相离等关系。
对这种复杂关系使用相应的成员函数动态地建立相应的关系表(对已有的拓扑关系进行进一步完善)。
6.面面关系的建立确立面面关系,主要是进行面面求交计算,得到新面与结线。
在结线的面表中加入有关面元,在面元的结线表中加入有关线,这样进一步确立了线面关系,也得到了面面关系。
7. 体的生成类似于二维中面的生成,按算法搜索闭合空间即构成一个体元。
体元生成后体与面的关系也已经存在。
这时可以进行体与体之间的拓扑关系(如包含关系)的生成。
这里体的搜索按空体进行,对于实体用填充方法由空体得到。
四、空间数据库的建立上面给出的结构似乎存在大量数据冗余,但实际上数据的存贮几乎不存在冗余。
这是由图2所给出的存贮过程决定的(以一个体元的存贮过程为例说明)。
很明显,这里建立的是一个网络数据库,一般网络数据库模型是用连接指令或指针来确定数据间的显式连接关系的,因而数据间关系复杂时指针部分会占大量存贮空间。
这是网状数据库的最大缺点。
在本结构中在数据量不大时将32位指针以16位整数编号代替,可得到改善。
事实上在关系数据库中,关系表中都要建立记图 2录号,许多时候还要人为地加以编号,同样占用大量的存贮空间,另外关系表本身难以表达完整的拓扑空间关系。
在进行空间查询时,在网状数据库中可以不进行操作运算,其存贮结构可以使查找从任一元素节点开始,存在唯一路径,并以另一元素节点结束。
图3为调查某林地地下水测得的含水层位置图,由三个体元构成。
按本文提出模型有表1、表2所示的存贮关系(限于篇幅不列出线元素及点元素)。
图 3表1 体元素地表体(1) 含水体(2) 岩层体(3)组成面公用面组成面公用面组成面公用面1 4 56 7 2 22 8 910 11 3 2 33 12 1314 15 16 3表2 面元素不规则面编号或指针组成线组成点邻体结线规则面编号或指针组成线组成点邻体结线规则面编号或指针组成线组成点邻体结线ABCD 1 ABxs 4 skpt 11 BCmx 5 tpFE 12sxmk 2 12DCmk 6 PnGF 13ADks 7 ynG 14tynp 3 23sxty 8 tyE 15xmny 9 EFG 16kmnp 10 17五、结束语本文提出的数据模型可以清楚地描述三维GIS复杂的空间拓扑关系,该模型不再对三维GIS中的元素进行维数划分,而以其类型划分。
在拓扑关系建立中均匀实体看作空体处理,不均匀实体看作是空体的填充,并以一个点树来表达其不均匀性,这一点沿用二维GIS中多边形填充的思想。