海图数据标准S57的航海基础地理数据库设计探究
2018-06-17傅成来
傅成来
摘要:本文通过对S-57标准的研究,介绍分析S-57标准数据的模型、结构、特征,实现S-57标准与Shape数据格式的转换,在ArcMap中有效显示与查看。安装完成ArcSDE与Oracle的连接、调整、配置,实现S-57数据标准在数据库中的输入与提取,最终完成航海地理数据库的设计。
关键词:电子海图;S-57标准;Oracle;ArcSDE;地理数据库
1.引 言
S-57 是国际海道测量组织(InternationalHydrographic Organization)规定的电子海图数据交换国际标准格式文件,在数据模型上,S-57 采用了面向对象的思想,对实体世界的地物进行了对象类的划分,建立各类的属性描述,类由点、线、面几何特征描述,。
2 S-57数据的转换及优化
2.1 S-57与Shape转换的实现
数据转换就是读取现有海图数据,根据对照表以程序执行方式分别将S-57中建立好的的孤立节点、连接节点、边表和水深点表输入到矢量数据(.shp 文件)中,将各目标类的要素/属性表输入到特征数据(.dbf 文件)中,将S-57 元数据表中(包括CATD、DSID、DSSI、DSPM等字段内容)输入到控制文件(.rec 文件)中。
2.2转换前后的结果比对
分别对C1511711QHD.000、CN15440GZ.000、GB4X0000.000进行转换,转换后的(*.shape)文件在ArcMap中显示打开,现在以 “GB4X0000.000”为例,对比转换前后的结果。
3 S-57地理数据库的设计
3.1 ArcSDE与Oracle的连接配置
S-57标准数据经过软件的转换,得到了Shape格式的文件,将这些数据加载到空间数据库中。如下图,是加载的过程。
3.2地理数据库的查询与检测
3.2.1 空间数据库关联表
数据库详细表结构如表1至表2所示。
(1)表1为物标索引表,存放特征物标目录信息,表主键为(MPNM,FIND)。
(2)表2为特征记录属性表,存放特征物标属性信息,每条记录为一个特征物标属性的一个属性值信息,表主键为(MPNM,FIND,ATTL),通过(MPNM,FIND)与物标索引表相关联。
3.2.2 Oracle中真实地物的存储
在航标灯的属性表中包含了航标灯名称、类型、属性、X坐标、Y坐标这些字段。 对于航向而言,在实际中就是一个带有箭头的线段,因此它就包含了四个点坐标。在航道中,它表示河流区域,所以是由许多个点组成的。
3.3 SDE空间数据库的调用
利用Java和ArcEngine编写程序,调用SDE空间数据库的属性表,并且打开属性表显示其中的字段及其类型。程序代码如下:
//定义一维数据作为列标题
private Object[][] getTableData(ITable sde_Table){
Object[][] tableData = null;
try {
IFields pFlds = sde_Table.getFields();
tableData = new Object[pFlds.getFieldCount()][2];
for(int i=0;i IField pFld = pFlds.getField(i); String pFTName = null; switch(pFld.getType()){ case 0:pFTName = "短整型";break; case 1:pFTName = "长整型";break; case 2:pFTName = "单精度";break; case 3:pFTName = "双精度";break; case 4:pFTName = "文本";break; case 5:pFTName = "日期"; } tableData[i][0] = pFld.getName(); tableData[i][1] = pFTName; } } catch(AutomationException e){ e.printStackTrace(); } catch(IOException e){ e.printStackTrace(); } return tableData; } 4. 结 果 本文通过对基于S-57标准的航海地理数据进行分析与处理,首先通过程序代码将S-57标准数据(包括C1511711QHD.000、CN15440GZ.000、GB4X0000.000)转换成SHAP格式的数据。在地理数据库设计的过程中,结合数据库的理论模型、实施方法和具体数据结构设计的实例,通过ArcSDE空间搜索引擎与Oracle连接,将转换后的SHAP格式的S-57标准数据存入到空间数据库中,然后编写程序代码,调用SDE空间数据库中的属性表,查看S-57空间数据库的关联表,实现简单的调用和查询过程。 参考文献 [1]孟婵媛,翟京生,陆毅.S-57数据的组织与实现[J].测绘学院学报,2003,20(4) [2]孔德宁,黄伟,曹万华.基于S-57自定义海图数据转换及优化[J].船舶电子工程,2007,157(1) [3]孟婵媛,翟京生,陆毅,贾俊涛. Shape 格式海图数据向S257 格式的转换[J].海洋测绘,2004,24(5) [4]范新云. 建立电子海图航标数据库的探讨[J].中国航海,2007,27(3) [5]李宏利,李汉荣,朱建良,汪海.基于IHO S-57标准的海图数据库建设[J].地理信息科學,2004,6(1) (作者单位:盐城市海域使用动态监管中心)