[Java-collab] Re: [Geotools-devel] GeoTools moving forward

Martin Desruisseaux martin.desruisseaux at geomatys.fr
Fri Oct 10 14:56:28 EDT 2008


Paul Austin a écrit :
> I think the best way to identify a coordinate system is a
> CoordinateSystem object which models the WKT CoordinateSystem.

This is exactly what OGC 01-009 specification did:

    http://www.opengeospatial.org/standards/ct

Actually the WKT specification is defined in this document. So when we talk
about WKT format, we actually talk about OGC 01-009 objects model. However this
specification has been replaced by ISO 19107, which serve the same purpose than
OGC 01-009 but with a better structure.

    http://www.opengeospatial.org/standards/as
    Topic 2: Spatial Referencing by Coordinates

There is a number of reasons for that. The WKT model has a few limitations (e.g.
point #3 below) and is seriously broken regarding point #1 below, so seriously
that I would strongly suggest to *NOT* use it except for legacy format like WKT:

  1) In OGC 01-009, there is no reliable way to differentiate cartesian
     coordinate system from ellipsoidal one. We can guess in some cases
     (Geographic CRS == ellipsoidal CS, ProjectedCRS == cartesian CS),
     but not in all cases. Geocentric CRS can have both a spherical and
     an cartesian CS, and Engineering CRS (called "LOCAL_CS" in WKT) can
     have any kind of CS. This is a real problem when we want to perform
     any calculation (distances, angles, etc.) on the coordinate values.
     If you don't know the Coordinate System (cartesian, spherical, etc.)
     you are stuck.

  2) Axis directions of Geocentric CRS are inacurate in OGC 01-009. It
     said (NORTH,EAST,OTHER) while it should be (GEOCENTRIC_X, GEOCENTRIC_Y,
     GEOCENTRIC_Z). Handling the "OTHER" direction in particular is
     problematic. Reminder: Geocentric CRS is used as an intermediate
     step for computing datum shifts using Bursa Wolf parameters, so
     you really need them.

  3) OGC 01-009 do not handle the time axis. ISO specifications do.

ISO 19107 fixes all the above-cited limitations found in OGC 01-009. ISO
specifications has been elaborated by experts, provides a good objects model
which replaced OGC 01-009 at OGC and can be downloaded for free at the above
cited link.

Giving all the above, why using the deprecated OGC 01-009 objects model instead
than ISO 19107?

	Martin


More information about the Java-collab mailing list