ICS 03.220.40 CCSA 75
团 体 标 准
T/C IN 010—2023
通用航海数据模型 第 1 部分:总体框架
Universal nautical data model —
Part 1: General framework
(IHO S- 100: 5.0.0, Universal hydrographic data model, MOD)
2023-02-24 发布 2023-03-24 实施
中国航海学会 发布
目 次
前 言
本文件按照 GB/T 1.1—2020《标准化工作导则 第 1 部分:标准化文件的结构和起草规则》和B/T 20000.2—2009《标准化工作指南 第 2 部分:采用国际标准》的规定起草。
本文件是 T/CIN XXX《通用航海数据模型》的第 1 部分。T/CIN XXX 已发布了以下部分: ——第 1 部分:总体框架。
本文件修改采用 IHO 标准 S- 100 5.0.0。本文件与 IHO 标准 S- 100 5.0.0 的主要技术差异及其原因下:
——将 IHO S- 100 5.0.0 标准名“Universal Hydrographic Data Model”翻译为通用航海数据模型,该模型已超出海道测量的范畴,主要面向航海应用,使用航海(nautical)更切合标准的用途;
——删除 IHO S- 100 5.0.0 编码和产品规范部分,通用航海信息模型主要关注信息的建模,不规定具体数据产品的编码和规范编制,在生产数据产品时,宜直接采用 IHO S- 100 系列产品规范。
为了便于使用,本文件还做了以下编辑性修改:
——按照 GB/T 1. 1 表述本文件的适用范围,删除了 IHO S- 100 5.0.0 概述和建模语言范围部分的详细说明性内容;
—— 删 除 了 ISO 25964- 1 、ISO 25964-2 、 OGC 10- 129r1 、 SKOS: SKOS – Simple Knowledge Organization System – Reference 等关于编码的标准引用,通用航海数据模型不限制编码格
式;
——对于 IHO S- 100 5.0.0 引用的且在我国等同采用的国际标准,本文件引用等同采用的国家标
准;
——删除了 IHO S- 100 5.0.0 附录 A 中未在本文件使用的术语和定义;
——更改了 IHO S- 100 5.0.0 附录 A 中部分术语和定义的来源,优先采用国家标准作为术语和定
义的来源;
——合并了 IHO S- 100 5.0.0 第 4a 、4b 和 4c 部分,基础元数据、影像和格网元数据、数据质量
可通过同一文件进行规定;
——合并了 IHO S- 100 5.0.0 第 6 和第 7 部分,坐标参考系统可作为空间模式进行统一规定;
——合并了 IHO S- 100 5.0.0 第 9 、第 9a 、第 16 、第 16a 部分,互操作模型可作为图示表达进行统一规定;
——合并了 IHO S- 100 5.0.0 第 14 、第 17 部分,元数据和交换目录可作为信息交换的组成部分进行统一规定。
本文件与 IHO S- 100 5.0.0 相比在结构性上有较多调整,附录 A 列出了本文件与 IHO S- 100 5.0.0章条编号对照一览表。
请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别专利的责任。
本文件由中国航海学会提出并归口。
本文件起草单位:交通运输部水运科学研究院、交通运输部东海航海保障中心、交通运输部南航海保障中心、武汉大学。
本文件起草人:洛佳男、耿雄飞、吴宇晓、邬金、万晓霞、李春旭、丁格格、孙东礼、熊娥、捷、贾淑娟、王娟、刘莉雯、姚治萱。
引 言
国际海道测量组织制定的《S- 100 通用海道测量数据模型》(以下简称 S- 100)标准是新一代水上信息建模的技术标准,被国际海事组织确认为航海领域的基本数据模型,已被国际广泛接纳。基于该模型可以构建支持船舶全过程航行的航海数据产品体系, 目前已正式发布 20 余项产品规范。 T/CIN XXX 修改采用 S- 100 标准, 旨在促进和指导我国新一代 S- 100 航海数据产品的生产,支撑船
岸导助航设备自主研发和应用 本标准拟由以下 9 部分构成:
——第 1 部分:总体框架。 目的在于确定通用航海数据的模型架构及建模语言。
——第 2 部分:基础模型与应用模式规则。目的在于确立以要素为中心的航海数据模型的结构、关系和开发应用模式的规则。
——第 3 部分:元数据模型。 目的在于确立航海信息元数据的构成、表示方法和元数据质量要求。
——第 4 部分:要素编目规则。 目的在于确立航海信息要素的编目方法。
——第 5 部分:空间模式。 目的在于确立航海信息空间信息的建模方法以及坐标参考系统的具体要求。
——第 6 部分:影像和格网数据模型。 目的在于确立影像和格网类数据的内容模型、格网组织和坐标参考系统等。
——第 7 部分: 图示表达模型。 目的在于确立航海信息显示规则,以及不同航海信息之间的协调可视化方法。
——第 8 部分:信息交换规则。 目的在于确立航海信息船岸交换的通信协议、交换模式和链路要求等。
——第 9 部分:信息加密方法。 目的在于确立航海信息的加密方法。
通用航海数据模型 第 1 部分:总体框架
1 范围
本文件规定了通用航海数据的模型架构及建模语言。
本文件适用于通用航海数据模型的建立及航海信息产品和应用设备的设计与开发。
2 规范性引用文件
下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款。其中,注日期的引用文件,仅该日期的版本适用于本文件;不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。
GB/T 23707 地理信息 空间模式
GB/T 24355 地理信息 图示表达
GB/T 28585 要素编目方法
GB/Z 34429 地理信息 影像和格网数据
ISO 19109 地理信息 应用模式规则(Geographic information - Rules for application schema)
ISO/IEC 8211 信 息 交 换 用 数 据 描 述 文 件 规 范 ( Specification for a data descriptive file for information interchange structure implementations)
RFC 3986 统一资源标识符(URI):通用语法(Uniform Resource Identifier (URI): Generic Syntax)
3 术语和定义
下列术语和定义适用于本文件。
3.1
抽象类 abstract class
面向对象建模中,将不同事物共性和本质信息抽取后封装形成的一种数据结构类型。
3.2
聚合 aggregation
关联(3.4)的一种特殊形式,用以说明整体与构件部分之间的整体-部分关系。
[来源:GB/T 35647—2017,4. 1]
3.3
应用模式 application schema
一个或多个应用所需数据的概念模式(3.9)。
[来源:GB/T 33188.1—2016,4. 1.2]
3.4
关联 association
类实例之间的语义联系。
[来源:GB/T 35647—2017,4.4] 3.5
边界 boundary
实体界限的集合。
注:边界通常用在几何结构中,这里的集合是点的集合或对象的集合。
[来源:GB/T 23707—2009,4.4] 3.6
类 class
具有相同的数据(域)、操作、方法、关系域语义的对象集的描述。
[来源:GB/T 35647—2017,4.7] 3.7
组合 composition
聚合的一种形式,组合对象(整体)负责被组合对象(部分)的存在和存储。
[来源:GB/T 35647—2017,4. 10] 3.8
概念模型 conceptual model
定义一个论域概念的模型。
[来源:GB/T 35647—2017,4. 11]
3.9
概念模式 conceptual schema
概念模型(3.8)的形式化描述。
[来源:GB/T 35647—2017,4. 12]
3.10
覆盖 coverage
在空间域、时间域或时空域中,作为任意直接位置的函数,从其值域中返回数值的要素。
注1:覆盖数据包括但不限于格栅影像、多边形叠置或数字高程矩阵。
注2:覆盖数据是一个要素,该要素的每个属性类型有多个值,而在要素几何表达的每个直接位置、每个属性类型有单一值。
[来源:GB/T 33188.1—2016,4. 1.8]
3.11
要素 feature
现实世界现象的抽象。
[来源:GB/T 35647—2017,4. 16]
3.12
要素目录 feature catalogue
包括对一组或多组航海信息数据的要素类型、要素属性、要素关联以及可执行的要素操作的定义和描述的目录。
[来源:GB/T 28585—2012,4.4]
3.13
格网 grid
由两组或多组曲线集所组成的网络,其中每一组曲线成员与其他组的曲线成员按一定的算法相交。
注:曲线集把空间分割成格网单元。
[来源:ISO 19123—2005,4. 1.23]
3.14
实例 instance
一个类(3.6)的具体实现。
3.15
类元 meta class
类(3.6)、接口、类型的抽象类(3. 1)。
3.16
多重性 multiplicity
属性可能出现的次数,或要素关系对应的元素数量。
注:1.*(一对多)、1(仅一个)、0. 1(零或一)。
3.17
对象 object
具有明确定义的边界与标识,封装了状态和行为的实体。
注:状态由属性和关系标识。行为由操作、方法和状态机标识。对象是类的实体。
[来源:GB/T 35647—2017,4.25]
3.18
包 package
将元素分成组的通用机制。
注:包可以镶嵌在其他包内。模型元素和图可以都出现在一个包中。
[来源:GB/T 35647—2017,4.27]
3.19
图示表达 portrayal
地理信息要素显示的方式。
3.20
图示表达目录 portrayal catalogue
为要素目录(3. 12)定义的图示表达(3. 19)集合。
注:图示表达目录的内容包括图示表达函数、参数和符号。
3.21
关系 relationship
模型元素间的语义联系。
注:关系的种类包括关联、泛化以及依赖等。
3.22
构造型 stereotype
用以扩展模型语义的建模元素类型。
注:构造型必须基于原模型中某些已有的类型或类。构造型可以扩展语义,但不可以扩展已有的类型和类的结构。
4 模型架构
4.1 模型的组成
通用航海数据模型由基础模型与应用模式规则、元数据模型、空间模式、影像和格网数据模型、要素编目规则、图示表达模型、信息加密方法、信息交换规则八个部分组成,见图 1。
图 1 模型组成
4.2 各组成部分的基本内容
4.2.1 基础模型与应用模式规则
通用航海数据模型的基础模型和应用模式规则遵循 ISO 19109 的规定。
基础模型采用要素、属性、关联关系基本结构,并扩展增加信息类型、命名类型、对象类型、要素关联类型、信息关联类型等类元,兼容重构它们之间的相互关系。
应用模式规则包括应用建模流程以及统一建模语言(UML)中的模式规则、空间规则、编目规
则、覆盖类型的应用模式、时间模式以及实例标识符。
4.2.2 元数据模型
元数据模型定义了航海信息强制和条件型元数据元素、最小元素集、核心元素、可选元素、影像和网格元数据、航海合规性元素以及它们的适用范围。
元数据用以保存航海数据的特征及质量等信息,一般包括航海数据的标识、时空范围、质量、应用模式、空间参考系统等,主要为数据发现、使用、识别、数据共享和数据管理提供信息支持。
4.2.3 要素编目规则
要素编目规则在 GB/T 28585 规定的基本规则基础上,进一步定义了编制航海信息要素目录时应遵循的规则、流程和格式, 以及要素分类与编码、要素表达的基本方法。
4.2.4 空间模式
空间模式在 GB/T 23707 规定的基本空间几何和空间关系的基础上,进一步规定了航海信息空间数据应采用坐标参考系统及概念模式, 以及构建一维、二维和三维空间坐标参考系统的最小数据要求和投影、基准转换方法。
4.2.5 影像和格网数据模型
影像和格网数据模型在 GB/Z 34429 规定的栅格数据模型基础上,进一步定义了影像和格网类型航海信息的内容模型, 以及数据网格的组织、类型以及相关的元数据和坐标参考系统。
4.2.6 图示表达模型
图示表达模型在 GB/T 24355 规定的基本显示规则基础上,进一步定义了航海信息的图示表达模型, 以及图示表达目录、脚本机制和互操作处理流程。
4.2.7 信息交换规则
信息交换规则定义了航海信息数据文件与数据流交换所必需的组件、流程和元数据要求, 以及基于不同网络通信协议的交换规则。
4.2.8 信息加密方法
信息加密方法规定了航海信息加密的范畴及确定原则,以及信息加密的算法和流程。
5 建模语言
5.1 基本要求
通用航海数据模型应采用UML2 标准建模,使用类图和包图作为基础模型、元数据模型等组成模型的基准模型,并包含属性、关联和数据类型的完整定义。
5.2 类
类是对共享相同属性、操作、方法、关系、行为和约束的对象概化,代表一个概念或事物。类支持继承,被继承的类称为超类(super class),继承超类的类称为子类(sub class),子类可在超类特性的基础上进一步扩展其他特性。
示例:航标可作为一个类进行建模;灯塔为航标的子类,航标为灯塔的超类。
5.3 属性
属性在同一类中应唯一。
属性具有可见性,表 1 规定了描述属性可见性的符号。
表 1 属性的可见性
属性应指定数据类型。数据类型支持基本数据类型(见 5.4)、预定义派生类型(见 5.5)、枚举类型(见 5.6)和代码表类型(见 5.7)。
属性的多重性默认为 1。
属性可以定义默认值,该默认值在创建该类型的对象时使用。
5.4 数据类型
5.4.1 基本数据类型
5.4.1.1 类型划分
基本数据类型分为原始类型和复合类型。
此外,通用航海数据模型还定义了内置基本数据类型,在建模时应予以优先使用。
示例:当编码航海信息要素属性时,应优先采用有符号整数、无符号整数或有符号浮点进行标识,不应采用ISO/IEC 8211 使用的字符串编码。
5.4.1.2 原始类型
基本数据类型中的原始类型应符合表 2 的规定。
表 2 支持的原始数据类型
表 2(续)
5.4.1.3 复合类型
5.4.1.3.1 有符号整数(Unlimited Integer)
有符号整数的值可以无限大,类型结构见图 2。
图 2 有符号整数类型的结构
图 2 中属性释义如下:
——infinite:有穷性;
——value:数值。
5.4.1.3.2 矩阵(Matrix)
支持实数和整数矩阵,类型结构见图 3。
图 3 矩阵的结构
图 3 中属性释义如下:
——rows:行数;
——columns:列数;
——elements:元素。
5.4.1.3.3 多重性(S100_Mu ltip licity)
多重性定义属性、关系从低到高的重复数量,上限可以是无穷大,类型结构见图 4。
图 4 多重性的结构
图 4 中属性释义如下:
——lower:下限;
——upper:上限。
5.4.1.3.4 数值范围(S100_NumericRange)
通过上限、下限和区间闭合类型指定数值范围。
单一值应使用 upper = lower 进行编码,并将 closure 设置为 closedInterval。区间的闭合由枚举 S-100_IntervalType 定义。文字具有以下含义:
图 5 数值范围的结构
图 5 中属性释义如下:
——lower:下限;
——upper:上限;
——closure:区间闭合类型。类型的枚举值和表示方法应符合表 3 的规定。
表 3 区间闭合类型枚举值及符号
5.4.1.3.5 度量单位(S100_UnitOfMeasure)
度量单位由名称和可选的定义和符号组成,类型结构见图 6。
图 6 度量单位的结构
图 6 中属性释义如下:
——name:度量单位的名称;
——definition:含义或定义;
——symbol:符号。
5.4.1.3.6 度量值(S100_Measure)
度量值由实际大小(值)和度量单位组成。
5.4.1.3.7 长度(S100_Length)
用以表示积分距离度量值。
示例:曲线的长度。
5.4.1.3.8 角度(S100_Ang le)
用以表示角度度量值。
5.4.1.3.9 不确定日期(S100_ IndeterminateDate)
用以保存无明确日期的时间,使用特定日期“之前 ”和“之后 ”表达时间,结构见图 7。
图 7 不确定日期
图 7 中属性释义如下:
——indeterminatePosition:不确定日期值,枚举类型(之前:before=l ,之后:after=2);
——dateValue: 日期起算点。
示例:表 4 为某不确定日期的水手报告,报告日期中的子属性代表该报告产生于 l950 年之前。
表 4 不确定日期示例
5.4.1.3.10 特定时间(S100_TM_ Instant)
应为日期、简化日期、时间或日期时间类型之一。
5.4.1.3.11 时间范围(S100_TM_Period)
表示时间区间,包含三个属性:
——closure:闭合类型,数据类型为 S100_IntervalType(见表 3);
——begin :开始,数据类型为 S100_TM_Instant;
——end:结束,数据类型为 S100_TM_Instant。
5.4.2 预定义派生类型
预定义派生类型见表 5。
表 5 预定义派生类型
5.4.3 枚举类型
枚举类型使用<>标识,规定了属性值的取值列表,不可对取值进行扩展。
5.4.4 代码表类型
代码表类型使用<>标识,是一种无取值列表范围约束的特殊枚举类型,支持对取值列表进行扩展。
5.5 关系
5.5.1 关系类型
关系类型分为泛化、依赖、细化、关联、聚合、组合,各类型含义及符号见表 6。
表 6 关系类型及其符号
5.5.2 泛化、依赖和细化
泛化、依赖和实现用以标识模型元素之间语义联系,属类元间的关系。
5.5.3 关联、聚合和组合
关联用以标识两个或多个类实例之间的关系。除了普通关联关系,还包括聚合和组合两种特殊关联关系(见表 5)。
关联关系由一个名称和两个关联端组成。关联端由一个角色名称、一个多重性和一个可选的聚合符号组成。关联端应总是连接到一个类。关联关系的表示方法见图 8。
图 8 关联关系的表示方法
图 8 中各项元素释义如下:
——A:关联关系的名称;
——Class1 、Class2:关联端;
——+r1 、+r2: 目标类的角色名称,例如包含、被包含等;
——1 、0..* :多重性,允许的值包括是 1(仅 1 个)、0.. 1(0 或 1 个)、1..*(1 或多个)、0..* (0 或多个)或 n..m(n 到 m 个)。
5.6 构造型
通用航海数据模型使用以下构造型:
a) <>:接口类型,包含一系列属性或操作。
b) <>:域类型,用于指定实例(对象) 的域, 以及适用于对象的操作,可包含属性和关联。
c) <>:枚举类型(5.4.3)。
d) <>:元类,实例为类的类。元类通常用于构建元模型,例如,“ FeatureType ” (要素类型)和“AttributeType ” (属性类型)是“Feature ”(要素)和“Attribute ”(属性)的元类。
e) <>:数据类型,包括基本数据类型、预定义派生类型和用户定义类型。
注:数据类型是具有很少或没有操作的类,其主要目的是保存另一个类的抽象状态,以便传输、存储、编码或持久存储。
f) <>:代码表类型(5.4.4)。
注:仅当建模者尚不确定完整的值列表或值过长时使用,否则应使用枚举类型。
5.7 命名规则
5.7.1 类名
同一模型或包(5.9)中的类名应是唯一的。类名的命名规范如下:
——以大写字母开头;
——不包含空格;
——采用骆驼命名法命名;
注:骆驼命名法采用英文单词组成,每个应为单词首字母为大写,其余字母为小写,例如“FeatureType ”。
——为确保类名全局唯一性,类名前使用双字母前缀。
示例:在几何模型下使用 GM_Object 命名“对象 ”,在要素模型下使用 FT_Object。
5.7.2 关联名
关联名在类及其超类的上下文语境内应唯一。
5.7.3 属性名
属性名应以小写字母开头,其他命名规则同类名(5.7. 1)。
示例: firstName 、lastName。
5.7.4 操作名
操作名应以小写字母开头,构成操作明的单词应准确反映操作的技术含义。
示例:alphaCodeIdentifier 、dateOfLastChange
5.7.5 包名
同一模型中包名应是唯一的。包名应准确反映包内的元素或包的用途。
5.8 注释
注释用以说明模型元素或关系(注释项),由虚线和注释框构成,虚线应连接注释框和注释项。
图 9 是注释的一个示例。
图 9 注释示例
5.9 包
包是一个容器,用于分组子包、类及其关联关系等。
包中的子包、类和属性可以通过限定名来标识,限定名的形式为 name1: :name2: :name3 ,其中: ——name1 是最外层包的名称;
——name2 是出现在 name1 的命名空间中的名称;
——name3 是出现在 name2 的命名空间中的名称;
——“:: ”符号为名称分隔符;
——命名空间层次结构的深度没有限制。
示例:在空间模式中定义了Geometry 包,包中定义了一个名为 GM_Object 的类。该类与角色名称 SRS(空间参考系统)相关联,则此关联的限定名为 Spatial.Geometry::GM_Object.SRS ,见图 10。
图 10 包示例
5.10 模型文档
模型文档用以记录和解释类、属性、关联、操作和约束等元素的含义。模型文档采用表格形式置于 UML 图形下方,其基本内容包括角色名称、名称、描述、多重性、数据类型、备注。
示例:船舶班组(WorkingGroup)的 UML 模型见图 11,表 7-表 9 对模型中的所有类和枚举进行了解释。
图 11 UML 模型示例
表 7 WorkingGroup 模型文档
表 8 Person 模型文档
表 9 Membership 模型文档
表 10 WG_Role 模型文档
附 录 A
(资料性)
本文件与 IHO S-100 5.0.0 相比的结构变化情况
本文件与 IHO S- 100 5.0.0 相比在结构上有较多调整,具体章节编号对照情况见表 A. 1。
表 A. 1 本文件与 IHO S- 100 5.0.0 的章条编号或内容对照情况
表 A. 1(续)
参 考 文 献
[ 1] GB/T 35647 地理信息 概念模式语言
[2] GB/T 33188. 1 地理信息 参考模型 第 1 部分:基础

评论