Hello,
I use FME to transform data in S-57 format (the native format of our databases) into more traditional formats, in particular shapefiles.
The database export is therefore in S-57 format (extension .000), with the classes and attributes present for the ENCs, but this model is enriched with additional attributes and classes. This can be done by modifying the files s57attributes.csv, s57objectclasses.csv and s57expectedinput.csv in the directory $FME_HOME/s57 (Custom Object Classes File and Custom Attributes File). These files are also useful for correctly displaying additional attributes and classes in QGis (in the directory C:\\Program Files<QGIS>\\share\\gdal). While in QGis an S-57 file with additional classes and attributes is displayed correctly, this is not the case in FME.
- For additional classes: some are handled correctly, others generate an error when read and you can't go further in the processing (there are also cases where the class seems to be ignored, without crashing the processing). It seems that this is related to the class identifier that appears in the file s57objectclasses.csv
- For additional attributes: some are correctly handled, others are not read. In the same way, it seems that it is related to the identifier of the attribute which appears in the file s57attributes.csv
In both cases, if the values of the class or attribute codes are too high, the classes or attributes are misread.
Both QGis and FME rely on the gdal library to read the S-57 format. It seems that the implementation of gdal in FME is not complete.
I am working with the following version of FME: FME(R) 2020.1.1.1 (20200817 - Build 20614 - WIN64)
An upgrade to FME 2022 is planned for my workstation in the near future. However, from what I've read, I don't think there have been any improvements on the Reader S-57 since then.
I am attaching the 3 csv files s57attributes.csv, s57objectclasses.csv and s57expectedinput.csv as well as 2 S-57 files for analysis: test_s57_2_classes.000 (1 S-57 class + 1 additional class correctly read) and test_s57_3_classes.000 (the same objects as test_s57_2_classes.000 + 1 additional class incorrectly read: aisatn). The objects of the 2 files contain additional attributes not managed by FME: for example "resume" or "descrp".
I have found a solution with the use of the ogr2ogr executable, but this makes processing more complex.
Can anyone from safe could analyze my problem ?
Regards,
Mélanie