@@ -2407,6 +2407,121 @@ TEST(crs, projectedCRS_from_WKT1_ESRI_as_WKT1_ESRI) {
2407
2407
2408
2408
// ---------------------------------------------------------------------------
2409
2409
2410
+ TEST (crs, projectedCRS_from_WKT1_ESRI_as_WKT1_ESRI_s_jtsk03_krovak_east_north) {
2411
+ // EPSG:8353
2412
+ auto wkt = " PROJCS[\" S-JTSK_[JTSK03]_Krovak_East_North\" ,"
2413
+ " GEOGCS[\" S-JTSK_[JTSK03]\" ,DATUM[\" S-JTSK_[JTSK03]\" ,"
2414
+ " SPHEROID[\" Bessel_1841\" ,6377397.155,299.1528128]],"
2415
+ " PRIMEM[\" Greenwich\" ,0.0],UNIT[\" Degree\" ,0.0174532925199433]],"
2416
+ " PROJECTION[\" Krovak\" ],"
2417
+ " PARAMETER[\" False_Easting\" ,0.0],"
2418
+ " PARAMETER[\" False_Northing\" ,0.0],"
2419
+ " PARAMETER[\" Pseudo_Standard_Parallel_1\" ,78.5],"
2420
+ " PARAMETER[\" Scale_Factor\" ,0.9999],"
2421
+ " PARAMETER[\" Azimuth\" ,30.2881397527778],"
2422
+ " PARAMETER[\" Longitude_Of_Center\" ,24.8333333333333],"
2423
+ " PARAMETER[\" Latitude_Of_Center\" ,49.5],"
2424
+ " PARAMETER[\" X_Scale\" ,-1.0],"
2425
+ " PARAMETER[\" Y_Scale\" ,1.0],"
2426
+ " PARAMETER[\" XY_Plane_Rotation\" ,90.0],"
2427
+ " UNIT[\" Meter\" ,1.0]]" ;
2428
+
2429
+ auto dbContext = DatabaseContext::create ();
2430
+ auto obj = WKTParser ().attachDatabaseContext (dbContext).createFromWKT (wkt);
2431
+ auto crs = nn_dynamic_pointer_cast<ProjectedCRS>(obj);
2432
+ ASSERT_TRUE (crs != nullptr );
2433
+
2434
+ auto expected_wkt2 =
2435
+ " PROJCRS[\" S-JTSK [JTSK03] / Krovak East North\" ,\n "
2436
+ " BASEGEOGCRS[\" S-JTSK [JTSK03]\" ,\n "
2437
+ " DATUM[\" System of the Unified Trigonometrical Cadastral "
2438
+ " Network [JTSK03]\" ,\n "
2439
+ " ELLIPSOID[\" Bessel 1841\" ,6377397.155,299.1528128,\n "
2440
+ " LENGTHUNIT[\" metre\" ,1]],\n "
2441
+ " ID[\" EPSG\" ,1201]],\n "
2442
+ " PRIMEM[\" Greenwich\" ,0,\n "
2443
+ " ANGLEUNIT[\" Degree\" ,0.0174532925199433]]],\n "
2444
+ " CONVERSION[\" unnamed\" ,\n "
2445
+ " METHOD[\" Krovak (North Orientated)\" ,\n "
2446
+ " ID[\" EPSG\" ,1041]],\n "
2447
+ " PARAMETER[\" Latitude of projection centre\" ,49.5,\n "
2448
+ " ANGLEUNIT[\" Degree\" ,0.0174532925199433],\n "
2449
+ " ID[\" EPSG\" ,8811]],\n "
2450
+ " PARAMETER[\" Longitude of origin\" ,24.8333333333333,\n "
2451
+ " ANGLEUNIT[\" Degree\" ,0.0174532925199433],\n "
2452
+ " ID[\" EPSG\" ,8833]],\n "
2453
+ " PARAMETER[\" Co-latitude of cone axis\" ,30.2881397527778,\n "
2454
+ " ANGLEUNIT[\" Degree\" ,0.0174532925199433],\n "
2455
+ " ID[\" EPSG\" ,1036]],\n "
2456
+ " PARAMETER[\" Latitude of pseudo standard parallel\" ,78.5,\n "
2457
+ " ANGLEUNIT[\" Degree\" ,0.0174532925199433],\n "
2458
+ " ID[\" EPSG\" ,8818]],\n "
2459
+ " PARAMETER[\" Scale factor on pseudo standard "
2460
+ " parallel\" ,0.9999,\n "
2461
+ " SCALEUNIT[\" unity\" ,1],\n "
2462
+ " ID[\" EPSG\" ,8819]],\n "
2463
+ " PARAMETER[\" False easting\" ,0,\n "
2464
+ " LENGTHUNIT[\" metre\" ,1],\n "
2465
+ " ID[\" EPSG\" ,8806]],\n "
2466
+ " PARAMETER[\" False northing\" ,0,\n "
2467
+ " LENGTHUNIT[\" metre\" ,1],\n "
2468
+ " ID[\" EPSG\" ,8807]]],\n "
2469
+ " CS[Cartesian,2],\n "
2470
+ " AXIS[\" (E)\" ,east,\n "
2471
+ " ORDER[1],\n "
2472
+ " LENGTHUNIT[\" metre\" ,1,\n "
2473
+ " ID[\" EPSG\" ,9001]]],\n "
2474
+ " AXIS[\" (N)\" ,north,\n "
2475
+ " ORDER[2],\n "
2476
+ " LENGTHUNIT[\" metre\" ,1,\n "
2477
+ " ID[\" EPSG\" ,9001]]]]" ;
2478
+
2479
+ EXPECT_EQ (
2480
+ crs->exportToWKT (
2481
+ WKTFormatter::create (WKTFormatter::Convention::WKT2_2019, dbContext)
2482
+ .get ()),
2483
+ expected_wkt2);
2484
+
2485
+ EXPECT_EQ (
2486
+ crs->exportToWKT (
2487
+ WKTFormatter::create (WKTFormatter::Convention::WKT1_ESRI, dbContext)
2488
+ .get ()),
2489
+ wkt);
2490
+ }
2491
+
2492
+ // ---------------------------------------------------------------------------
2493
+
2494
+ TEST (crs, projectedCRS_from_EPSG_as_WKT1_ESRI_s_jtsk03_krovak_east_north) {
2495
+ auto dbContext = DatabaseContext::create ();
2496
+ auto factoryEPSG = AuthorityFactory::create (dbContext, " EPSG" );
2497
+ auto crs = factoryEPSG->createProjectedCRS (" 8353" );
2498
+
2499
+ auto wkt = " PROJCS[\" S-JTSK_[JTSK03]_Krovak_East_North\" ,"
2500
+ " GEOGCS[\" S-JTSK_[JTSK03]\" ,DATUM[\" S-JTSK_[JTSK03]\" ,"
2501
+ " SPHEROID[\" Bessel_1841\" ,6377397.155,299.1528128]],"
2502
+ " PRIMEM[\" Greenwich\" ,0.0],UNIT[\" Degree\" ,0.0174532925199433]],"
2503
+ " PROJECTION[\" Krovak\" ],"
2504
+ " PARAMETER[\" False_Easting\" ,0.0],"
2505
+ " PARAMETER[\" False_Northing\" ,0.0],"
2506
+ " PARAMETER[\" Pseudo_Standard_Parallel_1\" ,78.5],"
2507
+ " PARAMETER[\" Scale_Factor\" ,0.9999],"
2508
+ " PARAMETER[\" Azimuth\" ,30.2881397527778],"
2509
+ " PARAMETER[\" Longitude_Of_Center\" ,24.8333333333333],"
2510
+ " PARAMETER[\" Latitude_Of_Center\" ,49.5],"
2511
+ " PARAMETER[\" X_Scale\" ,-1.0],"
2512
+ " PARAMETER[\" Y_Scale\" ,1.0],"
2513
+ " PARAMETER[\" XY_Plane_Rotation\" ,90.0],"
2514
+ " UNIT[\" Meter\" ,1.0]]" ;
2515
+
2516
+ EXPECT_EQ (
2517
+ crs->exportToWKT (
2518
+ WKTFormatter::create (WKTFormatter::Convention::WKT1_ESRI, dbContext)
2519
+ .get ()),
2520
+ wkt);
2521
+ }
2522
+
2523
+ // ---------------------------------------------------------------------------
2524
+
2410
2525
TEST (crs, projectedCRS_as_PROJ_string) {
2411
2526
auto crs = createProjected ();
2412
2527
0 commit comments