def test_parse(): assert crs_util.parse_name(TEST_WKT) == "WGS 84" assert crs_util.parse_authority(TEST_WKT) == ("EPSG", "4326") assert crs_util.parse_name(AXIS_LAST_WKT) == "WGS 84" assert crs_util.parse_authority(AXIS_LAST_WKT) == ("EPSG", "4326") # Strangely this doesn't entirely work using osgeo: spatial_ref = SpatialReference(TEST_WKT) assert spatial_ref.GetName() == "WGS 84" assert spatial_ref.GetAuthorityName(None) is None assert spatial_ref.GetAuthorityCode(None) is None
def wkt_to_gpkg_spatial_ref_sys(wkt): """Given a WKT crs definition, generate a gpkg_spatial_ref_sys meta item.""" spatial_ref = SpatialReference(wkt) organization = spatial_ref.GetAuthorityName(None) or "NONE" srs_id = crs_util.get_identifier_int(spatial_ref) return [{ "srs_name": spatial_ref.GetName(), "definition": wkt, "organization": organization, "srs_id": srs_id, "organization_coordsys_id": srs_id, "description": None, }]
def wkt_to_gpkg_spatial_ref_sys(wkt): """Given a WKT crs definition, generate a gpkg_spatial_ref_sys meta item.""" # TODO: Better support for custom WKT. https://github.com/koordinates/sno/issues/148 spatial_ref = SpatialReference(wkt) spatial_ref.AutoIdentifyEPSG() organization = spatial_ref.GetAuthorityName(None) or "NONE" srs_id = spatial_ref.GetAuthorityCode(None) or 0 return [{ "srs_name": spatial_ref.GetName(), "definition": wkt, "organization": organization, "srs_id": srs_id, "organization_coordsys_id": srs_id, "description": None, }]