IHO S-57 (ENC)

IHO S-57 datasets are supported for read access.

The S-57 driver module produces features for all S-57 features in S-57 file, and associated updates. S-57 (ENC) files normally have the extension ".000".

S-57 feature objects are translated into features. S-57 geometry objects are automatically collected and formed into geometries on the features.

The S-57 reader depends on having two supporting files, s57objectclasses.csv, and s57attributes.csv available at runtime in order to translate features in an object class specific manner. These should be in the directory pointed to by the environment variable S57_CSV, or in the current working directory.

S-57 update files contain information on how to update a distributed S-57 base data file. The base files normally have the extension .000 while the update files have extensions like .001, .002 and so on. The S-57 reader will normally read and apply all updates files to the in memory version of the base file on the fly. The feature data provided to the application therefore includes all the updates.

Feature Translation

Normally all features read from S-57 are assigned to a layer based on the name of the object class (OBJL) to which they belong. For instance, with an OBJL value of 2, the feature is an "Airport / airfield" and has a short name of "AIRARE" which is used as the layer name. A typical S-57 transfer will have in excess of 100 layers.

Each feature type has a predefined set of attributes as defined by the S-57 standard. For instance, the airport (AIRARE) object class can have the AIRARE, CATAIR, CONDTN, CONVIS, NOBJNM, OBJNAM, STATUS, INFORM, NINFOM, NTXTDS, PICREP, SCAMAX, SCAMIN, TXTDSC, ,RECDAT, RECIND, SORDAT, and SORIND attributes. These short names can be related to longer, more meaningful names using an S-57 object/attribute catalog such as the S-57 standard document itself, or the catalog files (s57attributes.csv, and s57objectclasses.csv). Such a catalog can also be used to establish all the available object classes, and their attributes.

The following are some common attributes, including generic attributes which appear on all feature, regardless of object class. is turned on.

  Attribute Name  Description                            Defined On
  --------------  -----------                            ----------

  GRUP            Group number.			         All features

  OBJL            Object label code.  This number	 All features
	          indicates the object class of the 
                  feature. 

  RVER            Record version.

  AGEN            Numeric agency code, such as 50 for    All features
                  the Canadian Hydrographic Service.
		  A potentially outdated list is 
		  available in agencode.txt.

  FIDN            Feature identification number.         All features

  FIDS            Feature identification subdivision.    All features

  DSNM            Dataset name.  The name of the file    All features
                  the feature came from.  Used with
                  LNAM to form a unique dataset wide
		  identifier for a feature.

  INFORM          Informational text.                    Some features

  NINFOM	  Informational text in national         Some features
                  language. 

  OBJNAM          Object name				 Some features

  NOBJNM          Object name in national		 Some features
                  language.
                         
  SCAMAX          Maximum scale for display              Some features
 
  SCAMIN          Minimum scale for display              Some features
  
  SORDAT          Source date                            Some features
The following are present if LNAM_REFS is enabled:
  LNAM            Long name.  An encoding of AGEN,       All features
                  FIDN and FIDS used to uniquely 
                  identify this features within an
                  S-57 file.  

  LNAM_REFS       List of long names of related features All Features

  FFPT_RIND       Relationship indicators for each of    All Features
                  the LNAM_REFS relationships. 

Soundings

Depth soundings are handled somewhat specially in S-57 format, in order to efficiently represent the many available data points. In S-57 one sounding feature can have many sounding points. The S-57 reader splits each of these out into it's own feature type `SOUNDG' feature with an s57_type of `s57_point3d'. All the soundings from a single feature record will have the same AGEN, FIDN, FIDS and LNAM value.

S57 Control Options

There are several control options which can be used to alter the behavior of the S-57 reader. Users can set these by appending them in the OGR_S57_OPTIONS environment variable.

Starting with GDAL 2.0, they can also be specified independantly as open options to the driver.

Example:
set OGR_S57_OPTIONS = "RETURN_PRIMITIVES=ON,RETURN_LINKAGES=ON,LNAM_REFS=ON"

S-57 Export

Preliminary S-57 export capability has been added in GDAL/OGR 1.2.0 but is intended only for specialized use, and is not properly documented at this time. Setting the following options is a minimum required to support S-57 to S-57 conversion via OGR.

set OGR_S57_OPTIONS = "RETURN_PRIMITIVES=ON,RETURN_LINKAGES=ON,LNAM_REFS=ON"

See Also