GB/T 30320-2013 地理空间数据库访问接口

GB/T 30320-2013 Geospatial database call-level interface

国家标准 中文简体 现行 页数:43页 | 格式:PDF

基本信息

标准号
GB/T 30320-2013
相关服务
标准类型
国家标准
标准状态
现行
中国标准分类号(CCS)
国际标准分类号(ICS)
发布日期
2013-12-31
实施日期
2014-06-01
发布单位/组织
中华人民共和国国家质量监督检验检疫总局、中国国家标准化管理委员会
归口单位
全国地理信息标准化技术委员会(SAC/TC 230)
适用范围
本标准规定了地理空间数据库的数据访问对象模型及接口,对满足本标准接口的空间数据提供者的加载和卸载作出规定。
本标准适用于通过标准接口访问或共享地理空间数据库的应用,侧重于从数据使用者和数据提供者角度描述访问对象模型及接口,不适用于坐标参照系和元数据的具体内容。

发布历史

研制信息

起草单位:
北京超图软件股份有限公司、武大吉奥信息技术有限公司、武汉中地数码科技有限公司、中遥地网信息技术有限公司、北京大学遥感与地理信息系统研究所
起草人:
李绍俊、邓跃进、刘冬林、周芹、陈俊华、曾志明、陈国雄、李文龙、江志斌、高凤飞、谢林
出版信息:
页数:43页 | 字数:76 千字 | 开本: 大16开

内容描述

ICS07.040

A75

中华人民共和国国彖标准

GB/T30320—2013

地理空间数据库访问接口

Geospatialdatabasecall-levelinterface

2013-12-31发布2014-06-01实施

GB/T30320—2013

目次

前言V

1范围1

2规范性引用文件1

3术语和定义1

4符号和缩略语3

4.1符号3

4.2缩略语3

4.3UML图示符号4

4.4UML多样性描述4

5空间数据库数据访问对象逻辑关系5

5.1概述5

5.2数据源5

5.3数据集5

5.4矢量数据集5

5.5要素集6

5.6栅格数据集6

5.7空间数据模型6

6空间数据库数据访问对象描述6

6.1数据源6

6.2数据连接9

6.3数据集10

6.4数据集类型12

6.5矢量数据集13

6.6要素集15

6.7查询对象17

6.8要素20

6.9字段信息21

6.10字段信息集合24

6.11栅格数据集24

6.12波段信息25

6.13像素格式26

6.14像素27

6.15扫描线27

6.16数据块28

7元数据访问对象29

T

GB/T30320—2013

7.1元数据对象逻辑关系29

7.2元数据访问对象定义30

8空间参照系33

8.1空间参照系对象逻辑关系33

8.2空间参照系对象定义34

9数据提供者加载与卸载35

9.1概述35

9.2数据提供者管理器36

9.3数据提供者37

参考文献38

图1GDB-CLI数据访问对象UML图5

图2数据源相关对象UML图7

图3数据源对象属性和方法7

图4连接对象属性9

图5数据集相关对象UML图10

图6数据集对象属性和方法11

图7数据集类型12

图8矢量数据集相关对象UML图13

图9矢量数据集属性和方法14

图10要素集对象的方法16

图11查询对象UML图18

图12要素对象UML图21

图13字段信息对象UML图22

图14栅格数据集对象UML图24

图15波段信息对象UML图25

图16像素格式枚举对象UML图26

图17像素对象UML图27

图18扫描线对象UML图28

图19数据块对象UML图28

图20元数据对象UML图30

图21元数据库对象属性和方法31

图22元数据集对象属性和方法32

图23空间参考系对象UML图34

图24数据提供者管理器类图36

表1符号对照表3

表2缩写对照表3

表3UML图符号对照表4

表4UML图多样性描述4

表5数据集与空间对象的存储对应关系6

n

GB/T30320—2013

表6数据集类型描述12

表7查询选项枚举19

表8查询类型枚举19

表9游标类型枚举20

表10字段标记列表23

表11字段类型描述列表23

表12像素格式描述26

m

GB/T30320—2013

■ir■■i

刖吕

本标准按照GB/T1.1—2009给出的规则起草。

本标准由国家测绘地理信息局提出。

