公司动态
IHO S-57标准电子海图(ENC)结构
物理格式ISO/IEC 8211 交换格式生产方中国海事局MSA规模约350余个独立图幅cell每个图幅由1个基础文件若干更新文件组成一、文件命名规则每个文件名形如CNNNNNNN.NNN1. 扩展名扩展名含义.000基础文件该图幅的原始完整数据.001~.NNN更新文件航海通告补丁按时间顺序逐期累积举例C1210012 有.000 一直到.068 - 基础版67次更新C1315020只有.000 - 发布后从未更新过注意无人艇加载时必须先读.000再按编号把所有.00N更新逐个叠加才是当前最新的海图。直接用.000等于是过期数据2. 主文件名——编码[产生国比例尺等级图号]对照本数据集第3位导航用途1~6和图幅数量分布完全吻合第3位导航用途大致比例尺本数据集图幅数1Overview 概览/远海总图1:300万4幅2General 总图~1:100万11幅3Coastal 沿海~1:35万~40幅4Approach 近岸/进港~1:9万~40幅5Hatbour 港区~1:2万~150幅6Berthing泊位1:4000~110幅规律比例尺越小总图一张图覆盖越大、图幅数量少比例尺越大港区/泊位一张图覆盖越小、图幅数量多。二、 单个.000文件的内部数据结构S-57文件是ISO/IEC 8211[自描述]格式文件自己带一份“字段说明书”再跟实际数据。所以每个文件分两大块S-57把数据组织成三大类记录###1. 数据集级记录整张图只有一组描述[这张图本身]字段全名作用DSIDData Set Identification图名、生产机构AGEN、更新号UPDN、发布日期等DSSIData Set Structure Information本图的统计物标总数NOFR、空间记录等DSPMData Set Parameter Measurement编译比例尺CSCL、坐标系/投影、图幅地理边界范围等核心参数2. 空间记录VRID开头——几何骨架只存纯粹的几何点、线、多边形坐标不带任何[这是什么]的语义字段含义VRID空间记录的ID类型孤立节点/连接节点/边SG2D/SG3D二维/三维坐标存的是相对坐标要乘DSPM里的CSCL才还原成WGS84经纬度VRPT矢量指针把节点串成边、把边串成拓扑3. 物标记录FRID开头——语义内容航海最关心的把现实地物灯塔、沉船、水深区…描述出来并通过指针挂到几何上字段含义FRID物标记录ID物标类别FOID物标全局标识FIDN FIDS跨图幅唯一ATTF国标标准属性如水深值、灯质、颜色NATF国家本地属性FFPT物标 - 物标的关联指针FSPT物标 - 空间的指针把语义挂到VRID几何上物标种类遵循S-57 Object Catalogue约180多类对无人艇避障/航迹规划最关键的几类DEPARE 可水深区、SOUNDG 测探点OBSTRN 障碍物、WRECKS 沉船、UWTROC 水下礁石SLCONS 岸线、MARCUL 海藻/养殖区、 LIGHTS 灯标三、更新文件.NNN和基础文件.000的区别结构和 .000 基本一样但多了几个带CControl的[控制指针]字段这些Control字段里的 RUIN 就是操作指令所以 ECDIS加载更新时是按记录级别做增/改/删不需要重发整张图——这就是-57海图能持续、低成本保持最新的机制。四、USV航迹规划时的实操要点别自己手解二进制——IS8211 S-57解析很繁琐直接用现成库GDAL/ORG(命令行 ogrinfo/ogr2ogr 直接读S-57)或OpenCPN内核、pydro(NOAA)务必按顺序应用全部更新(.000 - .001 - …- 最大号)否则用的就是过期图。坐标是WGS84经纬度但文件里存的是相对坐标需用DSPM的CSCL还原。避障核心从物标层FRID/FOID/ATTF提取 OBSTRN / WRECKS / UWTROC / DEPARE-SOUNDG / MARCUL通过 FSPT 指针拿到它们的几何构建可航水域栅格或矢量再做路径搜索。