geopackage icon indicating copy to clipboard operation
geopackage copied to clipboard

"Undefined Cartesian SRS" and units...

Open theroggy opened this issue 1 year ago • 2 comments

According to the GeoPackage specs, data should have an srs, and data in an "Undefined Cartesian SRS" should be saved with srs_id = -1: https://www.geopackage.org/spec/#r11. However, there is nothing mentioned about the units of this generic "Undefined Cartesian SRS".

In GDAL the "Undefined Cartesian SRS" is interpreted as using "meter" units, so when reading data, srs_id -1 is returned as an SRS having "meter" units. The other way around as well: when writing a Geopackage, if a wkt with an undefined cartesian wkt but (only) with "meter" units is used, this maps to srs_id -1.

In r-spatial (https://github.com/r-spatial/sf/issues/2049) the choice was made that when saving data without srs specified, a WKT is used that specifies the units to be "undefined". In GDAL, this leads to a "custom SRS" being saved in the GPKG, so an srs_id >= 100.000 instead of -1, which doesn't feel like being according to the GPKG specs?

Because we are implementing the same use case for GeoPandas GeoDataFrames with unknown srs, we are wondering, what is the best way to go about this?

xref: https://github.com/OSGeo/gdal/issues/9580 xref: https://github.com/geopandas/pyogrio/pull/368

theroggy avatar Mar 30 '24 11:03 theroggy

Undefined CRS has also been considered within the JSON-FG work https://github.com/opengeospatial/ogc-feat-geo-json/issues/36 and GeoPackage standard was used as reference. As a result two Engineering CRSs were created, one for 2D and another for 3D

https://www.opengis.net/def/crs/OGC/0/Engineering2D https://www.opengis.net/def/crs/OGC/0/Engineering3D

Both are using metre as unit http://www.opengis.net/def/uom/UCUM/0/m

The OGC Public Comment phase for the JSON-FG standard is just started so please consider sending your comments about the uoM also there.

jratike80 avatar Mar 30 '24 11:03 jratike80

@edzer ?

theroggy avatar Apr 20 '24 06:04 theroggy