aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2019-01-08 16:04:07 +0100
committerEven Rouault <even.rouault@spatialys.com>2019-01-08 16:04:07 +0100
commitfdee4277efb45b07db2dcc4d93376cbd01cfbd0a (patch)
tree060d93eb8efd47aa68354a2c663341324bad2ef9 /test
parentb6d28c263b66e7b19e748a4ec78a913fa80fc0bd (diff)
parentf9ebd462ba36e787dd0d1fe7e2a0c427f6143c3f (diff)
downloadPROJ-fdee4277efb45b07db2dcc4d93376cbd01cfbd0a.tar.gz
PROJ-fdee4277efb45b07db2dcc4d93376cbd01cfbd0a.zip
Merge remote-tracking branch 'rouault/gdalbarn'
Diffstat (limited to 'test')
-rw-r--r--test/unit/test_c_api.cpp3
-rw-r--r--test/unit/test_io.cpp109
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"