Hello all
Apache SIS has been blocked on EPSG version 9.9.1 (the latest version of
the 9.x series) for 6 years. It was because the ISO 19111 international
standard has evolved for supporting the greater accuracy of modern
geodesy with the addition of new concepts such as dynamic reference
systems and datum ensembles. Following this evolution, the schema of the
EPSG database changed. This schema change requires changes in the SQL
queries used by Apache SIS, together with new data structures. This task
is now in the following state, available on the main branch of source
code repository:
* New data structures such as datum ensembles are there.
* SQL queries have been adapted and can read EPSG version 12.
* Compatibility with EPSG version 9 is preserved.
The reason for the last point is because Apache SIS can connect to an
existing EPSG database, for example on PostgreSQL. It does not force the
use of the `sis-epsg` or `sis-embedded-data` JAR files. The latter are
only convenience. Because EPSG version 9 may exist on a user's machine,
the transition is easier if SIS is still able to read the legacy schema.
Therefore, SIS detects automatically which version of the EPSG database
schema is in use and adapts its SQL queries accordingly.
Actually, SIS can connect simultaneously to many EPSG databases of
different versions, and an EPSG code such as "EPSG:9.9.1:4326" will use
the database of the specified version (9.9.1). Therefore,
"EPSG:9.9.1:4326" will create a WGS 84 CRS associated to a
`GeodeticDatum`, while "EPSG:12.013:4326" will create a WGS 84 CRS
associated to a `DatumEnsemble` (if SIS is connected to those two EPSG
databases).
The following tasks remain to be done:
* Update the `sis-epsg` and `sis-embedded-data` convenience files.
* Upgrade WKT 2 support for the new data structures.
Because this EPSG upgrade was the most important feature desired for SIS
1.5, I suggest to prepare release candidates for SIS 1.5 soon after the
upgrade of `sis-epsg` and `sis-embedded-data`, with RC1 tentatively
Friday or early next week. RC1 would be more for testing than a real
release candidate, but RC2 should be close to final.
Is there any comment, suggestion, objection?
Martin