本标准由全国地理信息标准化技术委员会(SAC/TC230)归口。

本标准起草单位:北京超图软件股份有限公司、武大吉奥信息技术有限公司、武汉中地数码科技有

限公司、中遥地网信息技术有限公司、北京大学遥感与地理信息系统研究所。

本标准主要起草人:李绍俊、邓跃进、刘冬林、周芹、陈俊华、曾志明、陈国雄、李文龙、江志斌、高凤飞、

谢林"

GB/T30320—2013

地理空间数据库访问接口

1范围

本标准规定了地理空间数据库的数据访问对象模型及接口,对满足本标准接口的空间数据提供者

的加载和卸载作出规定。

本标准适用于通过标准接口访问或共享地理空间数据库的应用,侧重于从数据使用者和数据提供

者角度描述访问对象模型及接口,不适用于坐标参照系和元数据的具体内容。

2规范性引用文件

下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文

件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。

GB/T19710—2005地理信息元数据(ISO19115:2003,MOD)

ISO19111:2007地理信息基于坐标的空间参照(Geographicinformation—Spatialreferencing

bycrdinates)

ISO19125-1:2004地理信息简单要素存取第1部分:通用框架(Geographicinformation—

Simplefeatureaccess—Part1:Commonarchitecture)

3术语和定义

下列术语和定义适用于本文件。

3.1

地理空间数据库geospatialdatabase

用来存贮、管理和检索空间数据,表达空间实体的位置、形状、大小及其分布特征等方面信息的数

据库。

3.2

数据提供者dataprovider

实现了地理空间数据库访问接口以及相关的配置说明的对象。

3.3

数据提供者管理器dataprovidermanager

管理数据提供者的对象,包括对数据提供者的加载、卸载、查找等操作。

3.4

数据使用者datacustomer

调用地理空间数据库访问接口操作数据提供者的空间数据的对象。数据使用者可以使用标准的接

口访问不同数据提供者的空间数据。

3.5

要素feature

现实世界现象的抽象。

[ISO19101]

1

GB/T30320—2013

注:要索对应于数据集或要索集中的一条记录,要索实例中最多有一个几何空间对象或栅格空间对象,但可以有多

个属性值。

3.6

空间对象spatialobject

代表要素空间特征的对象。

[GB/T23707—2009]

3.7

栅格数据rasterdata

被表示成有规则的空间阵列的数据。

3.8

矢量数据vectordata

由几何元素所表示的数据。

3.9

数据集dataset

可以标识的数据集合。

[ISO19101]

注:数据集是由同种类型数据组成的数据集合,也就是一组数据对象的集合。

3.10

矢量数据集vectordataset

一组矢量数据要素(feature)的集合,具有相同的几何对象类型、相同的空间参照系和相同的字段信

息结构。

3.11

栅格数据集rasterdataset

具有长度和宽度范围的一组有规则的空间阵列数据的集合,这些阵列数据有相同的空间参照系,阵

列数据值即代表对应空间位置的属性且所有值描述的是同类属性,比如温度、高程值或其他。

3.12

数据源datasource

由数据提供者提供的各种类型的数据集(如点、线、面、影像、格网数据集)组成的数据集集合。一个

数据源可包含一个或多个不同类型的数据集;一个数据源可以对应一个数据文件或者数据库。

3.13

要素集featureset

对矢量数据集进行条件查询的结果集。查询条件可以是空间关系或者属性条件。

3.14

游标类型cursortype

标识要素集遍历数据的方式。

3.15

字段field

表示属性信息的集合。

3.16

字段信息fieldinf

字段的相关信息,如名称、类型、长度等。

3.17

坐标crdinate

用来指示N维空间中点的位置的数值序列。

2

GB/T30320—2013

:GB/T23707—2009]

3.18

坐标参照系crdinatereferencesystem

通过基准与现实世界相关的坐标系。

:IS()19111:2007]

3.19

大地坐标系geodeticcrdinatesystem

位置由大地经度和纬度及大地高程(在三维的情况下)确定的坐标系。

:IS()19111:2007]

3.20

投影坐标系projectedcrdinatesystem

由地图投影产生的二维坐标系。

:IS()19111:2007]

3.21

元数据metadata

关于数据的内容、质量、状况和其他特性的描述性数据。

