基于 ArcGIS 的网络电子海图配置研究与实现

海图是地图的一种,是以表示海洋区域制图现象的一种地图。电子海图是以矢量格式表示的、主要以描述海域要素为主,详细表示水深、航行障碍物、助航标志、港口设施、潮流、海流等要素的数字化海图,使现代航海更安全、更高效。

电子海图分为标准电子海图(ENC)和非标准电子海图(EC)。标准电子海图符合IHO标准《数字化海道测量数据传输标准》(S-57标准),必须按照S-57的特征物标编码、几何图形制作,保证了数据传递过程中的正确性。标准电子海图必须由各国官方海道测量机构,并且按IHO统一分配的机构代码制作并发布,这种标准电子海图又叫做官方电子海图。

非标准电子海图(EC)是指不符合IHO相关标准的电子海图。ArcGISforServer是ArcGIS系列产品之一,可以提供便捷稳定的网络地图(海图)服务。在通过ArcGIS对电子海图进行网络发布前,需要通过ArcGIS对电子海图进行格式的转换,并且使用ArcGIS软件进行电子海图配置,即对电子海图数据要素的分级、分层、标注等编辑操作,使其更适合在网页上显示。

一、相关软件工具

ArcGIS系列软件,是地理信息界巨头Esri公司的主要GIS平台产品,具有强大的地图制作、空间数据管理、空间分析、空间信息整合、发布与共享的能力。ArcGIS包括:ArcGIS桌面产品、服务器GIS、移动GIS、ArcGISEngine等产品。

ArcGISDesktop(ArcGIS桌面产品),是一个集成了众多高级GIS应用的软件套件,包括:ArcCatalog、ArcMap、ArcGlobe、ArcToolbox和ModeBuilder。通过协调一致地调用应用和界面,可以实现任何从简单到复杂的GIS任务,包括:制图、地理分析、数据编辑、数据管理、可视化和空间处理。

Geodatabase(地理空间数据库),对象关系型数据库,同时将空间数据和属性绑定起来,拓扑数据也能存储在Geodatabase中并对特性进行建模。本次研究使用FGDB存储海图数据,因其效率高且储存数据量无限制。ArcGISNauticaSolution(ArcGIS电子海图解决方案),是ArcGISDesktop的一个扩展模块,为电子海图数据生产、数据转换、存储、服务发布等提供了全套解决方案。该模块支持基于S-57的海图数据交换格式,支持基于S-52的海图显示标准。通过ArcGISNauticalSolution可以将海图数据(.000格式数据)导入到Geodatabase中,并能在ArcMap中正确显示和编辑海图数据。

在Nautical库中每一个海图要素类又包括很多物标,这些物标编码与S-57标准是一致的。

二、海图配置遵循的规范和原则

(一)规范

1.IHOS-57标准

IMOECDIS性能标准要求,ECDIS中使用的海图信息应是由权威海道测量部门提供的符合IHO标准的最新信息;ECDIS应能够接受符合IHO标准的正式的ENC改正数据。

2.IHOS-52标准

电子海图的要素符号遵循IHOS-52附件2中关于电子海图上符号使用的规定。

3.《电子地图规范》

根据《电子地图规范》,构建统一的地图瓦片金字塔。将固定范围的某一比例尺下的地图按照指定的尺寸切成若干行与列的正方形栅格图片,提高网络电子海图显示的响应速度。

(二)原则

1.要素叠加原则

总体上,海图要素按照点、线、面要素的规则进行叠加;不同海图要素根据重要程度进行叠加;需要重点突出的要素优先到上层。

2.要素显示内容配置原则

显示比例尺越大,要素内容越丰富;显示出来的海图要素应有类别、主次之分,在满足信息显示的前提下要素内容不能过于凌乱而影响读图;大比例系列海图压盖小比例尺系列海图。不应有数据重叠情况,有重叠现象时,要对重叠部分进行裁剪,一般保留大比例尺海图数据内容。

3.注记配置原则

注记字体、字号、颜色及位置的设置应合理,显示清晰不凌乱。

三、数据准备与分析

电子海图以航海用途区分,可以分为六类。电子海图数据文件名根据IHO要求和规定编制。中国海事电子海图的数据文件名是CN******.000。其中“CN”是中国海事的代码(由IHO统一分配)、第一位数字表示航海用途(见表1),后五位数字为图号,000是数据文件后缀;小改正更新数据的文件是CN******.nnn,其含义与基础数据文件名的意义相同,但后缀根据小改正更新次数进行编号,最大可达到999次,如第十次小改正更新,其文件名是CN******.010。

