Hello all
The WKT 1 and 2 parser and formatter are now completed. I would like to
propose an extension for making easier a common usage. Since this
proposition is outside the scope of ISO 19162 standard, I would like to
submit it for discussion.
Among other usages, the WKT format is convenient for allowing users to
define their own Coordinate Reference System (CRS) in addition to the
ones published in the EPSG database. We can support this need with a
file of (key,value) pairs, for example:
myCRS1 = GeodeticCRS[... WKT description here ...]
myCRS2 = GeodeticCRS[... other WKT description ...]
myCRS3 = ProjectedCRS[... WKT description here ...]
etc.
However those files tend to be large with lot of redundancy. For example
there is often many CRS using the same ellipsoid (typically WGS84). The
proposal is to allow users to assign to a variable the value of a WKT
fragment, and allow usage of such variables in larger WKT. The syntax
would be similar to the use of environment variables in Unix: the "$"
sign would mean "insert here the value of the variable". So if the
following value is assigned to the "MyEllipsoid" variable:
Ellipsoid[“Bessel 1841”, 6377397.155, 299.1528128]
Then the following WKT:
GeodeticCRS[“Tokyo”, Datum[“Tokyo”, *$MyEllipsoid*], ...rest of WKT
omitted...]
Would be equivalent to:
GeodeticCRS[“Tokyo”, Datum[“Tokyo”, Ellipsoid[“Bessel 1841”, 6377397.155,
299.1528128]], ...rest of WKT omitted...]
This syntax is already implemented for testing purpose (see "String
expansion" in
https://builds.apache.org/job/sis-dev/javadoc/org/apache/sis/io/wkt/WKTFormat.html),
but we could modify it if there is proposal to do otherwise. Does anyone
have comment?
Martin