aboutsummaryrefslogtreecommitdiff
path: root/data/sql
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2020-06-08 13:40:31 +0200
committerGitHub <noreply@github.com>2020-06-08 13:40:31 +0200
commitdfa281a25d1f0fc5f3d919aa84f16b3b582a3f27 (patch)
tree5224c776fc48ea4de68950ed383d500b7254e165 /data/sql
parent4e347f4710da2c5aa691ea3f3df942e0b25637ec (diff)
parenta24cf969aab61d950de916b48de88229b05a00f4 (diff)
downloadPROJ-dfa281a25d1f0fc5f3d919aa84f16b3b582a3f27.tar.gz
PROJ-dfa281a25d1f0fc5f3d919aa84f16b3b582a3f27.zip
Merge pull request #2259 from rouault/slovakian_geoids
Register Slovakian geoid transformations with needed code changes
Diffstat (limited to 'data/sql')
-rw-r--r--data/sql/commit.sql17
-rw-r--r--data/sql/customizations.sql39
-rw-r--r--data/sql/grid_alternatives.sql2
3 files changed, 55 insertions, 3 deletions
diff --git a/data/sql/commit.sql b/data/sql/commit.sql
index d090ccb2..55df332f 100644
--- a/data/sql/commit.sql
+++ b/data/sql/commit.sql
@@ -32,9 +32,20 @@ FOR EACH ROW BEGIN
-- test to check that our custom grid transformation overrides are really needed
SELECT RAISE(ABORT, 'PROJ grid_transformation defined whereas EPSG has one')
- WHERE EXISTS (SELECT 1 FROM grid_transformation g1, grid_transformation g2 WHERE
- lower(g1.grid_name) = lower(g2.grid_name) AND
- g1.auth_name = 'PROJ' AND g2.auth_name = 'EPSG');
+ WHERE EXISTS (SELECT 1 FROM grid_transformation g1
+ JOIN grid_transformation g2
+ ON g1.source_crs_auth_name = g2.source_crs_auth_name
+ AND g1.source_crs_code = g2.source_crs_code
+ AND g1.target_crs_auth_name = g2.target_crs_auth_name
+ AND g1.target_crs_code = g2.target_crs_code
+ WHERE g1.auth_name = 'PROJ' AND g2.auth_name = 'EPSG')
+ OR EXISTS (SELECT 1 FROM grid_transformation g1
+ JOIN grid_transformation g2
+ ON g1.source_crs_auth_name = g2.target_crs_auth_name
+ AND g1.source_crs_code = g2.target_crs_code
+ AND g1.target_crs_auth_name = g1.source_crs_auth_name
+ AND g1.target_crs_code = g1.source_crs_code
+ WHERE g1.auth_name = 'PROJ' AND g2.auth_name = 'EPSG');
SELECT RAISE(ABORT, 'Arg! there is now a EPSG:102100 object. Hack in createFromUserInput() will no longer work')
WHERE EXISTS(SELECT 1 FROM crs_view WHERE auth_name = 'EPSG' AND code = '102100');
diff --git a/data/sql/customizations.sql b/data/sql/customizations.sql
index efb0a4bc..815c371a 100644
--- a/data/sql/customizations.sql
+++ b/data/sql/customizations.sql
@@ -171,3 +171,42 @@ INSERT INTO "unit_of_measure" VALUES('PROJ','IN','inch','length',0.0254,'in',0);
INSERT INTO "unit_of_measure" VALUES('PROJ','US_IN','US survey inch','length',0.025400050800101,'us-in',0);
INSERT INTO "unit_of_measure" VALUES('PROJ','US_YD','US survey yard','length',0.914401828803658,'us-yd',0);
INSERT INTO "unit_of_measure" VALUES('PROJ','IND_CH','Indian chain','length',20.11669506,'ind-ch',0);
+
+-- Deal with grid_transformation using EPSG:9635 'Geog3D to Geog2D+GravityRelatedHeight (US .gtx)' method
+-- We derive records using the more classic 'Geographic3D to GravityRelatedHeight' method
+-- We could probably do that at runtime too, but more simple and efficient to create records
+
+INSERT INTO "grid_transformation"
+SELECT
+ 'PROJ' AS auth_name,
+ gt.auth_name || '_' || gt.code || '_RESTRICTED_TO_VERTCRS' AS code,
+ gcrs.name || ' to ' || vcrs.name || ' (from ' || gt.name || ')' AS name,
+ NULL AS description,
+ gt.scope,
+ 'EPSG' AS method_auth_name,
+ '9665' AS method_code,
+ 'Geographic3D to GravityRelatedHeight (gtx)' AS method_name,
+ gt.source_crs_auth_name,
+ gt.source_crs_code,
+ c.vertical_crs_auth_name AS target_crs_auth_name,
+ c.vertical_crs_code AS target_crs_code,
+ gt.area_of_use_auth_name,
+ gt.area_of_use_code,
+ gt.accuracy,
+ gt.grid_param_auth_name,
+ gt.grid_param_code,
+ gt.grid_param_name,
+ gt.grid_name,
+ gt.grid2_param_auth_name,
+ gt.grid2_param_code,
+ gt.grid2_param_name,
+ gt.grid2_name,
+ gt.interpolation_crs_auth_name,
+ gt.interpolation_crs_code,
+ gt.operation_version,
+ gt.deprecated
+FROM grid_transformation gt
+JOIN compound_crs c ON gt.target_crs_code = c.code AND gt.target_crs_auth_name = c.auth_name
+JOIN geodetic_crs gcrs ON gt.source_crs_auth_name = gcrs.auth_name AND gt.source_crs_code = gcrs.code
+JOIN vertical_crs vcrs on vcrs.auth_name = c.vertical_crs_auth_name AND vcrs.code = c.vertical_crs_code
+WHERE method_auth_name = 'EPSG' AND method_code = '9635' AND gt.deprecated = 0;
diff --git a/data/sql/grid_alternatives.sql b/data/sql/grid_alternatives.sql
index 3dd264ba..68b992c6 100644
--- a/data/sql/grid_alternatives.sql
+++ b/data/sql/grid_alternatives.sql
@@ -187,6 +187,8 @@ VALUES
('auckland-1946-to-nzvd2016-conversion.csv','nz_linz_auckht1946-nzvd2016.tif','auckht1946-nzvd2016.gtx','GTiff','vgridshift',0,NULL,'https://cdn.proj.org/nz_linz_auckht1946-nzvd2016.tif',1,1,NULL),
-- Slovakia
('Slovakia_JTSK03_to_JTSK.LAS','sk_gku_JTSK03_to_JTSK.tif',NULL,'GTiff','hgridshift',0,NULL,'https://cdn.proj.org/sk_gku_JTSK03_to_JTSK.tif',1,1,NULL),
+('Slovakia_ETRS89h_to_Baltic1957.gtx','sk_gku_Slovakia_ETRS89h_to_Baltic1957.tif',NULL,'GTiff','geoid_like',0,NULL,'https://cdn.proj.org/sk_gku_Slovakia_ETRS89h_to_Baltic1957.tif',1,1,NULL),
+('Slovakia_ETRS89h_to_EVRF2007.gtx','sk_gku_Slovakia_ETRS89h_to_EVRF2007.tif',NULL,'GTiff','geoid_like',0,NULL,'https://cdn.proj.org/sk_gku_Slovakia_ETRS89h_to_EVRF2007.tif',1,1,NULL),
-- Superseded entries
('bluff-1955-to-nzvd2016-conversion.csv','nz_linz_blufht1955-nzvd2016.tif','blufht1955-nzvd2016.gtx','GTiff','vgridshift',0,NULL,'https://cdn.proj.org/nz_linz_blufht1955-nzvd2016.tif',1,1,NULL),
('dunedin-1958-to-nzvd2016-conversion.csv','nz_linz_duneht1958-nzvd2016.tif','duneht1958-nzvd2016.gtx','GTiff','vgridshift',0,NULL,'https://cdn.proj.org/nz_linz_duneht1958-nzvd2016.tif',1,1,NULL),