Tuesday 29 April 2014

Creating an S-57 ENC Display with OpenLayers and GeoServer

Something that I have been wanting to do for a long time - that is to render S-57 ENC (Electronic Navigation Charts) using OpenLayers and GeoServer.

The process starts with converting the S-57 ".000" file in numerous Shapefiles using ogr2ogr. S-57 Objects have Geometric Primitives like Points, Lines, and Polygons; and are tied to Spatial Objects that have coordinates. The conversion then has to be done for each Geometry type:

ogr2ogr -skipfailures -f "ESRI Shapefile" point US5FL24M.000 -nlt POINT
ogr2ogr -skipfailures -f "ESRI Shapefile" line US5FL24M.000 -nlt LINESTRING
ogr2ogr -skipfailures -f "ESRI Shapefile" area US5FL24M.000 -nlt POLYGON


These commands will create point, line, polygon Shapefiles in corresponding folders for S-57 file US5FL24M.000 - note that many of the output files will be not-applicable (possibly blank) and we need to refer to the S-57 Specification to see which Class has which Geometric Primitives. Example is LNDARE which is "land area" - this supports both area and point geometries and needed to be styled for both.

Next step then was to figure out the specification for each S-57 Class and how it is styled based on the S-52 Specification for ECDIS Display. I created several styles using SLD for several key layers. The initial results look promising:



There are many complexities built into the rules of S-52, some Classes have several pages of Activity Diagrams that need to be translated into SLD.

Comments are most welcome.
 

6 comments:

  1. Very interesting, I tweet the post and @simogeo comment if is possible share the SLDs?

    thanks

    ReplyDelete
    Replies
    1. Thank you for your comment.

      I shall be writing some additional posts about the styles in the near future. I only have access to some of the draft S-52 documents and so the my styling rules are not complete as per spec, but usable I believe.

      Delete
  2. Ciao,
    any luck with sharing the SLDs with us? :)

    ReplyDelete
  3. Great, can you also please share SLD's

    ReplyDelete
  4. This is really an excellent blog as well as its content. http://urgentcarenearme.me/

    ReplyDelete
  5. I found decent information in your article. I am impressed with how nicely you described this subject, It is a gainful article for us,ECDIS navigation Thanks for share it.

    ReplyDelete