[Java-collab] Re: [Geotools-devel] GeoTools moving forward
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:
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.
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
Giving all the above, why using the deprecated OGC 01-009 objects model instead
than ISO 19107?
More information about the Java-collab