[GB/T19710—2005]

4符号和缩略语

4.1符号

表1描述的符号适用于本文件。

表1符号对照表

符号含义

〜表示在符号前后对象之间取值

I表示符号前后项任选其一

口表示括号内的对象为可选

n表示数字

(•)/[,]表示在符号左端数值到右端数值的区间中任取其一,()表示开区间:□表示闭区间

4.2缩略语

表2描述的缩略语适用于本文件。

表2缩写对照表

描述符中文名称英文名称

GDB-CLI空间数据库访问接口GeospatialDatabaseCall-LevelInterface

DDL数据定义语言DataDefinitionLanguage

DML数据操纵语言DataManipulationLanguage

3

GB/T30320—2013

表2(续)

描述符中文名称英文名称

UML统一建模语言UnifiedModellingLanguage

SRID空间参照系唯一标识SpatialReferenceSystemIdentifier

UUID通用唯一识别码UniversallyUniqueIdentifier

4.3UML图示符号

本标准出现的图用UML静态结构表示,所有数据模型UML图示中符号表示的规定见表3。

表3UML图符号对照表

符号名称说明

A表示A、B两个类之间的一般关系,两个类都知道另一个类的

双向关联

—公共属性和方法

A表示A、B两个类之间的关联关系,A类知道B类的公共属性

单向关联

和方法,但B类不知道A类的公共属性和方法

ARA对象拥有B对象,A对象可以包含B对象,但B对象不是

o聚合

A对象的组成部分.二者生命周期可以不同

B

♦组合A对象拥有B对象,是整体和部分的关系,且生命周期一致

__________

A

<泛化B对象继承A对象,即B对象由A对象派生

A类依赖于B类,B类的变化将影响A类。如果A类依赖B

A

依赖类,则B可以体现为A的局部变量、方法的参数或者静态方

法的调用

4.4UML多样性描述

本标准涉及的UML图中多样性描述含义见表4。

表4UML图多样性描述

多样性意义

0..10个或1个

1只能1个

O..n0个或多个

l..n1个或多个

4

GB/T30320—2013

5空间数据库数据访问对象逻辑关系

5.1概述

GDB-CLI的空间数据库访问对象如图1所示。数据源(GDBDataSource)是各种数据集(GDB-

Dataset)的容器,统一管理所有的数据集。数据源和数据集可以关联相关的元数据(GDBMetaData),数

据集还可以具有相应的空间参照系统(GDBCrdRcferenceSys)。

01

GDBDa(»S4Xi*re

GOSDotBdel

QDRFiQdInin

图1GDB-CLI数据访问对象UML图

5.2数据源

数据源(GDBDataSource)是由各种类型的数据集(如点、线、面、影像、格网数据集)组成的数据集集

合。一个数据源可包含一个或多个相同类型的数据集,也可以同时管理多个不同类型的数据集。

5.3数据集

数据集(GDBDataset)是由相同特征的空间对象组成的数据集合。根据对空间信息的描述方式不

同而派生两大子类:矢量数据集(GDBVectorDataset)和栅格数据集(GDBRasterDataset)。

5.4矢量数据集

矢量数据集是矢量要素(GDBFeature)的聚合,每个要素可以有几何(GDBGeometry)和属性(GD-

BFieldValue)数据。

对矢量数据集的查询结果可以用要素集(GDBFeatureset)表示。

5

GB/T30320—2013

5.5要素集

要素集是要素的聚合,它是数据集中数据的一个投影或访问窗口。矢量数据集和要素集使用字段

信息集合(GDBFieldTnfos)表示属性结构信息。

矢量数据的编辑操作包括添加或修改要素的空间或属性信息、删除要素。编辑操作提供两种方式:

•要素集方式。对矢量数据集进行查询得到要素集(GDBFeatureset),通过要素集分别操作空间

数据和属性数据。参见6.6.2。

•对象方式。以要素(GDBFeature)为基本单元的数据操作。通过操作矢量数据集或要素集中的

要素(GDBFeature)来操作空间数据和属性数据。参见6.5.3和6.6.2。

5.6栅格数据集

栅格数据集是按规则排列的一系列像素点或数值的聚合,它用一个规则格网来描述与每一个格网

单元位置相对应的空间现象特征的位置和取值,每一个格网单元为一个像素。栅格数据集常用来存储

影像、数字高程模型(DEM)、格网(GRID)等数据。

GDB-CLI通过数据块(GDBRasterBlock)、扫描线(GDBScanline)、像素点(GDBPixel)三种模式来

访问栅格数据集中的数据。

5.7空间数据模型

GDB-CLI的空间数据模型采用ISO19125-1:2004规定的简单对象模型,各空间对象(GDBGeome-

iry)与数据集的存储对应关系见表5O表中空间对象的is3D()和isMeasueredC)应与数据集的hasZDi-

