From bf6020eee5842131e8bc04b6a74c4c7a7dcd7430 Mon Sep 17 00:00:00 2001 From: Even Rouault Date: Thu, 14 May 2020 11:35:26 +0200 Subject: Database: add a 'WGS84' alias for the EPSG:4326 CRS (fixes #2216) --- data/sql/customizations.sql | 4 ++++ test/unit/test_io.cpp | 14 ++++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/data/sql/customizations.sql b/data/sql/customizations.sql index fd67b8a1..efb0a4bc 100644 --- a/data/sql/customizations.sql +++ b/data/sql/customizations.sql @@ -136,6 +136,10 @@ INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','6299','ire65','PROJ'); INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','6272','nzgd49','PROJ'); INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','6277','OSGB36','PROJ'); +-- Given that we have installed above a WGS84 alias to the datum, add also one +-- to the EPSG:4326 CRS, as this is a common use case (https://github.com/OSGeo/PROJ/issues/2216) +INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','4326','WGS84','PROJ'); + ---- PROJ unit short names ----- -- Linear units diff --git a/test/unit/test_io.cpp b/test/unit/test_io.cpp index 0570bb7e..dff804e8 100644 --- a/test/unit/test_io.cpp +++ b/test/unit/test_io.cpp @@ -9854,8 +9854,18 @@ TEST(io, createFromUserInput) { // Search names in the database EXPECT_THROW(createFromUserInput("foobar", dbContext), ParsingException); - EXPECT_NO_THROW(createFromUserInput("WGS 84", dbContext)); - EXPECT_NO_THROW(createFromUserInput("WGS84", dbContext)); + { + // Official name + auto obj = createFromUserInput("WGS 84", dbContext); + auto crs = nn_dynamic_pointer_cast(obj); + EXPECT_TRUE(crs != nullptr); + } + { + // PROJ alias + auto obj = createFromUserInput("WGS84", dbContext); + auto crs = nn_dynamic_pointer_cast(obj); + EXPECT_TRUE(crs != nullptr); + } EXPECT_NO_THROW(createFromUserInput("UTM zone 31N", dbContext)); EXPECT_THROW(createFromUserInput("UTM zone 31", dbContext), ParsingException); -- cgit v1.2.3