本次研究所用的数据是北方海区沿岸航行图、近岸航行图、港口图以及中国海域底图(总图)四类航海用途的S-57标准电子海图,共138幅。

四、电子海图配置的技术流程

(一)检查图幅重叠问题

电子海图数据在转换到FileGeodatabase中时,图幅重叠部分同一物标重复记录,使电子海图显示时出现相同要素及其标注重复显示的问题。

因此,要先检查是否有重叠的图幅,将重叠的部分进行裁剪处理,一般保留大比例尺的图幅数据。由于四类航海用途的S-57标准电子海图是分别存储于四个FileGeodatabase中的,因此只需检查同一航海用途的图幅之间有无重叠情况即可。

(二)数据的转换与导入

S-57标准电子海图需通过ArcGISNauticalSolution导入到FileGeodatabase中,才能实现对海图要素的编辑以及分级、分层显示。为了便于管理和数据编辑,将四类航海用途的S-57标准电子海图分别存储于四个FileGeodatabase中,可以将四个FileGeodatabase分别命名为CN1、CN3、CN4、CN5。

使用ArcGISDesktop新建的FileGeodatabase并不能直接导入电子海图文件(.000格式),必须要先向FileGeodatabase导入一个XML工作空间文件,文件名叫做NAUTICAL_NIS_TEMPLATE_GX_10.1.0.0.XML,这个文件是ArcGISNauticalSolution提供的。

MXL文件导入完成后,会发现数据库中多了一个名称为‘Nautical’的要素数据集,包含有可以存储电子海图要素的各个要素类。然后将电子海图图幅数据导入至FileGeodatabase中,导入的过程也是数据格式转换的过程,物标在FileGeodatabase中按照S-57标准进行分类,归入相应要素类中,其属性信息存储于属性表中,以实现对电子海图的分层显示(一个要素类为一层)。

(三)电子海图要素分级、分层配置方案

对于电子海图的显示,往往要考虑到比例尺放大或缩小时海图要素显示的内容。当海图比例尺缩小时,往往造成了海图各要素之间相互挤压或重叠,噪声量很大程度的增加甚至看不清;相反,海图比例尺放大时,海图深一层的信息未被体现,海图的要素简单罗列放大,既浪费海图显示空间,又得不到具体海图要素的内容。因此,需对电子海图要素进行分级、分层显示同时还要考虑到海图要素的注记和符号合理的显示。

本次研究所用的电子海图共138幅,按航海用途分为四类。将这四类图幅分别导入至FileGeodatabase后,所有相同航海用途的图幅“融合”得到“CN1”“CN3”“CN4”“CN5”四“大”幅电子海图。根据四幅电子海图中物标的最小比例尺属性值,确定不同比例尺级别下显示的电子海图及其物标。其中,“CN1”为中国海域底图,在全比例尺范围下显示。

对电子海图要素进行分级、分层显示,共分为12个级别。按照《电子地图规范》的规定对每一级的显示比例尺和包含的图幅类别进行设置,比例尺设置如下表1所示。


经过反复的研究与实践,根据配置原则和规范要求,制定了每一层级的要素类显示方案。

(四)根据配置方案配置海图

将四个FileGeodatabase中的数据加载至ArcMap,并分别归入四个图层组中,这四个图层组不妨也命名为CN1、CN3、CN4、CN5。因为ArcGIS具有动态投影功能,只需设置数据框的投影为墨卡托投影即可,然后通过ArcGISNauticalSolution对数据进行符号化。再新建12个图层组,分别用来存放12个层级的要素类。

根据配置方案,在ArcMap中通过对要素类图层一系列的复制、拖动、移除等操作。

根据配置方案,对每一个层级中的每一个要素类进行相关的显示设置,并保存为mxd文档,该文档可以作为模板文档使用。mxd地图文档只是工作空间,里面保存着载入数据的图层路径和要素类图层的各种属性设置等,里面并没有真正的数据。当将其保存的载入数据路径下的电子海图数据更新后,再打开该mxd文档,其中的数据就是更新后的数据了,而且图层结构和各个要素层的各种显示设置都保持原样。

电子海图数据通过ArcGISNauticalSolution符号化后,仍然存在三种符号显示问题:①助航标志顶标偏移;②扇形光灯圆心位置不重合;③表示位置不确定的沉船符号显示过大。这些符号显示问题可以通过ArcGIS的制图表达工具进行调整,这里不再赘述。


配置完毕后,就可以通过ArcGISforServer发布网络电子海图服务了。