diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2019-01-08 16:04:07 +0100 |
|---|---|---|
| committer | Even Rouault <even.rouault@spatialys.com> | 2019-01-08 16:04:07 +0100 |
| commit | fdee4277efb45b07db2dcc4d93376cbd01cfbd0a (patch) | |
| tree | 060d93eb8efd47aa68354a2c663341324bad2ef9 /test | |
| parent | b6d28c263b66e7b19e748a4ec78a913fa80fc0bd (diff) | |
| parent | f9ebd462ba36e787dd0d1fe7e2a0c427f6143c3f (diff) | |
| download | PROJ-fdee4277efb45b07db2dcc4d93376cbd01cfbd0a.tar.gz PROJ-fdee4277efb45b07db2dcc4d93376cbd01cfbd0a.zip | |
Merge remote-tracking branch 'rouault/gdalbarn'
Diffstat (limited to 'test')
| -rw-r--r-- | test/unit/test_c_api.cpp | 3 | ||||
| -rw-r--r-- | test/unit/test_io.cpp | 109 |
2 files changed, 110 insertions, 2 deletions
diff --git a/test/unit/test_c_api.cpp b/test/unit/test_c_api.cpp index 778c6bdf..82cb7b75 100644 --- a/test/unit/test_c_api.cpp +++ b/test/unit/test_c_api.cpp @@ -435,8 +435,7 @@ TEST_F(CApi, proj_as_wkt) { const char *const options[] = {"STRICT=NO", nullptr}; auto wkt = proj_as_wkt(m_ctxt, crs4979, PJ_WKT1_GDAL, options); ASSERT_NE(wkt, nullptr); - EXPECT_TRUE(std::string(wkt).find("GEOGCS[\"WGS 84\"") == 0) - << wkt; + EXPECT_TRUE(std::string(wkt).find("GEOGCS[\"WGS 84\"") == 0) << wkt; } // unsupported option diff --git a/test/unit/test_io.cpp b/test/unit/test_io.cpp index b647ed2a..fc20b08d 100644 --- a/test/unit/test_io.cpp +++ b/test/unit/test_io.cpp @@ -2062,6 +2062,115 @@ TEST(wkt_parse, COMPOUNDCRS) { // --------------------------------------------------------------------------- +TEST(wkt_parse, COMPOUNDCRS_spatio_parametric_2015) { + auto obj = WKTParser().createFromWKT( + "COMPOUNDCRS[\"ICAO layer 0\",\n" + " GEODETICCRS[\"WGS 84\",\n" + " DATUM[\"World Geodetic System 1984\",\n" + " ELLIPSOID[\"WGS 84\",6378137,298.257223563,\n" + " LENGTHUNIT[\"metre\",1]]],\n" + " PRIMEM[\"Greenwich\",0,\n" + " ANGLEUNIT[\"degree\",0.0174532925199433],\n" + " ID[\"EPSG\",8901]],\n" + " CS[ellipsoidal,2],\n" + " AXIS[\"latitude\",north,\n" + " ORDER[1],\n" + " ANGLEUNIT[\"degree\",0.0174532925199433]],\n" + " AXIS[\"longitude\",east,\n" + " ORDER[2],\n" + " ANGLEUNIT[\"degree\",0.0174532925199433]]],\n" + " PARAMETRICCRS[\"WMO standard atmosphere\",\n" + " PARAMETRICDATUM[\"Mean Sea Level\",\n" + " ANCHOR[\"Mean Sea Level = 1013.25 hPa\"]],\n" + " CS[parametric,1],\n" + " AXIS[\"pressure (P)\",unspecified,\n" + " PARAMETRICUNIT[\"HectoPascal\",100]]]]"); + auto crs = nn_dynamic_pointer_cast<CompoundCRS>(obj); + ASSERT_TRUE(crs != nullptr); +} + +// --------------------------------------------------------------------------- + +TEST(wkt_parse, COMPOUNDCRS_spatio_parametric_2018) { + auto obj = WKTParser().createFromWKT( + "COMPOUNDCRS[\"ICAO layer 0\",\n" + " GEOGRAPHICCRS[\"WGS 84\",\n" + " DYNAMIC[FRAMEEPOCH[2005]],\n" + " DATUM[\"World Geodetic System 1984\",\n" + " ELLIPSOID[\"WGS 84\",6378137,298.257223563,\n" + " LENGTHUNIT[\"metre\",1]]],\n" + " PRIMEM[\"Greenwich\",0,\n" + " ANGLEUNIT[\"degree\",0.0174532925199433],\n" + " ID[\"EPSG\",8901]],\n" + " CS[ellipsoidal,2],\n" + " AXIS[\"latitude\",north,\n" + " ORDER[1],\n" + " ANGLEUNIT[\"degree\",0.0174532925199433]],\n" + " AXIS[\"longitude\",east,\n" + " ORDER[2],\n" + " ANGLEUNIT[\"degree\",0.0174532925199433]]],\n" + " PARAMETRICCRS[\"WMO standard atmosphere\",\n" + " PARAMETRICDATUM[\"Mean Sea Level\",\n" + " ANCHOR[\"Mean Sea Level = 1013.25 hPa\"]],\n" + " CS[parametric,1],\n" + " AXIS[\"pressure (P)\",unspecified,\n" + " PARAMETRICUNIT[\"HectoPascal\",100]]]]"); + auto crs = nn_dynamic_pointer_cast<CompoundCRS>(obj); + ASSERT_TRUE(crs != nullptr); +} + +// --------------------------------------------------------------------------- + +TEST(wkt_parse, COMPOUNDCRS_spatio_temporal_2015) { + auto obj = WKTParser().createFromWKT( + "COMPOUNDCRS[\"GPS position and time\",\n" + " GEODCRS[\"WGS 84 (G1762)\",\n" + " DATUM[\"World Geodetic System 1984 (G1762)\",\n" + " ELLIPSOID[\"WGS 84\",6378137,298.257223563,\n" + " LENGTHUNIT[\"metre\",1,\n" + " ID[\"EPSG\",9001]]]],\n" + " CS[ellipsoidal,2],\n" + " AXIS[\"latitude\",north,\n" + " ORDER[1],\n" + " ANGLEUNIT[\"degree\",0.0174532925199433]],\n" + " AXIS[\"longitude\",east,\n" + " ORDER[2],\n" + " ANGLEUNIT[\"degree\",0.0174532925199433]]],\n" + " TIMECRS[\"GPS Time\",\n" + " TIMEDATUM[\"Time origin\",TIMEORIGIN[1980-01-01]],\n" + " CS[temporal,1],\n" + " AXIS[\"time (T)\",future]]]"); + auto crs = nn_dynamic_pointer_cast<CompoundCRS>(obj); + ASSERT_TRUE(crs != nullptr); +} + +// --------------------------------------------------------------------------- + +TEST(wkt_parse, COMPOUNDCRS_spatio_temporal_2018) { + auto obj = WKTParser().createFromWKT( + "COMPOUNDCRS[\"2D GPS position with civil time in ISO 8601 format\",\n" + " GEOGCRS[\"WGS 84 (G1762)\",\n" + " DATUM[\"World Geodetic System 1984 (G1762)\",\n" + " ELLIPSOID[\"WGS 84\",6378137,298.257223563,\n" + " LENGTHUNIT[\"metre\",1,\n" + " ID[\"EPSG\",9001]]]],\n" + " CS[ellipsoidal,2],\n" + " AXIS[\"latitude\",north,\n" + " ORDER[1],\n" + " ANGLEUNIT[\"degree\",0.0174532925199433]],\n" + " AXIS[\"longitude\",east,\n" + " ORDER[2],\n" + " ANGLEUNIT[\"degree\",0.0174532925199433]]],\n" + " TIMECRS[\"DateTime\",\n" + " TDATUM[\"Gregorian Calendar\"],\n" + " CS[TemporalDateTime,1],\n" + " AXIS[\"time (T)\",future]]]"); + auto crs = nn_dynamic_pointer_cast<CompoundCRS>(obj); + ASSERT_TRUE(crs != nullptr); +} + +// --------------------------------------------------------------------------- + TEST(wkt_parse, COMPD_CS) { auto obj = WKTParser().createFromWKT( "COMPD_CS[\"horizontal + vertical\",\n" |
