S57系列

也被称为S57。IHO S-57格式是用于海图的矢量交换格式。它是由国际水文学组织(IHO)开发的。欲了解更多有关国际移民组织的信息,请访问:https://iho.int/

文件列表

每个S57数据文件的扩展名为*.000。例如:

US1BS02M.000

数据访问/连接方法

  • 通过OGR访问MapServer中的S57 S57 driver

  • 连接型OGR 必须指定。

  • 指定从SHAPEPATH到.000文件的完整路径或相对路径 CONNECTION

  • 使用Data参数指定S57图层名

特别注释

在MapServer中读取S57数据时,底层OGR代码需要GDAL/OGR安装中的两个文件: s57objectclasses.csvs57attributes.csv 。这些文件位于/GDAL/Data/文件夹(Unix: /usr/local/share/gdal 窗口: /ms4w/gdaldata )。如果在MapServer中收到错误,如:

msDrawMap(): Image handling error. Failed to draw layer named 's57'.
msOGRFileOpen(): OGR error. xxx failed for OGR connection

您可能需要使用映射文件主部分中的config参数将mapserver指向这些文件:

CONFIG GDAL_DATA "C:\ms4w\gdaldata"

Ogrinfo示例

在S57文件上使用ogrinfo获取层名:

> ogrinfo us1bs02m.000

ERROR 4: S57 Driver doesn't support update.
Had to open data source read-only.
INFO: Open of `us1bs02m.000'
using driver `IHO S-57 (ENC)' successful.
1: ADMARE (Polygon)
2: CBLSUB (Line String)
3: CTNARE
4: COALNE (Line String)
5: DEPARE
6: DEPCNT (Line String)
7: LNDARE
8: LNDELV
9: LNDRGN
10: LNDMRK
11: LIGHTS (Point)
12: OBSTRN
13: RDOSTA (Point)
14: SEAARE
15: SBDARE
16: SLCONS
17: SOUNDG (Multi Point)
18: UWTROC (Point)
19: WATTUR
20: WRECKS
21: M_COVR (Polygon)
22: M_NPUB (Polygon)
23: M_NSYS (Polygon)
24: M_QUAL (Polygon)
25: C_ASSO (None)

使用ogrinfo检查S57层的结构:

    > ogrinfo us1bs02m.000 DEPARE -summary

    ERROR 4: S57 Driver doesn't support update.
    Had to open data source read-only.
    INFO: Open of `us1bs02m.000'
    using driver `IHO S-57 (ENC)' successful.

    Layer name: DEPARE
    Geometry: Unknown (any)
    Feature Count: 297
    Extent: (165.666667, 48.500000) - (180.000000, 60.750000)
    Layer SRS WKT:
    GEOGCS["WGS 84",
DATUM["WGS_1984",
    SPHEROID["WGS 84",6378137,298.257223563]],
PRIMEM["Greenwich",0],
UNIT["degree",0.0174532925199433]]
    GRUP: Integer (3.0)
    OBJL: Integer (5.0)
    RVER: Integer (3.0)
    AGEN: Integer (2.0)
    FIDN: Integer (10.0)
    FIDS: Integer (5.0)
    LNAM: String (16.0)
    LNAM_REFS: StringList (16.0)
    DRVAL1: Real (0.0)
    DRVAL2: Real (0.0)
    QUASOU: String (0.0)
    SOUACC: Real (0.0)
    VERDAT: Integer (0.0)
    INFORM: String (0.0)
    NINFOM: String (0.0)
    NTXTDS: String (0.0)
    SCAMAX: Integer (0.0)
    SCAMIN: Integer (0.0)
    TXTDSC: String (0.0)
    RECDAT: String (0.0)
    RECIND: String (0.0)
    ...

映射文件示例:

LAYER
  NAME "s57"
  TYPE POLYGON
  STATUS ON
  CONNECTIONTYPE OGR
  CONNECTION "./s57/us1bs02m.000"
  DATA "DEPARE"
  CLASS
    STYLE
      COLOR 247 237 219
      OUTLINECOLOR 120 120 120
    END #style
  END #class
END #layer