aboutsummaryrefslogtreecommitdiff
path: root/test/unit/test_crs.cpp
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2019-03-25 11:35:31 +0100
committerEven Rouault <even.rouault@spatialys.com>2019-03-25 12:22:49 +0100
commitd53911f100cfd64a77ed8aa783c0538003dbfa2d (patch)
tree04a6f66e61851a5efcb5997f62643b17f8587ff9 /test/unit/test_crs.cpp
parent66774791d16d1b197911e595aaaceb9690c8ca14 (diff)
downloadPROJ-d53911f100cfd64a77ed8aa783c0538003dbfa2d.tar.gz
PROJ-d53911f100cfd64a77ed8aa783c0538003dbfa2d.zip
test: test exporting ENSEMBLE with ID in MEMBER
Diffstat (limited to 'test/unit/test_crs.cpp')
-rw-r--r--test/unit/test_crs.cpp90
1 files changed, 65 insertions, 25 deletions
diff --git a/test/unit/test_crs.cpp b/test/unit/test_crs.cpp
index 4953529c..02586877 100644
--- a/test/unit/test_crs.cpp
+++ b/test/unit/test_crs.cpp
@@ -148,32 +148,72 @@ TEST(crs, GeographicCRS_datum_ensemble) {
std::vector<DatumNNPtr>{GeodeticReferenceFrame::EPSG_6326,
GeodeticReferenceFrame::EPSG_6326},
PositionalAccuracy::create("100"));
- auto crs = GeographicCRS::create(
- PropertyMap().set(IdentifiedObject::NAME_KEY, "unnamed"), nullptr,
- ensemble_vdatum,
- EllipsoidalCS::createLatitudeLongitude(UnitOfMeasure::DEGREE));
- WKTFormatterNNPtr f(
- WKTFormatter::create(WKTFormatter::Convention::WKT2_2018));
- f->simulCurNodeHasId();
- crs->exportToWKT(f.get());
- auto expected = "GEOGCRS[\"unnamed\",\n"
- " ENSEMBLE[\"unnamed\",\n"
- " MEMBER[\"World Geodetic System 1984\"],\n"
- " MEMBER[\"World Geodetic System 1984\"],\n"
- " ELLIPSOID[\"WGS 84\",6378137,298.257223563,\n"
- " LENGTHUNIT[\"metre\",1]],\n"
- " ENSEMBLEACCURACY[100]],\n"
- " PRIMEM[\"Greenwich\",0,\n"
- " ANGLEUNIT[\"degree\",0.0174532925199433]],\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]]]";
+ {
+ auto crs = GeographicCRS::create(
+ PropertyMap()
+ .set(IdentifiedObject::NAME_KEY, "unnamed")
+ .set(Identifier::CODESPACE_KEY, "MY_CODESPACE")
+ .set(Identifier::CODE_KEY, "MY_ID"),
+ nullptr, ensemble_vdatum,
+ EllipsoidalCS::createLatitudeLongitude(UnitOfMeasure::DEGREE));
+ WKTFormatterNNPtr f(
+ WKTFormatter::create(WKTFormatter::Convention::WKT2_2018));
+ crs->exportToWKT(f.get());
+ auto expected =
+ "GEOGCRS[\"unnamed\",\n"
+ " ENSEMBLE[\"unnamed\",\n"
+ " MEMBER[\"World Geodetic System 1984\"],\n"
+ " MEMBER[\"World Geodetic System 1984\"],\n"
+ " ELLIPSOID[\"WGS 84\",6378137,298.257223563,\n"
+ " LENGTHUNIT[\"metre\",1]],\n"
+ " ENSEMBLEACCURACY[100]],\n"
+ " PRIMEM[\"Greenwich\",0,\n"
+ " ANGLEUNIT[\"degree\",0.0174532925199433]],\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"
+ " ID[\"MY_CODESPACE\",\"MY_ID\"]]";
- EXPECT_EQ(f->toString(), expected);
+ EXPECT_EQ(f->toString(), expected);
+ }
+
+ {
+ auto crs = GeographicCRS::create(
+ PropertyMap().set(IdentifiedObject::NAME_KEY, "unnamed"), nullptr,
+ ensemble_vdatum,
+ EllipsoidalCS::createLatitudeLongitude(UnitOfMeasure::DEGREE));
+ WKTFormatterNNPtr f(
+ WKTFormatter::create(WKTFormatter::Convention::WKT2_2018));
+ crs->exportToWKT(f.get());
+ auto expected = "GEOGCRS[\"unnamed\",\n"
+ " ENSEMBLE[\"unnamed\",\n"
+ " MEMBER[\"World Geodetic System 1984\",\n"
+ " ID[\"EPSG\",6326]],\n"
+ " MEMBER[\"World Geodetic System 1984\",\n"
+ " ID[\"EPSG\",6326]],\n"
+ " ELLIPSOID[\"WGS 84\",6378137,298.257223563,\n"
+ " LENGTHUNIT[\"metre\",1],\n"
+ " ID[\"EPSG\",7030]],\n"
+ " ENSEMBLEACCURACY[100]],\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"
+ " ID[\"EPSG\",9122]]],\n"
+ " AXIS[\"longitude\",east,\n"
+ " ORDER[2],\n"
+ " ANGLEUNIT[\"degree\",0.0174532925199433,\n"
+ " ID[\"EPSG\",9122]]]]";
+
+ EXPECT_EQ(f->toString(), expected);
+ }
}
// ---------------------------------------------------------------------------