mension和hasMDimension属性对应,即如果空间对象的is3D()方法返回TRUE,则应存储在hasZDi-

mension属性为TRUE的数据集中,对Measure属性类同。

表5数据集与空间对象的存储对应关系

数据集类型空间对象类型

PointPoint9MultiPoint

LineLineString,Line,LinearRing,Mult订」ineString

RegionPolygon,Triangle,MultiPolygon

ModelPolyhedralSurface

TextAnnotationText

Compound以上各种空间对象,(jeometryCollection

6空间数据库数据访问对象描述

6.1数据源

6.1.1对象描述

数据源的职责包括:1)建立到后台数据库或数据文件的访问链接;2)对各数据集的组织和管理(如

对数据集元数据的查询、修改,以及对数据集的创建、删除等);3)数据源自身的元数据说明。数据源的

对象UML图见图20

6

GB/T30320—2013

图2数据源相关对象UML图

数据源对象的属性和方法图见图3。

GUOuCitfRiCiCf'i

♦訓ChinsS闻

♦«r»jir・□■■htager

♦Oi«t*dv^ing

♦|OM<X<tUDbOJCgrvg

♦*lMKTptonCharwcairfitir^

♦m«skiCr^ier&uoQ

♦*ne<auVlDC^®*a»rSf«np

♦:・・・|)msZr

♦2p«rv{|tSoalw^n

♦8ioii心a

♦toCf:«n||IlncZn

♦2«l3ai・G4U■氓O・mUwSlfiru:GJHLmumI

♦XorCmolMeif5oCnarKto切祁

♦^wa1nnar3iH>f^MiDH;rrviU«itNB-n»*p・|(«□$!avr

♦0^«taDM»1HMftQQX>4la«<r4aHeC*、・・dB««8fring,t/pe0Dt!3S・Tppa\jf|OJfihotfcttMUwt

♦C^B»rDerat?iFmr»)Q54e^H><"eCtiaraOtr^irngrWTvOeviGC€C««iMe<iGD€C*5tJ«i

♦CUSC^MWlHXW・・grr.OuntderSlfrm

♦MoiiU6:idacxon

♦RsxHhv•EC

♦&O9M・“

♦g3^c66Dsoaz&riBchiton

♦toConrwdednl>oal»«r

♦COiVMJdCOd卸

♦Gef^ft^ofLpdmOiTme

♦:akuc・:>w«m:orrm

♦护CDtiTdCW^Hnt.lhOQAo

♦3rit1Jaoca«p4dnw>w!U«r"4|cC■廃■于Srr・C>«rArMrStrngi:

♦•■■latiXOiSith・Ti・aMl>3a"・*i・UurvzMfSfrirv^)B<iDi«・,

♦yrnege)&laoaa

♦*^rtrfvt>lbA<Xiwid

♦"”4«4仙*;1GdxadUZtO

♦KUfTBCamynreOnWadOmMivi

■%WUUl>:3Q3」UttOC4aan

♦3eiVr»UL>DiiCM<»e5m

