desruisseaux commented on issue #10260:
URL: https://github.com/apache/iceberg/issues/10260#issuecomment-2255315231

   Citing only the libraries that I know (more may be available):
   
   * C/C++
     * PROJ can parse all the above.
     * [ESRI prototype](https://github.com/Esri/ogc-crs-wkt-parser) can parse 
WKT 2. It was a prototype created by ESRI during the development of the WKT 2 
standard, but is under Apache 2 license and can be probably be reused if 
desired.
   * In Java:
     * Apache SIS can parse all the above, with the canvas that SIS 1.4 parses 
a slightly older version of WKT 2 (ISO 19162:2015 instead of ISO 19162:2019). 
Upgrade to the latest ISO 19162 standard is in progress right now and will be 
part of SIS 1.5 release in one or two months.
     * GeoTools can parse WKT 1 and can handle `AUTHORITY:CODE` syntax. I did 
not mentioned WKT 1 in the list of allowed formats because it is potentially 
ambiguous. But for CRS where the units of measurement is restricted to degrees 
and meters and the map projection is restricted to a short list defined by [OGC 
01-009](https://portal.ogc.org/files/?artifact_id=999), it may be acceptable. 
The specification should explicitly disallow WKT 1 with other units of 
measurement for avoiding ambiguity.
     * PROJ4J may have some WKT 1 parsing capability and `AUTHORITY:CODE` 
support as well (I did not verified closely).
   * In Python:
     * I think that a large part of the community uses a binding to PROJ.
     * Otherwise, PyCRS is pure Python and have WKT 1 support.
   
   ## Caution about axis order when using authority code
   When using SRID, **axis order shall be as defined by the authority**. It 
means that `EPSG:4326` shall be (_latitude_, _longitude_), **not** 
(_longitude_, _latitude_). I know that a lot of developers hate that, but this 
rule should be strictly enforced if we do not want to cause again the confusion 
that existed for years before OGC decided to clarify this policy. It does not 
mean that we cannot use (_longitude_, _latitude_). It only means that if it is 
(_longitude_, _latitude_), don't call it `EPSG:4326`. Use another name, for 
example `OGC:CRS84`, or use WKT where axis order can be specified.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org
For additional commands, e-mail: issues-h...@iceberg.apache.org

Reply via email to