From d86b098f1f394c46230358cff305e71d3c2cc985 Mon Sep 17 00:00:00 2001 From: Even Rouault Date: Sat, 6 Jul 2024 14:35:43 +0200 Subject: [PATCH] Add IDNK authority --- data/sql/idnk.sql | 59 +++++++++++++++++++++++++++++++++++++++++ data/sql_filelist.cmake | 1 + 2 files changed, 60 insertions(+) create mode 100644 data/sql/idnk.sql diff --git a/data/sql/idnk.sql b/data/sql/idnk.sql new file mode 100644 index 0000000000..62b772908e --- /dev/null +++ b/data/sql/idnk.sql @@ -0,0 +1,59 @@ +-- Self-appointed authority, originating from https://talks.osgeo.org/media/foss4g-europe-2024/submissions/B8CETX/resources/WGS_84_I_dont_know_I_dont_care_pTbpl9n.pdf + +-- Geodetic CRS + +INSERT INTO "geodetic_datum" VALUES('IDNK','DATUM','Unknown geodetic datum','Datum to be used when the actual datum is unknown, instead of misusing WGS84','EPSG','7019','EPSG','8901',NULL,NULL,NULL,NULL,NULL,0); +INSERT INTO "usage" VALUES('IDNK','DATUM_USAGE','geodetic_datum','IDNK','DATUM','PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN'); + +INSERT INTO "geodetic_crs" VALUES('IDNK','GEOGRAPHIC','Unknown geographic 2D CRS','Geographic CRS to be used when the actual datum is unknown, instead of misusing WGS84','geographic 2D','EPSG','6424','IDNK','DATUM',NULL,0); +INSERT INTO "usage" VALUES( + 'IDNK', + 'GEOGRAPHIC_USAGE', + 'geodetic_crs', + 'IDNK', + 'GEOGRAPHIC', + 'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN'); + +INSERT INTO "geodetic_crs" VALUES('IDNK','GEOGRAPHIC_3D','Unknown geographic 3D CRS','Geographic 3D CRS to be used when the actual datum is unknown, instead of misusing WGS84','geographic 3D','EPSG','6423','IDNK','DATUM',NULL,0); +INSERT INTO "usage" VALUES( + 'IDNK', + 'GEOGRAPHIC_3D_USAGE', + 'geodetic_crs', + 'IDNK', + 'GEOGRAPHIC_3D', + 'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN'); + +INSERT INTO "geodetic_crs" VALUES('IDNK','GEOCENTRIC','Unknown geocentric CRS','Geocentric CRS to be used when the actual datum is unknown, instead of misusing WGS84','geocentric','EPSG','6500','IDNK','DATUM',NULL,0); +INSERT INTO "usage" VALUES( + 'IDNK', + 'GEOCENTRIC_USAGE', + 'geodetic_crs', + 'IDNK', + 'GEOCENTRIC', + 'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN'); + +-- UTM zones + +WITH RECURSIVE zone_counter (zone) +AS (SELECT 1 UNION ALL SELECT zone+1 AS new_zone FROM zone_counter WHERE new_zone <= 60) +INSERT INTO "projected_crs" SELECT 'IDNK','UTM_' || zone || 'N','Unknown / UTM zone ' || zone || 'N','UTM based CRS to be used when the actual datum is unknown, instead of misusing WGS84','EPSG','4400','IDNK','GEOGRAPHIC','EPSG',16000+zone,NULL,0 FROM zone_counter; + +WITH RECURSIVE zone_counter (zone) +AS (SELECT 1 UNION ALL SELECT zone+1 AS new_zone FROM zone_counter WHERE new_zone <= 60) +INSERT INTO "usage" SELECT 'IDNK','UTM_' || zone || 'N_USAGE','projected_crs','IDNK','UTM_' || zone || 'N','PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN' FROM zone_counter; + +WITH RECURSIVE zone_counter (zone) +AS (SELECT 1 UNION ALL SELECT zone+1 AS new_zone FROM zone_counter WHERE new_zone <= 60) +INSERT INTO "projected_crs" SELECT 'IDNK','UTM_' || zone || 'S','Unknown / UTM zone ' || zone || 'S','UTM based CRS to be used when the actual datum is unknown, instead of misusing WGS84','EPSG','4400','IDNK','GEOGRAPHIC','EPSG',16100+zone,NULL,0 FROM zone_counter; + +WITH RECURSIVE zone_counter (zone) +AS (SELECT 1 UNION ALL SELECT zone+1 AS new_zone FROM zone_counter WHERE new_zone <= 60) +INSERT INTO "usage" SELECT 'IDNK','UTM_' || zone || 'S_USAGE','projected_crs','IDNK','UTM_' || zone || 'S','PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN' FROM zone_counter; + +-- Vertical CRS + +INSERT INTO "vertical_datum" VALUES('IDNK','VERTICAL_DATUM','Unknown vertical datum',NULL,NULL,NULL,NULL,NULL,NULL,0); +INSERT INTO "usage" VALUES('IDNK','VERTICAL_DATUM_USAGE','vertical_datum','IDNK','VERTICAL_DATUM','PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN'); + +INSERT INTO "vertical_crs" VALUES('IDNK','VERTICAL','Unknown vertical CRS',NULL,'EPSG','6499','IDNK','VERTICAL_DATUM',0); +INSERT INTO "usage" VALUES('IDNK','VERTICAL','vertical_crs','IDNK','VERTICAL','PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN'); diff --git a/data/sql_filelist.cmake b/data/sql_filelist.cmake index cf6af07eb9..d2d95f1abe 100644 --- a/data/sql_filelist.cmake +++ b/data/sql_filelist.cmake @@ -33,6 +33,7 @@ set(SQL_FILES "${SQL_DIR}/supersession.sql" "${SQL_DIR}/deprecation.sql" "${SQL_DIR}/esri.sql" + "${SQL_DIR}/idnk.sql" "${SQL_DIR}/ignf.sql" "${SQL_DIR}/nkg.sql" "${SQL_DIR}/iau.sql"