♦<in1('vMBiflt^Uivt4l3«u|^4oeilJUIDOmurtertUmg|G)l::*・f

图3数据源对象属性和方法

6.1.2属性

数据源对象的属性如下:

7

GB/T30320—2013

•connection:GDBConnection一数据源的连接信息,通过此信息打开数据源;

•aliaszCharaterString—数据源别名,是当前环境下数据源实例对象的唯一标识;

•engineClass:Integer一数据源的引擎类型,与对应的数据提供者的该属性值相等,见9.3.3;

•engineName:CharacterString—数据源的引擎名称;

•providerUUID:CharacterString一数据源的提供者的唯一标识,与对应数据提供者的uuid属性

值相等,见9.3.3;

•description:CharacterString一数据源描述信息;

•version:CharaterString一数据源的版本名称,与对应数据提供者的version属性值相等,见

9.3.3;

•metadataUUID:CharaterString—关联的元数据的唯一标识字符串,可以为空,为空则表示该数

据源对象没有关联元数据;

•datasets:Set<GDBDataset>—数据源中的所有数据集的集合。

6.1.3方法

数据源对象的方法如下:

•Create():Blean—创建数据源,需要预先设置好connection属性。

•OpenO:Blean—连接数据库,打开数据源,需要预先设置好connection属性。

•CloseO:void—关闭数据源。

•TsOpenO:Blean—判断数据源是否已经打开。

•GetDatasetCcDatasetName:CharacterString):GDBDataset—通过指定名称返回数据集对象。

•DeleteDatasetCcDatasetName:CharacterString):Blean一通过指定名称删除数据集。

•CreatcDatasetVector(cDatasetName:CharacterString,type:GDBDatasetType):GDBVector-

Dataset—创建新的矢量数据集。矢量数据集可以有自己的子数据集,参见6.3.2。

•CreatcDatasetRaster(cDatasetName:CharacterString,type:GDBDatasetType,format;GDB-

PixcelFormat,nWidth:Integer,nHeight:Integer,nBlocksizeX:Integer,nBlocksizeY:Integer,

nBandCount:Integer):GDBRasterDataset—创建新的栅格数据集。栅格数据集也可以有自己

的子数据集,参见6.3.2。

•CreateDatasetFrom(cNewName:CharacterString,refDataset:GDBDataset):GDBDataset—通

过模板数据集创建新的数据集,newName为新数据集名称,refDataset为模板数据集。

•CopyDataset(dataset:GDBDataset,cDatasetName:CharacterString):GDBDataset—复制数据

集,源数据集合srcDalaset可以来自不同的数据源,datasetNamc是复制后的数据集名称。

•TsModifiedO:Blean—判断数据源对象是否有信息需要保存。

•SetModifiedFlag(bModificd:Blean=TRUE):void-设置数据源修改标记,默认bModified

为TRUE,即标识数据源已被修改,有信息需要保存。

•Saveinf():Blean—保存数据源信息。

•Execute(eSQL:CharacterString):Blean—执行SQL语句,主要用于在数据库级执行的数据

操作,用以执行DDL和DML,不返回结果集。

•ChcckConnectionO:Blean—判断数据源是否仍然处于连接状态以及连接是否可用,主要用

于数据库型的数据源。

•RefreshO:Blean-刷新数据源以获取最新信息;此外,如果数据库型数据源因网络连接断开

导致CheckConnection()方法检查到数据源的连接已经失效,恢复网络连接后,可以用Refresh

8

GB/T30320—2013

()方法刷新数据源后继续访问数据。

•GetDateLastUpdatedO:Time一获取数据源最后修改的时间。

•GetDateCreatedC):Time一获取数据源创建的时间。

•ChangcPassword(cNewPassword:CharacterString):Blean—修改数据源连接密码。本地文

件型数据源可以使用此接口修改数据源连接密码。

•GetUnoccupiedDatasetName(cDatasetName:CharacterString):CharacterString一第总取唯一数

据集名,返回数据集名称,该名称是该数据源中未被使用过的。

•TsAvailablcDatasetName(cDatasetName:CharacterString):Blean—判断数据集名是否可用。

•TransBeginO:Blean—开始事务。

•TransCommitO:void—提交事务。

•TransRollbackC):void—回滚事务。

•TnitMetaDatabase():Blean一初始化与数据源对象关联的元数据库对象。

•GetMetaDatabaseC):GDBMctaDatabase一获取元数据库对象。

•SetMctaUUIDCcMctaUUID:CharacterString):Blean—给数据源设置元数据的UUID,通过

该标识就能在数据源关联的元数据库中找到对应的元数据。

•GetMetaUUIDO-CharacterString—获取数据源的元数据对象的UUID。

•FindDatasetByMetaData(cMetaUUID:CharacterString):GDBDataset—通过元数据的UUID

