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