数据源(Datasource)是用来存储各种类型的数据集(如点、线、面类型数据,TIN、GRID、Network等)的集合。一个数据源可包含一个或多个不同类型的数据集,这些数据集可以是矢量数据集,也可以是栅格数据集。所有的数据都是存储于数据源而非是工作空间中。数据源的物理存储既可以是文件方式的,也可以是数据库方式的,区别不同的存储方式主要在于采用的数据引擎类型。
SuperMap SDX+是SuperMap GIS平台中的空间数据库引擎,为SuperMap GIS中的所有产品提供访问空间数据的能力,通过SuperMap SDX+ 来实现对空间数据的存储、索引、读取和更新。支持的数据引擎包括:数据库引擎、文件引擎、Web引擎。
支持打开和新建多种数据源类型,分为文件型数据源、数据库型数据源和Web数据源,分别对应着文件引擎、数据库引擎和Web引擎。除此之外,应用程序中提供的内存数据源也采用文件引擎,是一种临时数据源。不同数据引擎支持的数据集类型也不相同,详细的数据集支持类型请参考SDX+支持的数据集类型介绍。
文件型数据源
将空间数据和属性数据直接存储到文件中,支持UDB和UDBX类型的文件型数据源。
在小数据量情况下使用文件型数据源地图的显示更快,且数据迁移方便。
文件型数据源支持的文件引擎包含有四类:SuperMap自定义的UDB引擎(可读写)、UDBX引擎(可读写)、影像插件引擎(直接访问一些影像数据)和矢量文件引擎(直接访问外部矢量文件)。
- UDB 引擎,是 SuperMap Objects 自定义格式的文件型空间数据引擎。这种引擎采用传统的文件+数据库混合存储方式。UDB 引擎的一个数据工程包括两个文件:扩展名为 UDB 的文件采用 OLE 复合文档技术,存储空间数据;扩展名为UDD的文件采用 Access 的 MDB 数据库格式,存储属性数据。UDB 文件采用的复合文档技术提供了在一个 UDB 工程中存储多个数据集的能力。这一点与 ArcInfo Coverage、MapInfo Table 文件等技术不同。UDB 主要面向中、小型系统和桌面应用,旨在提高效率、弥补纯数据库引擎在这方面的不足。
- UDBX 引擎,可以读写和管理 Spatialite 空间数据。Spatialite 是一个用来扩展 SQLite 的内核的开源库,提供了一个完整而强大的空间数据库管理系统,具有跨平台和轻量级的特点,而且支持完全成熟的空间 SQL 功能。此外,Spatialite 使用 R-Tree 作为空间索引,实现高效检索空间数据。SuperMap 新增的 UDBX 文件引擎,充分利用 Spatialite 对空间数据高效管理的能力以及轻量级数据库的特点。
- 使用 UDBX 文件引擎无需安装和部署数据库系统,由于 Spatialite 数据库简单地对应单个文件,文件大小没有限制,所以使用 UDBX 文件引擎创建数据源时,将创建一个 UDBX 文件型数据源(*.udbx),其实质是一个数据库文件,它比已有的 UDB 文件型数据源具有更加开放、数据操作更加安全稳定的特点。
- 在 UDBX 文件型数据源中可以创建数据集,或者导入其他来源的数据。UDBX 文件型数据源支持的数据集类型包括:点、线、面、文本、CAD、属性表、三维点/线/面、EPS复合点/线/面/文本、栅格、影像、镶嵌数据集。
- 此外,UDBX 文件引擎具有更加开放的特点,支持直接操作第三方导入到 Spatialite 空间数据数据库中的空间数据,如显示,数据编辑。应用时,只需将 Spatialite 空间数据库文件(*.sqlite)作为文件型数据源加载到桌面软件即可。
- 影像插件引擎,支持栅格类型的数据在 SuperMap 中只读显示,目前支持格式为 bmp,jpeg,raw,tiff,sci,sit 和 ERDAS IMAGINE 的栅格数据类型(BMP,JPEG 为通用的栅格数据类型,raw,tiff 为遥感影像数据类型,sci 为 SuperMap 定义的地图预缓存图片文件,sit 为 SuperMap 定义的栅格数据类型)。故插件引擎共有以下7 种类型:bmp 只读引擎,jpg 只读引擎,raw 只读引擎,tiff 只读引擎,sci 只读引擎,sit 只读引擎和 erdas imagine 只读引擎。
- 矢量文件引擎,针对通用矢量格式如 shp,tab,dwg 等,支持矢量文件的编辑和保存。
文件型数据源引擎类型 | |
类型 | 描述 |
UDB | 跨平台文件引擎类型,针对 UDB 数据源。 |
UDBX | UDBX 文件引擎,可以读写以及管理 Spatialite 空间数据,针对 UDBX 数据源,支持的数据集类型包括:点、线、面、文本、CAD、属性表、三维点/线/面、EPS复合点/线/面/文本、栅格、影像、镶嵌数据集。 |
ImagePlugins | 影像只读引擎类型,针对通用影像格式如 bmp,jpg,tiff,以及超图自定义的影像格式 sit等。 |
矢量文件 | 矢量文件引擎类,针对通用矢量格式如 shp,tab,dwg等,支持矢量文件的编辑和保存。 |
数据库型数据源
将空间数据的空间几何信息和属性信息都存储在数据库中,提供SQLPlus、Oracle Plus、Oracle Spatial、PostgreSQL、PostGIS、Yukon、MySQL、POLARDBGanos、GaussDB 200、DMPlus、KingBase、HighGoDB、SHENTONG和Vastbase等十余种数据库型数据源功能。一般用于数据量较大的数据存储,便于数据的管理和访问。支持并发操作便于修改和数据同步。用户在访问数据库时需要本地配置相关的数据库环境和客户端。
SuperMap 空间数据库以大型关系型数据库为存储容器,通过 SuperMap SDX+ 进行管理和操作,将空间数据和属性数据一体化存储到大型关系型数据库中,如Oracle、SQL Server、Sybase 和 DM3 等。如下表所示的空间数据库类型。
数据库型数据源引擎类型 | |
类型 | 描述 |
SQLPlus | SQL Server 引擎类型,针对 SQL Server 数据源。必须有客户端,环境变量配置正确。 |
OraclePlus | OraclePlus 引擎类型,针对 Oracle 数据源,必须安装客户端。 |
OracleSpatial | Oracle Spatial 引擎类型,针对 Oracle Spatial 数据源,必须安装客户端。不支持网络数据集。 |
MySQL | MySQL 引擎类型。不需要安装客户端,但远程服务端必须保证本机有访问权限。 |
PostgreSQL | PostgreSQL 引擎类型。无需安装客户端,远程服务端必须保证本机有访问权限。 |
PostGIS | PostgreSQL 的空间数据扩展 PostGIS 引擎类型。针对 PostGIS 数据源,无需安装客户端,远程服务端必须保证本机有访问权限。 |
POLARDBGanos | 阿里云自研Ganos时空引擎,提供一系列的数据类型、函数和存储过程,用于在云原生关系型分布式数据库PolarDB中对空间/时空数据进行高效的存储、索引、查询和分析计算。 |
GaussDB 200 | GaussDB 200引擎类型。针对 GaussDB 200数据源,无需安装客户端,远程服务端必须保证本机有访问权限。 |
Yukon | Yukon引擎类型。Yukon 全面支持华为生态,从华为自主操作系统、CPU 到数据库,实现完美适配。支持三维模型对象、地理实体等数据模型的扩展和应用。 |
DMPlus | DM 引擎类型。针对达梦(DM)数据源,必须安装客户端,环境变量配置正确。 |
ES | Elasticsearch是一种流行的企业级搜索引擎。有本机可访问的 Elasticsearch 服务器即可。 |
HighGoDB | HighGoDB引擎类型。无需安装客户端,远程服务端必须保证本机有访问权限。 |
KingBase | Kingbase引擎类型,针对 Kingbase 数据源,不支持多波段数据。必须有客户端。 |
SHENGTONG | PostgreSQL 的空间数据扩展SHENGTONG引擎类型。针对 SHENGTONG 数据源,无需安装客户端,远程服务端必须保证本机有访问权限。 |
VastBase | Vastbase数据库是海量数据基于开源openGauss内核开发的企业级关系型数据库。Vastbase除了具有openGauss极致的性能以外,还在原有功能基础上增加了大量Oracle兼容特性,并遵循EAL4+标准进行了大幅度的安全增强,同时整合GIS/流计算等一系列专业应用领域的企业级功能。 |
ArcSDE for Oracle | ArcSDE_Oracle引擎类型,针对ArcSDE for Oracle数据源。 |
SuperMap 支持 SDX+ 数据引擎,支持存储的数据集对象最大记录数理论值为231-1,即:2147483647条记录,超过该记录值,后续记录将无法显示。
SuperMap iObjects 支持多种数据库引擎(如下表所示),根据常用引擎需求目前可在桌面端查看到的功能入口有上述12类数据库,用户可通过修改配置文件参数的方式自定义数据库型数据源的功能入口,增加或者删除 SuperMap iObjects 已支持的各种数据库数据源。
支持通过修改配置文件参数的方式自定义数据库型数据源的功能入口,配置文件位于产品包/Configuration/文件夹中的 SuperMap.Desktop.Startup.xml 文件。配置参数编码默认显示如下:
<parameters> <engine extraEngineType="" hiddenEngineTypes="" > </parameters >
- 其中extraEngineType=""默认为空,此时数据库入口为桌面默认的数据库数据源入口,若要增加新的SuperMap iObjects 已支持的数据库,只需将数据库对应的枚举值,填入即可,例如:增加 Altibase 引擎类型,其对应的枚举值为 2004,则配置文件编码写为extraEngineType="2004"。
- 其中hiddenEngineTypes=""默认为空,若要删除数据库数据源的功能入口,只需将数据库对应的枚举值,填入即可,例如:删除OracleSpatial 引擎和SQLPlus 引擎类型,其对应的枚举值分别为 10,16,则配置文件编码写为hiddenEngineTypes="10,16"即可。
SuperMap iObjects 支持的数据源引擎类型 | |
类型 | 枚举值 |
ArcSDE for Oracle | 2081 |
DB2 | 18 |
DMPlus | 17 |
DMSpatial | 2062 |
ES | 2011 |
POLARDBGanos | 2057 |
GaussDB 100 | 2060 |
GBase | 2002 |
HighGoDB | 2023 |
HWPostgreSQL | 2056 |
KingBase | 19 |
MongoDB | 401 |
MySQL | 32 |
OraclePlus | 12 |
OracleSpatial | 10 |
PostGIS | 2012 |
PostgreSQL | 221 |
SHENTONG | 2055 |
SQLPlus | 16 |
SQLSpatial | 2013 |
Yashan | 2073 |
Yukon | 2072 |
Web 数据源
存储于网络上的某个服务器上,在使用该类型的数据源时,通过 URL 地址来获取相应的数据源。如OGC、iServerREST、MapWord、GoogleMaps、WordTerrain、OpenStreetMap、iServer DataStore、XYXZTile、中科星图、四维地球和凯立德数据源属于 Web 数据源。
Web引擎可以直接访问WFS、WMS、WCS等所提供的Web服务,这类引擎就是把网络上符合OGC标准的Web服务器,作为 SuperMap 的数据源来处理,通过它可以把网络发布的地图和数据与SuperMap的地图和数据完全结合,将WFS和WMS的应用融入到SuperMap的技术体系,拓展了SuperMap数据引擎的应用领域。Web引擎为只读引擎。
Web 型数据源引擎类型 | |
类型 | 描述 |
OGC | OGC 引擎类型,针对于 Web 数据源,目前支持的类型有 WMS,WFS,WCS 和 WMTS。 |
iServerRest | iServer Rest 服务引擎类型,基于 REST 协议发布的地图服务。 |
MapWorld-Online | SuperMap Online对接的天地图服务。 |
MapWorld | 天地图服务引擎类型,针对天地图发布的地图服务。 |
GoogleMaps | GoogleMaps 引擎类型。针对谷歌电子地图服务。 |
World Terrain | 分为基础地形图和深色地形图,是超图发布的全球晕渲图地图服务。 |
OpenStreetMaps | 又称 OSM 引擎类型,是由网络大众共同打造的免费开源的地图服务。 |
iServer DataStore | iServer DataStore是超图发布的数据服务,数据服务为GIS服务。 |
XYZTile | 是在线地图XYZ瓦片格式,可通过URL访问在线地图。 |
星图地球 | 星图地球提供矢量、影像、地形晕渲三种地图服务。 |
四维地球 | 四维地球提供的全球切片影像服务,经过统一的融合和镶嵌处理。 |
凯立德 | 凯立德能够分区域、分对象提供全国地图成品数据。 |
世纪空间影像 | 世纪空间影像提供基于互联网的影像全分辨率在线应用服务,拍摄时间以2019、2020年为主。 |
内存数据源
内存数据源中的数据都保存在内存中,为临时数据源,不支持保存。对应的数据引擎为内存引擎。一些分析的中间结果可以存储在该数据源中,有利于提高分析的效率,当得到最终数据时可从内存数据源导出为本地数据。
相关主题