获取数据集,返回的数据集对象。如果该数据源中没有数据集的元数据UUID与传入的

strMctaUUID相等,则返回空对象。

6.2数据连接

6.2.1对象描述

数据连接对象(GDBConnection)的属性见图4。数据源通过GDBConnection提供的信息与数据库

建立连接。

GDBConnection

+server:CharacterString

+usBr:CharacterString

+password:CtiaracterString

+readonly:Boolean

+■transacted:Boolean

*exdusveBoolean

*authori^dtior:Boolean

*databaseCharacterString

♦-drive*CharaclerString

*pipe:Boolean

4poninteger

♦-oonnMaxNum:Integer

♦-connMinNum:Integer

t8f>nIncNum:Integer

图4连接对象属性

9

GB/T30320—2013

6.2.2属性

数据连接对象的属性如下:

•server:CharacterString一服务名。例如:对网络数据库型数据源,表示Oracle数据库的实例

名,或者SQLSever的服务器名;对本地文件型数据源,该属性为文件路径;对网络服务型数据

源,该属性为网络服务地址。

•user:CharacterString—用户名。

•password:CharacterString一密码。

•readonly:Blean-是否只读打开。只读打开后数据所有的信息都不可修改。

•transacted:Blean—是否以事务方式打开。

•exclusive:Blean—是否独占打开。

•authorization:Blean—数据库是否需要密码打开。

•database:CharacterString—数据库名。

•driver:CharacterString—驱动程序名称,例如不同数据库的ODBC驱动名称。

•pipe:Blean—是否用命名管道中连接方式,MySQL数据库连接时使用。

•port:Integer一连接端口,例如MySQL中普通连接方式的端口号。

•connMaxNum:Integer—数据库连接池的最大连接数。

•connMinNum:Integer一数据库连接池的最小连接数。

•connlncNum:Integer一数据库连接池的增长连接数。

6.3数据集

6.3.1对象描述

数据集与相关对象关联的UML图见图5,数据集对象的方法和属性见图6。

图5数据集相关对象UML图

10

GB/T30320—2013

GDBDataset

♦datasetNameCharacterSlrng

♦taDleNameCharacte#Stnng

♦datasetTypeGDBDatasetType

+rcBounds:GD6Geometry

♦isRasterBoolean

十parentDatasetGDBDalase!

♦ct»ildDatasets:Set<GD6Dataset>

+datasourceGOBDataSouce

+spatialReferenceSysGDBCoordRe&enceSys

+descnption:CharactocString

♦metaaataUUlDCharacterStnng

♦Openi)Bodean

♦Oose<)sod

♦lsOpen()Boolean

亠IsReadOrfyi)Bodean

+RenamedBoolean

+CorrputeBouncs()Booiean

+IsModifiedO:BcxMear

+SeiModifiedFlag<oMcxJified:BcxMear=TRUE):sod

+Sa\elntoi):Boolean

+RefresblntoO:Boolean

+GetDateLas:Updated。Time

+GetDateOeatedOTime

+Ge(Metadata()GD6M&3datQ

图6数据集对象属性和方法

6.3.2属性

数据集对象的属性如下:

•datasetName:CharacterString—数据集名称。

•tableName:CharacterString一数据集在数据库中的数据表名称。

•datasetType:GDBDatasetType一数据集类型,为枚举值。见6.4。

•rcBounds:GDBGeometry—数据集范围。

•isRaster:Blean—是否是栅格数据集。

•parentDataset:GDBDataset—数据集的父数据集。

•childDatasets:Set〈GDBDataset〉一数据集的子数据集集合。子数据集强依赖于父数据集,如果

父数据集消亡,则其子数据集也随之消亡,例如:栅格数据集的影像金字塔,可以将金字塔作为

原栅格数据集的子数据集集合存储和管理,从而维护二者的关系。

•datasource:GDBDataSource—数据集所在的数据源对象。

•spatialRcferenceSys:GDBCrdRcferenceSys一数据集空间参照系信息。

•description:CharactorString—数据集的描述信息。

•metadataUUID:CharacterString一数据集关联的元数据的唯一标识。

6.3.3方法

数据集对象的方法如下:

11

GB/T303

定制服务