文章信息
- 陈长林, 周成虎, 杨管妍, 彭认灿
- CHEN Changlin, ZHOU Chenghu, YANG Guanyan, PENG Rencan
- 电子海图开放式图示表达模型及其构建方法
- Open Portrayal Model for Electronic Chart and Its Realization
- 武汉大学学报·信息科学版, 2020, 45(3): 325-330
- Geomatics and Information Science of Wuhan University, 2020, 45(3): 325-330
- http://dx.doi.org/10.13203/j.whugis20180242
-
文章历史
收稿日期: 2018-09-19

2. 中国科学院地理科学与资源研究所资源与环境信息系统国家重点实验室, 北京, 100101;
3. 海军大连舰艇学院, 辽宁 大连, 116000
2. State Key Laboratory of Resources and Environment Information System, Institute of Geographic Sciences and Natural Resources, Chinese Academy of Sciences, Beijing 100101, China;
3. Dalian Naval Academy, Dalian 116000, China
在地理信息领域,“图示表达”用于表示要素从数据变换为图形显示这一过程,涉及地理信息数据、地图符号以及两者之间的映射规则,即图示表达规则。数据的共享与互操作已经得到普遍认可[1];地图符号的共享与互操作目前得到了较多学者的重视,但还未形成统一认识。例如,文献[2-3]选用的是PostScript,文献[4-5]选用的是可缩放矢量图形(scalable vector graphics,SVG),文献[6]则选用TrueType,文献[7]分析比较了上述几种图形成像模型的优缺点,认为SVG最适宜作为地图符号的共享模型。目前,也有学者对图示表达规则开展了研究。例如,文献[8]对ISO 19117图示表达模型开展了分析研究,文献[9-11]构建了基于可扩展样式表转换语言(extensible stylesheet language transformation,XSLT)的图示表达规则。但总体上,图示表达规则还未引起足够重视,也未形成统一认识。
电子海图是广义地图中的一个分支,是一类非常基础的海洋地理信息产品,符合地图学基本理论,但是又独具特色[12]。在网络发达的今天,电子地图呈现出丰富多彩的样式,但是,电子海图目前几乎只呈现出电子航海图(electronic navigational chart,ENC)这一单一样式,很难看到根据不同用户和不同用途设计的新样式。问题的根源在于:(1)现行电子海图显示标准S-52[13]只面向ENC,缺乏一个面向海洋地理信息全域的显示标准,而且S-52过于复杂,实现标准化海图显示很困难;(2)海图数据和图示表达规则的耦合限制了电子海图不同样式的扩展。近几年,国际海道测量组织(International Hydrographic Organization,IHO)正在推动新一代海洋地理信息标准S-100[14]的完善与落地,为实现电子海图的开放性改造提供了新思路。然而,实现S-52到S-100的转换并非易事,涉及到数据集、符号库、显示规则和调显引擎等重构难题。因此,美国、英国、韩国等国的国家海道测量局耗时多年,仍未彻底完成升级换代。中国未深度参与S-100的制定和试验,目前仅停留在跟踪分析阶段[15-20]。
为了进一步推动S-100标准落地,本文将对IHO S-52标准中图示表达模型相关内容进行分析,并以IHO新一代海洋地理信息标准S-100为依据,提出并验证基于可扩展标记语言(extensive markup language,XML)的电子海图开放式图示表达方法。
1 S-52标准图示表达模型ENC是一个国际化图种,遵照IHO制定的标准规范,例如现行的数据标准S-57与显示标准S-52。S-52标准是20世纪90年代制定的,在开放性和拓展性方面已显现不足。S-52标准并没有给出图示表达模型,但是其流程本质上可以抽象形成如图 1所示的模型。
|
| 图 1 S-52标准图示表达模型 Fig. 1 Portrayal Model in S-52 Standard |
S-52标准中图示表达规则分为基本符号化和条件符号化(conditional symbology procedure,CSP)两类,都存储在查找表中,前者为规则法,后者主要为程序法。因而S-52的图示表达规则是规则库和程序化的组合。
基本符号化是一系列较为简单的图示表达规则,每个规则包含7个字段,分别是“要素编码”“属性条件”“符号指令”“显示优先级”“雷达叠加标记”“显示分类”和“可选显示组”。其中,“符号指令”对应于图 1中的符号引用,其说明见表 1。对于符号的定义,S-52使用惠普图形语言(Hewlett-Packard graphic language,HPGL)进行描述,其语法见表 2。
| 命令 | 说明 | 示例 |
| SY | 点符号 | SY(RCTLPT52, ORIENT) |
| LS | 简单线符号 | LS(DOTT, 1, TRFCD) |
| LC | 复杂线符号 | LC(RANSP01) |
| AC | 颜色填充 | AC(CHBRN) |
| AP | 面填充 | AP(VEGATN04) |
| TE | 带前缀 文本符号 |
TE('by %s', 'OBJNAM', 2, 1, 2, '15110', -1, -1, CHBLK, 21) |
| TX | 简单文本符号 | TX(OBJNAM, 1, 2, 3, '15110', 0, 0, CHBLK, 26) |
| CS | 条件符号化,上述指令组合 | CS(DEPARE01) |
| 命令 | 动作 | 参数(说明) |
| SP | 选笔 | 笔色编号(在外部定义) |
| ST | 选择透明度 | 透明度编号 |
| SW | 选择笔宽 | 笔宽编号(N) |
| PU | 抬笔至 | X, Y |
| PD | 落笔画至 | X, Y |
| CI | 画圆 | 半径 |
| AA | 画弧 | X, Y, 弧角 |
| PM | 置多边形模式 | 0(开始绘制多边形) 1(关闭子多边形) 2(关闭多边形并输出) |
| EP | 画多边形轮廓 | (无参数) |
| FP | 填充多边形 | (无参数) |
条件符号化是一种针对多层次分支结构的图示表达规则,并且与环境参数相关,例如船舶安全水深、当前时间、不同要素之间的空间关系或者关联关系。S-52标准给出了流程图和相应的C语言代码框架,开发者据此可开发出符合标准的条件符号化程序。
2 S-100标准图示表达模型S-100第9章专门描述图示表达,与S-52标准不同的是,S-100对图示表达的规定源于ISO 19117标准,具有通用性和灵活性。S-100中的图示表达模型如图 2所示,对图示表达各部分内容的构建方式并不作强制要求,但同时建议按照XML实现,例如要素集合以XML表示,图示表达规则以可扩展样式语言(extensible stylesheet language,XSL)表示,符号定义集合则以SVG构建点符号库,以SVG和XML参数文件共同构建线样式和面填充。S-100中第9章的大多数内容是图示表达中各类符号(点、线、面)样式的模型,该模型直接决定了图示表达规则的输出结构及符号引用的内容,进而影响着图示转换引擎和渲染引擎的构建。在S-52标准中,简单线符号仅可表达虚线、点线和点划线,且参数只有宽度和颜色,复杂线符号则以若干点符号作为参数构建循环段。相比之下,S-100中的符号表达能力要灵活强大得多,除具备S-52标准原有的符号表达能力外,还可实现偏移、旋转、缩放、循环段长度等参数控制。
以符号样式模型为基础,可构造基于XSL的图示表达规则。XSL支持“与”“或”“非”等基本逻辑运算及其组合,支持加、减、乘、除等代数运算,支持路径和正则表达式等查找运算,尤为重要的是支持模板(子过程)的定义与调用,因而完全可以表达S-52图示表达中的条件符号化。
3 电子海图图示表达模型实现为了提高地理信息系统的灵活性和易用性,应当选用开放式的图示表达模型。S-100是从ISO/TC211标准体系衍生的专有标准,具有开放性和先进性,同时针对海洋地理信息具有可操作性,因而可按照S-100建立基于XML的开放式电子海图的图示表达模型,如图 3所示。图 3中的要素集合(XML)由S-57标准数据转换而来,符号定义集合(SVG+XML)和图示表达规则(XSL)需要由S-52标准中符号库转换而来,图示转换引擎和渲染引擎则需要编写相应软件模块。
|
| 图 3 基于XML的地理信息图示表达模型 Fig. 3 Portrayal Model in XML |
构建电子海图要素集合的关键步骤如下:
1)依托行业专家知识,建立S-57与S-101的分类编码对照表;
2)利用GDAL/ OGR开源GIS组件读取S-57数据;
3)进行分类编码的匹配与转换;
4)按照XML结构导出S-57数据。
电子海图通常使用ISO 8211作为数据编码格式,每一个要素信息包括要素类型、要素标识符、属性、空间坐标、关联要素、关联专题、是否屏蔽等字段,并使用二进制进行存储。按照S-100建议,应当采用XML构建电子海图要素集合,因此,可将ISO 8211形式的要素表达信息转换为具有嵌套层次的XML元素。
3.2 电子海图符号定义集合电子海图符号定义集合的关键步骤如下:
1)建立S-52点符号与SVG符号两者坐标系的重构关系,实现坐标系的自动转换;
2)建立S-52点符号与SVG符号两者图元结构的重构关系,进行图元的自动转换;
3)按照S-100的线样式模型,构建线符号的XML参数文件;
4)按照S-100的面图案模型,构建面符号的XML参数文件。
通过HPGL到SVG的坐标系和图元坐标重构,可以实现基本点图元的重构;对于复杂线和复杂面符号,则依据S-100中的线样式和面图案模型构建XML参数文件。
3.3 电子海图图示表达规则IHO S-52标准对于图示表达规则的定义分为基本符号化和条件符号化,后者由开发者根据S-52标准中给出的流程图,各自编程实现。
根据IHO S-100标准的建议,电子海图图示表达规则可采用XSL进行描述,构建方法如下:
1)依托行业专家知识,实现查找表基本符号化到XSL语法的转换;
2)对于条件符号化中的过程调用,建立XSL子模板。
3.4 实验与结论为了验证S-100图示表达模型的可行性,本文按照前文所述实现方法,设计如下实验。
1)实验环境。CPU:Intel I5 M460;硬盘:Kinston SSD 256 GB;操作系统:Windows7 x64。
2)实验数据。IHO提供的S-57测试数据“GB5X01SE.000”。
3)实验内容。以海洋测绘界知名厂家Caris公司的EasyViewer软件(v4.0)作为参照,以C#开发语言编制测试软件PortrayalTester,借助开源地理空间数据引擎OGR实现S-57数据读取,利用C#内置库实现XML数据的构建及XSL模板的执行,利用GDI+实现图形绘制;从显示规范和执行效率两个方面,对实验数据进行加载测试与比较。
按照上述实验方法,可以分别得到EasyViewer(见图 4)和PortrayalTester(见图 5)的显示效果,两种方法的比较分析结果见表 3。实验结果表明,按照S-100中的图示表达模型和本文所述实现方法,可以实现航海图显示,但是由于EasyViewer使用了硬件加速,且基于规则解析的效率通常不如内嵌程序,以及C#程序运行效率不如C++等原因,导致目前的PortrayalTester执行效率方面与EasyViewer有些差距。另外,由于EasyViewer使用的S-52符号库为3.4版本,而PortrayalTester使用的是最新的4.0版本,两者所采用的颜色定义有所差别,导致图 4和图 5中显示样式有些差别。
|
| 图 4 EasyViewer中的航海图显示 Fig. 4 ENC Display in EasyViewer |
|
| 图 5 PortrayalTester中的航海图显示 Fig. 5 ENC Display in PortrayalTester |
| 对比项 | EasyViewer | PortrayalTester |
| 开发语言 | C++ | C# |
| 显示规范 | S-52 v3.4 | S-52 v4.0 |
| 执行效率/s | <0.5 | 0.83 |
本文实验验证了“水深”“航海标志”“海域”“磁差”等要素的基本符号化,以及“等深线”和“深度范围”两类要素的条件符号化,但是由于S-52符号化的复杂性,更多的图示表达XSL模板有待进一步构建和验证。
4 结语本文针对现行电子航海图显示标准IHO S-52过于封闭的问题,分析总结了IHO S-52和IHO S-100标准中的图示表达模型,提出用XML构建电子海图要素集合、符号定义集合和图示表达规则的实现方法,并通过实验进行初步验证。
下一步将在两个方面开展工作:
1)本文针对电子航海图的图示表达开展了初步试验,后续将面向其他新型海洋地理信息产品,例如潮汐、天气、冰情等,构建相应的数据集、符号定义集合和图示表达规则。
2)本文采用XSL作为图示表达规则,执行效率并不高,因此可以考虑引入执行效率更高同时又具有开放特性的脚本语言(可动态即时编译)作为图示表达规则的构建方法,例如Lua或者Javascript。
| [1] |
Wang Yue, Pang Xiaoping, Wang Xiaoxuan. Service-Oriented Geographic Information Sharing in Polar Regions[J]. Geomatics and Information Science of Wuhan University, 2016, 41(11): 1518-1523. (王跃, 庞小平, 王晓璇. 面向服务的极地地理信息共享与应用[J]. 武汉大学学报·信息科学版, 2016, 41(11): 1518-1523. ) |
| [2] |
Wu Mingguang, Lü Guonian, Chen Taisheng. Data Structure Assimilation of Marker Symbol[J]. Geomatics and Information Science of Wuhan University, 2011, 36(2): 239-243. (吴明光, 闾国年, 陈泰生. 点状地图符号数据结构同化研究[J]. 武汉大学学报·信息科学版, 2011, 36(2): 239-243. ) |
| [3] |
Li Yayan, Du Qingyun, Cai Zhongliang, et al. High Quality Cartography with Postscript Image Model[J]. Geomatics and Information Science of Wuhan University, 2018, 43(3): 379-384. (李雅彦, 杜清运, 蔡忠亮, 等. 一种采用PostScript成像模型的高质量地图制图方法[J]. 武汉大学学报·信息科学版, 2018, 43(3): 379-384. ) |
| [4] |
Yin Zhangcai, Li Lin, Zhu Haihong, et al. Description Model of Map Symbols Based on SVG[J]. Geomatics and Information Science of Wuhan University, 2004, 29(6): 544-547. (尹章才, 李霖, 朱海红, 等. 基于SVG的地图符号描述模型研究[J]. 武汉大学学报·信息科学版, 2004, 29(6): 544-547. ) |
| [5] |
Li Qingquan, Xie Zhiying, Zuo Xiaoqing, et al. The Spatial Information Description and Visualization Based on SVG[J]. Acta Geodaetica et Cartographica Sinica, 2005, 34(1): 58-63. (李清泉, 谢智颖, 左小清, 等. 基于SVG的空间信息描述与可视化表达[J]. 测绘学报, 2005, 34(1): 58-63. DOI:10.3321/j.issn:1001-1595.2005.01.011 ) |
| [6] |
Ning Fanghui, Wang Bin. Constucting a Chart Symbol Library Using TrueType Font Files[J]. Hydrographic Surveying and Charting, 2001, 21(2): 45-47. (宁方辉, 王斌. 利用TrueType字体文件构造海图符号库[J]. 海洋测绘, 2001, 21(2): 45-47. DOI:10.3969/j.issn.1671-3044.2001.02.010 ) |
| [7] |
Chen Changlin. Comparison and Analysis of Open Image Model for Map Symbol[J]. Hydrographic Surveying and Charting, 2018, 38(4): 71-74. (陈长林. 开放式地图符号成像模型比较分析[J]. 海洋测绘, 2018, 38(4): 71-74. DOI:10.3969/j.issn.1671-3044.2018.04.015 ) |
| [8] |
Huang Qian, Li Lin, Yin Zhangcai, et al. The Research in General Standard of Map Portrayal[J]. Science of Surveying and Mapping, 2004, 29(4): 46-48. (黄菁, 李霖, 尹章才, 等. 通用地图图示表达标准探讨[J]. 测绘科学, 2004, 29(4): 46-48. DOI:10.3771/j.issn.1009-2307.2004.04.015 ) |
| [9] |
Yin Zhangcai, Li Lin, Zhu Haihong, et al. Portrayal Rules of Geographic Information Based on XSLT:Design and Implementation[J]. Geo-information Science, 2005, 7(4): 135-140. (尹章才, 李霖, 朱海红, 等. 基于XSLT的图示表达规则的设计与实现[J]. 地球信息科学, 2005, 7(4): 135-140. DOI:10.3969/j.issn.1560-8999.2005.04.030 ) |
| [10] |
Klausen C F M. GeoXSLT: GML Processing with XSLT and Spatial Extensions[D]. Oslo: University of Oslo, 2006
|
| [11] |
Raimo N, Edward N, Jens W, et al. Spatial Inference with an Interchangeable Rule Format[J]. International Journal of Geographical Information Science, 2013, 27(6): 1210-1226. DOI:10.1080/13658816.2012.750323 |
| [12] |
Chen Changlin, Zhai Jingsheng, Lu Yi, et al. An Automatic Method of Coverting DNC to ENC[J]. Geomatics and Information Science of Wuhan University, 2013, 38(1): 90-94. (陈长林, 翟京生, 陆毅, 等. DNC与ENC的自动转换方法[J]. 武汉大学学报·信息科学版, 2013, 38(1): 90-94. ) |
| [13] |
International Hydrographic Organization. S-52: Specifications for Chart Content and Display Aspects of ECDIS: Edition 6.0[S]. Monaco: International Hydrographic Bureau, 2010
|
| [14] |
International Hydrographic Organization. S-100: Universal Hydrographic Data Model Edition 3.0.0[S]. Monaco: International Hydrographic Bureau, 2017
|
| [15] |
Chen Changlin, Zhai Jingsheng, Lu Yi. Analysis and Thinking on the New IHO Standard for Hydrographic Geospatial Data[J]. Journal of Geomatics Science and Technology, 2011, 28(4): 300-303. (陈长林, 翟京生, 陆毅. IHO海洋测绘地理空间数据新标准分析与思考[J]. 测绘科学技术学报, 2011, 28(4): 300-303. DOI:10.3969/j.issn.1673-6338.2011.04.016 ) |
| [16] |
Chen Changlin, Zhai Jingsheng, Lu Yi. Spatial Schema of Hydrographic International Standard S-100[J]. Journal of Geomatics Science and Technology, 2012, 29(1): 61-65. (陈长林, 翟京生, 陆毅. 海洋测绘国际标准S-100的空间模式[J]. 测绘科学技术学报, 2012, 29(1): 61-65. DOI:10.3969/j.issn.1673-6338.2012.01.015 ) |
| [17] |
Chen Changlin, Xu Li, Yu Guodong, et al. Contracstive Analysis of Classification and Coding Between S-101 and S-57, Part Ⅰ:Feature[J]. Hydrographic Surveying and Charting, 2016, 36(4): 52-55. (陈长林, 徐立, 于国栋, 等. S-101与S-57分类编码对比分析(一):要素[J]. 海洋测绘, 2016, 36(4): 52-55. DOI:10.3969/j.issn.1671-3044.2016.04.013 ) |
| [18] |
Chen Changlin, Xu Li, Huang Ruiyang, et al. Contracstive Analysis of Classification and Coding Between S-101 and S-57, Part Ⅱ:Attribute[J]. Hydrographic Surveying and Charting, 2016, 36(5): 61-65. (陈长林, 徐立, 黄瑞阳, 等. S-101与S-57分类编码对比分析(二):属性[J]. 海洋测绘, 2016, 36(5): 61-65. DOI:10.3969/j.issn.1671-3044.2016.05.016 ) |
| [19] |
Chen Changlin, Wei Guobing, Wang Gengfeng, et al. Contracstive Analysis of Classification and Coding Between S-101 and S-57, Part Ⅲ:Complex Structure[J]. Hydrographic Surveying and Charting, 2016, 36(6): 70-74. (陈长林, 卫国兵, 王耿峰, 等. S-101与S-57分类编码对比分析(三):复杂结构[J]. 海洋测绘, 2016, 36(6): 70-74. DOI:10.3969/j.issn.1671-3044.2016.06.017 ) |
| [20] |
Peng Wen, Sang Baichuan, Shen Jiqing, et al. Graphical Representation of IHO S-100 Universal Hydrographic Data Model[J]. Hydrographic Surveying and Charting, 2017, 37(1): 55-59. (彭文, 桑百川, 沈继青, 等. IHO S-100通用海道测量数据模型图示表达[J]. 海洋测绘, 2017, 37(1): 55-59. DOI:10.3969/j.issn.1671-3044.2017.01.014 ) |
2020, Vol. 45

