概述
地理数据模型是对真实世界的抽象,人类和现实事物的交互是丰富多彩的,对现实世界的建模的方式因此也多种多样。
很早以前的地理数据,人们更喜欢用文件的方式存储和管理,因为轻量级,且易于编辑。当随着空间信息的深度应用,一些复杂的现实世界的模拟遇到了障碍,例如两条溪流沿山坡往下流动,当它们汇聚成一条时,其流量应该是两条溪流流量的总和。这种较为复杂的模拟,文件型的数据管理方式难以完成。于是,现在越来越多的地理信息系统厂商倾向于提供数据库形式的管理模型,使得GIS数据库中的要素更加智能化。
MapGIS平台仍旧提供基于以往版本的单文件型的数据管理,同时也提供基于数据库形式的管理模型:基于文件型的数据库模型,基于SDE的数据库模型。多种数据模型,使得MapGIS平台的数据管理具有如下优势:
- 支持单文件型的数据管理,对于只处理简单制图的用户非常高效;
- 数据库形式的管理模式,提供数据统一存储的仓库,实现中心化管理;
- 数据的输入和编辑将会更加准确,通过智能的规则验证能够减少很多编辑的错误;
- 丰富的关联环境,且要素是动态的。例如,当与要素相关的要素被移动、改变或删除的时候,用户预先定义好的关联要素也会做出相应的变化;
- 支持多用户并发编辑地理数据,例如许多用户编辑统一区域的要素,并可以协调出现的冲突;
- 建立适应海量数据存储管理的空间数据组织机制和空间索引机制。
我们将从几个方面介绍MapGIS平台的空间数据库管理:
创建地理数据库:描述如何创建全新的地理数据库;
地理数据库配置:描述如何将已有的地理数据库附加到平台中。
MapGIS空间数据库管理主要包括三种类型:本地文件型数据库、网络数据库和中间件。
- 本地文件型数据库:MapGIS文件型数据库,存储在本地磁盘空间,包括MapGISLocal(*.hdf)和MapGISLocalPlus(*.hdb)两种;
- 网络数据库:基于第三方数据库服务,构建MapGIS地理数据库;
- 中间件:通过中间件技术直接读取第三方数据库信息。
Desktop(九州)可支持 windows、Linux x86_64、Linux ARM三个环境运行,在不同环境中各类型数据库可支持情况如下所示:
类型 | 数据库 | windows | Linux x86_64 | Linux ARM |
|---|---|---|---|---|
| 本地文件型数据库 | HDF | √ | √ | √ |
| HDB | √ | √ | √ | |
| 网络数据库 | DM(达梦) | √ | √ | √ |
| DM Spatial(达梦) | √ | √ | √ | |
| GBase(南大通用) | √ | √ | √ | |
| HighGoDB(瀚高) | √ | √ | √ | |
| PolarDB | √ | √ | √ | |
| OSCAR(神州通用) | √ | √ | √ | |
| YashanDB(崖山数据库) | √ | √ | √ | |
| GaussDB100 | × | √ | √ | |
| BEYON(博阳数据库) | √ | × | × | |
| Oracle | √ | √ | √ | |
| SQLServer | √ | × | × | |
| DB2 | √ | × | × | |
| Sybase | √ | × | × | |
| MySQL | √ | √ | √ | |
| PostgreSQL | √ | √ | √ | |
| 中间件 | 跨平台ArcSDE | √ | √ | √ |
| 跨平台FileGDB | √ | √ | × | |
| 跨平台PersonalGDB | √ | × | × | |
| 跨平台PostgreSQL中间件 | √ | √ | √ |