geo数据库有哪些数据库类型,Geodatabse空间数据库模型的特点是什么
来源:整理 编辑:黑码技术 2024-05-25 08:24:45
本文目录一览
1,Geodatabse空间数据库模型的特点是什么
1、空间参考。Geodatabse在要素类和数据集中对空间参考信息进行了完整的定义。 2、表定义。Geodatabse空间几何数据与属性数据保存在同一个表(要素类)中。 3、拓扑规则。Geodatabse的拓扑关系管理机制在以下几个方面有明显的优势: 1) 用户可以自行定义哪些要素类将手拓扑关系规则约束。 2) 多个点、线、面要素类(层)可以同时受同一组拓扑关系规则约束。 3) 提供了大量的拓扑关系规则。 4) 用户为自己的数据可以自行指定必要的拓扑关系约束规则。 5) 拓扑关系及规则是在符合工业标准的DMBS(数据管理系统)中进行的,可以多用户并发处理。 6) 用户可以局部建立或检查拓扑关系,以提高生产率。 4、可以表达复杂的地理要素(如,河流网络、电线杆等)。
2,地理信息系统
地理信息系统(Geographic Information System或 Geo-Information system,GIS)有时又称为“地学信息系统”或“资源与环境信息系统”。它是一种特定的十分重要的空间信息系统。它是在计算机硬、软件系统支持下,对整个或部分地球表层(包括大气层)空间中的有关地理分布数据进行采集、储存、管理、运算、分析、显示和描述的技术系统。地理信息系统处理、管理的对象是多种地理空间实体数据及其关系,包括空间定位数据、图形数据、遥感图像数据、属性数据等,用于分析和处理在一定地理区域内分布的各种现象和过程,解决复杂的规划、决策和管理问题。
通过上述的分析和定义可提出GIS的如下基本概念:
1、GIS的物理外壳是计算机化的技术系统,它又由若干个相互关联的子系统构成,如数据采集子系统、数据管理子系统、数据处理和分析子系统、图像处理子系统、数据产品输出子系统等,这些子系统的优劣、结构直接影响着GIS的硬件平台、功能、效率、数据处理的方式和产品输出的类型。
2、GIS的操作对象是空间数据,即点、线、面、体这类有三维要素的地理实体。空间数据的最根本特点是每一个数据都按统一的地理坐标进行编码,实现对其定位、定性和定量的描述、这是GIS区别于其它类型信息系统的根本标志,也是其技术难点之所在。
3、GIS的技术优势在于它的数据综合、模拟与分析评价能力,可以得到常规方法或普通信息系统难以得到的重要信息,实现地理空间过程演化的模拟和预测。
4、 GIS与测绘学和地理学有着密切的关系。大地测量、工程测量、矿山测量、地籍测量、航空摄影测量和遥感技术为GIS中的空间实体提供各种不同比例尺和精度的定位数;电子速测仪、GPS全球定位技术、解析或数字摄影测量工作站、遥感图像处理系统等现代测绘技术的使用,可直接、快速和自动地获取空间目标的数字信息产品,为GIS提供丰富和更为实时的信息源,并促使GIS向更高层次发展。地理学是GIS的理论依托。
有的学者断言,“地理信息系统和信息地理学是地理科学第二次革命的主要工具和手段。如果说GIS的兴起和发展是地理科学信息革命的一把钥匙,那么,信息地理学的兴起和发展将是打开地理科学信息革命的一扇大门,必将为地理科学的发展和提高开辟一个崭新的天地”。GIS被誉为地学的第三代语言——用数字形式来描述空间实体。
编辑本段|回到顶部地理信息系统的分类 GIS按研究的范围大小可分为全球性的、区域性的和局部性的;按研究内容的不同可分为综合性的与专题性的。同级的各种专业应用系统集中起来,可以构成相应地域同级的区域综合系统。在规划、建立应用系统时应统一规划这两种系统的发展,以减小重复很费,提高数据共享程度和实用性。
3,122 ArcGIS具备哪些功能
从软件本身功能模块来看,主要包括以下几大功能。1.空间数据的编辑和管理功能空间数据的编辑和管理是地理信息系统软件的基本功能之一。ArcGIS 具有强大的数据编辑、版本管理、数据共享、企业级数据管理功能,还具有空间数据采集、空间数据库创建、拓扑关系创建与管理等功能。从基本数据管理功能上看,ArcGIS的geodatabase空间数据库可以理解为是存放在同一位置的各类型地理数据集的集合,其存放位置可以是某一文件夹(本地)、Access数据库或者是同一个多用户关系型数据库管理系统(DBMS),支持Oracle,Microsoft SQL Sever,PostgreSQL,Informix及IBM DB2。而文件地理数据库是ArcGIS中另外一种地理数据库的类型,以文件夹形式将数据集存储在计算机中。每个数据集作为一个文件进行存储,文件大小可达1TB,支持跨平台使用,还可以进行压缩和解密。文件地理数据和个人地理数据库是专为支持地理数据库的完整信息模型而设计的,包含拓扑、栅格目录、网络数据、Terrain数据集、地址定位器等。而这两种数据库都不支持版本地理数据库的版本管理。ArcSDE地理数据库是为了让多用户的地理数据库进行数据库管理,在大小和用户数量方面没有限制,如果需要在地理数据库中使用历史存档、复制数据、使用SQL访问简单数据或在不锁定的情况下同时编辑数据,可以使用ArcSDE地理数据库。同样支持Oracle,Microsoft SQL Sever,PostgreSQL,Informix及IBM DB2等主流DBMS。当然ArcGIS具有强大的基本数据编辑功能,这个功能将在下面的章节中详细介绍。对于开发者而言,ArcObjects(即AO)中的地理数据库API提供对所有类型地理数据库及其他类型的GIS数据很好地控制,提供所有从简单数据库创建、数据查询到高级数据集合的构建(网络、拓扑等)及高级的地理数据库功能,如版本管理、数据库复制等API。使用AO API,开发者不仅可以在已有的桌面产品(ArcGIS Desktop)中定制功能,还可以开发独立的应用程序。ArcSDE API提供开发者直接控制ArcSDE地理数据库的能力。2.制图表达及高级制图功能ArcGIS 平台拥有完整的地图生产体系,包括制图符号化、地图标注、制图编辑、地图输出和打印。ArcGIS 10在制图上有较多改善,这部分内容在1.3节“ArcGIS 10新功能”中详细介绍。3.地理处理功能地理处理的基础是数据变换,在ArcGIS中,Geoprocessing包含了几百个空间处理工具执行对数据集的各种操作,从而生成新的数据集。ArcGIS提供了Modelbuilder对话框以支持设计这些工具所组成的操作流程,这样就可以设计出各种模型来实现自动化工作,执行复杂问题的分析。4.空间分析等扩展模块空间分析是GIS最具特色的一部分内容,事实上空间分析属于数据地理处理的一部分。但鉴于其支持丰富复杂的操作,支持多种独立信息源的融合,ArcGIS将其作为独立的扩展模块。基于ArcToolbox和Modelbuilder可视化建模环境的空间处理框架,空间分析功能可以得到丰富多样的分析处理结果。鉴于其功能涵盖面较广,第五篇将有独立介绍该功能模块的详细内容。5.三维可视化和分析扩展模块栅格数据是GIS数据的重要来源,由卫星和航空器及其他栅格数据采集器得到。另外,数字高程模型、扫描纸质地图、专题栅格数据等也是栅格数据的重要来源。ArcGIS 可以进行影像管理、处理、发布和使用,如二三维一体化的影像显示和浏览,栅格影像数据的存储、编目、处理和分发,影像分析和动态处理,影像服务的发布及地图缓存的制作等。三维可视化和分析是目前GIS应用重要发展方向之一,也是热门技术之一。除以上介绍的基本GIS功能之外,ArcGIS还具备应用平台企业级GIS,CAD系统集成整合功能,以及目前流行的云计算技术等。本书重点介绍前5个基本功能。
4,pymongo和mongoengine的区别
Tornado 中 PyMongo Motor MongoEngine 的性能测试最近在使用 Tornado 开发 API,数据库选择了 MongoDB,因为想使用 Geo 搜索的特性。Python 可供选择的 MongoDB Drivers 可以在官网查找。在这些 Drivers 中,GitHub 上 Star 数最多的有 3 个:PyMongoMotor (适用于 Tornado 的异步 driver)MongoEngine (ORM-like Layers)Motor 和 MongoEngine 都是基于 PyMongo,Motor 的最新版是基于 PyMongo 2.8,Motor 的优势就在于异步,而 PyMongo 在 2.2 以后的版本,就开始支持 gevent。MongoEngine 借鉴了 Django 的 ORM,提供了一个 ORM-like layer,官方称作 Document-Object Mapper,可以像使用 Django 的 ORM 一样,简单的操作和处理数据。面对这么多选择,就想探究这些选择都有哪些特点,性能如何,所以有了这篇文章。你可以在这里找到所有的测试代码和测试数据从测试的结果来看,Motor 的性能确实很好,gevent 几乎没有性能提升,PyMongo 2.8 的性能很差,MongoEngine 是在 PyMongo 的基础上有封装了一层,但是两者性能相差不大。Tornado 的单线程的,同步的数据库 Driver 会将 Tornado 阻塞住,导致无法处理其他的请求。最后给出一组数据,百分比请求的最大响应时间。下面这张图,左边坐标的单位是毫秒。例如 Motor 有 50% 的请求是在 376 毫秒内完成的。PyMongo 2.8,PyMongo 2.8 + gevent,MongoEngine + PyMongo 2.8 三条线重叠在了一起,它们之间的性能相当。mongodb是一个面向文档的数据库,目前由10gen开发并维护,它的功能丰富,齐全,完全可以替代mysql。在使用mongodb做产品原型的过程中,我们总结了monogdb的一些亮点:使用json风格语法,易于掌握和理解:mongodb使用json的变种bson作为内部存储的格式和语法。针对mongodb的操作都使用json风格语法,客户端提交或接收的数据都使用json形式来展现。相对于sql来说,更加直观,容易理解和掌握。schema-less,支持嵌入子文档:mongodb是一个schema-free的文档数据库。一个数据库可以有多个collection,每个collection是documents的集合。collection和document和传统数据库的table和row并不对等。无需事先定义collection,随时可以创建。collection中可以包含具有不同schema的文档记录。这意味着,你上一条记录中的文档有3个属性,而下一条记录的文档可以有10个属性,属性的类型既可以是基本的数据类型(如数字、字符串、日期等),也可以是数组或者散列,甚至还可以是一个子文档(embeddocument)。这样,可以实现逆规范化(denormalizing)的数据模型,提高查询的速度。图1mongodb是一个schema-free的文档数据库图2是一个例子,作品和评论可以设计为一个collection,评论作为子文档内嵌在art的comments属性中,评论的回复则作为comment子文档的子文档内嵌于replies属性。按照这种设计模式,只需要按照作品id检索一次,即可获得所有相关的信息了。在mongodb中,不强调一定对数据进行normalize,很多场合都建议de-normalize,开发人员可以扔掉传统关系数据库各种范式的限制,不需要把所有的实体都映射为一个collection,只需定义最顶级的class。mongodb的文档模型可以让我们很轻松就能将自己的object映射到collection中实现存储。图2mongodb支持嵌入子文档简单易用的查询方式:mongodb中的查询让人很舒适,没有sql难记的语法,直接使用json,相当的直观。对不同的开发语言,你可以使用它最基本的数组或散列格式进行查询。配合附加的operator,mongodb支持范围查询,正则表达式查询,对子文档内属性的查询,可以取代原来大多数任务的sql查询。crud更加简单,支持in-placeupdate:只要定义一个数组,然后传递给mongodb的insert/update方法就可自动插入或更新;对于更新模式,mongodb支持一个upsert选项,即:“如果记录存在那么更新,否则插入”。mongodb的update方法还支持modifier,通过modifier可实现在服务端即时更新,省去客户端和服务端的通讯。这些modifer可以让mongodb具有和redis、memcached等kv类似的功能:较之mysql,monodb更加简单快速。
5,如何区分ShapefileCoverageGeodatabase
在过去20年中,矢量数据模型是GIS中变化最大的方面,例如,ESRI公司所开发每种新软件包都对应一种新的矢量数据模型,Arc/Info对应Coverage,ArcView对应Shapefile,ArcGIS对应Geodatabase。Coverage和Shapefile是地理关系数据模型,它利用分离的系统来存储空间数据和属性数据,而Geodatabase是基于对象数据模型,它把空间数据和属性数据存储在唯一的系统中。
Coverage是拓扑的,Shapefile是非拓扑的。
Coverage支持三种基本拓扑关系:连接性、面定义、邻接性。
Shapefile多边形对于共享边界实际上有重复弧段且可彼此重叠,不同于Coverage所用的多个文件,它用几何学性质存储两个基本文件:以.shp为扩展名的文件存储要素几何学特征;以.shx为扩展名的文件保留要素几何特征的空间索引。
Shapefile: 一种基于文件方式存储GIS数据的文件格式。至少由.shp,.dbf,.shx三个文件作成,分别存储空间,属性和前两者的关系。是GIS中比较通用的一种数据格式。
Coverage: 一种拓扑数据结构,一般的GIS原理书中都有它的原理论述。数据结构复杂,属性缺省存储在Info表中。目前ArcGIS中仍然有一些分析操作只能基于这种数据格式进行操作。
Geodatabase: ArcInfo发展到ArcGIS时候推出的一种数据格式,一种基于RDBMS存储的数据格式,其有两大类:1.Personal Geodatabse 用来存储小数据量数据,存储在Access的mdb格式中。2.ArcSDE Geodatabse 存储大型数据,存储在大型数据库中Oracle,Sql Server,DB2等。可以实现并发操作,不过需要单独的用户许可。
Coverage数据模型
Coverage是一个集合,它可以包含一个或多个要素类。在第一个商业化GIS软件Arc/INFO之前,计算计划的图形表示源自通用的CAD软件,属性信息和几何要素放在一起,不利于空间信息的描述和分析。
Coverage的优势:
(1)空间数据与属性数据关联。空间数据存储于建立了索引的二进制文件中,属性数据存放在DBMS表中,二者以公共的标识编码关联。
(2)矢量数据间的拓扑关系得以保存。
Shapefile数据模型
Shapefile是ArcView GIS 3.x的原生数据格式,属于简单要素类,用点、线、多边形存储要素的形状,却不能存储拓扑关系,具有简单、快速显示的优点。一个shapefile是由若干个文件组成的,空间信息和属性信息分离存储,所以称之为“基于文件”。每个shapefile,都至少由三个文件组成,其中:*.shp存储的是几何要素的的空间信息,也就是XY坐标。*.shx存储的是有关*.shp存储的索引信息,它记录了在*.shp中,空间数据是如何存储的,XY坐标的输入点在哪里,有多少XY坐标对等信息。*.dbf存储地理数据的属性信息的dBase表。这三个文件是一个shapefile的基本文件,shapefile还可以有其他一些文件,但所有这些文件都与该shapefile同名,并且存储在同一路径下。下面简要介绍一下其他一些较为常见文件:*.prj如果shapefile定义了坐标系统,那么它的空间参考信息将会存储在*.prj文件中;*.shp.xml这是对shapefile进行元数据浏览后生成的xml元数据文件;*.sbn和*.sbx这两个存储的是shapefile的空间索引,它能加速空间数据的读取,这两个文件是在对数据进行操作、浏览或连接后才产生的,也可以通过ArcToolbox>DataManagement Tools>Indexes>Add spatial Index工具生成。
几种常见的shapefile文件:当使用ArcCatalog对shapefile进行创建、移动、删除或重命名等操作,或使用ArcMap对shapefile进行编辑时,ArcCatalog将自动维护数据的完整性,将所有文件同步改变。所以需要使用ArcCatalog管理shapefile。虽然Shapefile无法存储拓扑关系,但它并不是普通用于显示的图形文件,作为地理数据,它自身有拓扑的。比如一个多边形要素类,shapefile会按顺时针方向为它的所有顶点排序,然后按顶点顺序两两连接成的边线向量,在向量右侧的为多边形的内部,在向量左侧的是多边形的外部。由于1990年代地理信息的迅速发展以及ArcView GIS 3.x软件在世界范围内的推广,shapefile格式的数据使用非常广泛,数据来源也较多。很多软件都提供了向shapefile转换的接口(eg:MapInfo、MapGIS等)。ArcGIS支持对shapefile的编辑操作,也支持shapefile向第三代数据模型geodatabase的转换。
Geodatabase数据模型
Geodatabase作为ArcGIS的原生数据格式,体现了很多第三代地理数据模型的优势。随着IT技术的发展,普通的事务型数据的管理模式,早已从传统的基于文件的管理转向利用基于工业标准建立的关系型数据库进行管理,这种基于数据库的管理方式的优点是不言而喻的。那么带有空间信息的地理数据是否也可以利用这种非常成熟的数据库技术进行管理呢?于是ESRI推出了geodatabase数据模型,利用数据库技术高效安全地管理我们的地理数据。
Geodatabase可以分为两种,一种是基于Microsoft Access的personal geodatabase,另一种是基于oracle、SQL Server、Informix或者DB2的enterprise geodatabase,由于它需要中间件ArcSDE进行连接,所以nterprise geodatabase又称为ArcSDE geodatabase。由于Microsoft Access自身容量的限制,personal geodatabase的容量上限为2GB,这显然不能满足企业级的海量地理数据的存储需求。于是可以将geodatabase扩展为ArcSDE geodatabase,底层数据库可以使用oracle这样的大型关系数据库,能够存储近乎“无限”的海量数据(仅受硬盘大小的限制)。虽然底层使用的数据库各不相同,但是geodatabase给用户提供的是一个一致的操作环境。在geodatabase中,不仅可以存储类似shapefile的简单要素类还可以存储类似coverage的要素集并且支持一系列的行为规则对其空间信息和属性信息进行验证表格、关联类、栅格、注记和尺寸都可以作为eodatabase对象存储。这些在perasonal geodatabase和ArcSDE geodatabase中都是一样的(栅格的存储有点小差异,但对用户来说都是一样的)。
Geodatabase的模型结构:
(1)对象类(Object class)
对象类是一种特殊的类,没有空间特征。其实例是可关联某特定行为的表记录。如,某地块的主人,在“地块”“主人”间可建立某种关系。
(2)要素类(Feature class)
要素类是同类空间要素的集合。如,河流、道路、植被、电缆等。要素类可以独立存在,也可以具有某种联系。当不同的要素类之间存在关系时,就将其组织到一个要素数据集(Feature dataset)中。
(3)要素数据集(Feature dataset)
要素数据集由一组具有相同空间参考(Spatial reference)的要素类组成。将不同要素类放入要素数据集的原因:
a.专题归类表示——当不同的要素类属于同一范畴。比如,全国范围内某种比例尺的水系数据,其点线面类型的要素类可组织成同一个要素数据集。
b.创建几何网络——在同一几何网络中充当连接点和边的各种要素类,须组织到同一要素数据集中。比如,配电网络中,有各种开关、变压器、电缆等,它们分别对应点或线类型的要素类,在配电网络建模时,我们要将其全部考虑到配电网络对应的几何网络模型中。此时这些要素类就要放在统一要素数据集下。
c.考虑平面拓扑——共享公共几何特征的要素类。比如,用地、水系、行政区界等。当移动其中一个要素时,其公共部分也要一起移动,并保持这种公共的几何关系不变。
(4)关系类(Relationship class)
定义不同要素类或对象类之间的关联关系。如我们可以定义房子和主人之间的关系、房子和地块之间的关系等。
(5)几何网络
在若干要素类的基础上建立起的新类。定义几何网络时,我们指定哪些要素类加入其中,同时指定其在几何网络中扮演什么角色。比如,定义一个供水网络,我们指定同属一个要素数据集的“阀门”、“泵站”、“接头”对应的要素类加入其中,并扮演“连接”的角色;同时,我们要指定同属一个要素数据集的“供水干管”、“供水支管”、“入户管”等对应的要素类加入供水网络,由其扮演“边”的角色。
(6)Domains
定义属性的有效范围,可是连续的,也可是离散数值。(7)Validation rules对要素类的行为和取值加以约束的规则。如不同管径的水管连接必须通过合适的接头,规定一个地块可拥有一到三个主人等。
(8)Raster datasets
用于存放栅格数据。支持海量栅格数据,支持影像镶嵌,可通过建立“金字塔”形索引,在使用时指定可视范围提高检索和显示效率。
(9)TIN Datasets
ARC/INFO的经典数据模型,用不规则分布的采样点的采样值构成不规则的三角集合。用于表达地形或其他类型的空间连续分布特征。
(10)Locators
定位参考和定位方法的组合。对于不同的参考,用不同的定位方法进行定位操作。所谓定位参考,不同的定位信息有不同的表达方法。在Geodatabase中,有四种定位信息:地址编码、<X,Y>、地名及邮编、路径定位。定位参考数据放在数据库表中,定位器根据该定位参考数据在地图上生成空间定位点。
文章TAG:
数据 数据库 哪些 类型 geo数据库有哪些数据库类型