aboutsummaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2021-09-28 14:47:08 +0200
committerEven Rouault <even.rouault@spatialys.com>2021-09-28 14:47:08 +0200
commitbc30adc7d84aa07a551391f722c1ab7bcaae60ee (patch)
treebe58c3d88a6ac51e7dbf870b907dadc48da3d8eb /data
parentf386e22e3604b6268989a04a4749b5bc24b3a632 (diff)
downloadPROJ-bc30adc7d84aa07a551391f722c1ab7bcaae60ee.tar.gz
PROJ-bc30adc7d84aa07a551391f722c1ab7bcaae60ee.zip
Database: add check for Orthographic conversion
Diffstat (limited to 'data')
-rw-r--r--data/sql/customizations_early.sql11
-rw-r--r--data/sql/proj_db_table_defs.sql1
2 files changed, 12 insertions, 0 deletions
diff --git a/data/sql/customizations_early.sql b/data/sql/customizations_early.sql
index 7f9505df..fceef235 100644
--- a/data/sql/customizations_early.sql
+++ b/data/sql/customizations_early.sql
@@ -4,3 +4,14 @@ INSERT INTO "extent" VALUES('PROJ','EXTENT_UNKNOWN','Not specified','Not specifi
INSERT INTO "scope" VALUES('PROJ','SCOPE_UNKNOWN','Not known.',0);
INSERT INTO celestial_body VALUES('PROJ', 'EARTH', 'Earth', 6378137.0);
+
+
+
+CREATE TRIGGER conversion_method_check_insert_trigger_orthographic
+INSTEAD OF INSERT ON conversion
+BEGIN
+
+ SELECT RAISE(ABORT, 'insert on conversion violates constraint: bad parameters for Orthographic')
+ WHERE NEW.deprecated != 1 AND NEW.method_auth_name = 'EPSG' AND NEW.method_code = '9840' AND (NEW.method_name != 'Orthographic' OR NEW.param1_auth_name != 'EPSG' OR NEW.param1_code != '8801' OR NEW.param1_name != 'Latitude of natural origin' OR NEW.param1_value IS NULL OR NEW.param1_uom_auth_name IS NULL OR NEW.param1_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param1_uom_auth_name AND code = NEW.param1_uom_code) != 'angle' OR NEW.param2_auth_name != 'EPSG' OR NEW.param2_code != '8802' OR NEW.param2_name != 'Longitude of natural origin' OR NEW.param2_value IS NULL OR NEW.param2_uom_auth_name IS NULL OR NEW.param2_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param2_uom_auth_name AND code = NEW.param2_uom_code) != 'angle' OR NEW.param3_auth_name != 'EPSG' OR NEW.param3_code != '8806' OR NEW.param3_name != 'False easting' OR NEW.param3_value IS NULL OR NEW.param3_uom_auth_name IS NULL OR NEW.param3_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param3_uom_auth_name AND code = NEW.param3_uom_code) != 'length' OR NEW.param4_auth_name != 'EPSG' OR NEW.param4_code != '8807' OR NEW.param4_name != 'False northing' OR NEW.param4_value IS NULL OR NEW.param4_uom_auth_name IS NULL OR NEW.param4_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param4_uom_auth_name AND code = NEW.param4_uom_code) != 'length' OR NEW.param5_auth_name IS NOT NULL OR NEW.param5_code IS NOT NULL OR NEW.param5_name IS NOT NULL OR NEW.param5_value IS NOT NULL OR NEW.param5_uom_auth_name IS NOT NULL OR NEW.param5_uom_code IS NOT NULL OR NEW.param6_auth_name IS NOT NULL OR NEW.param6_code IS NOT NULL OR NEW.param6_name IS NOT NULL OR NEW.param6_value IS NOT NULL OR NEW.param6_uom_auth_name IS NOT NULL OR NEW.param6_uom_code IS NOT NULL OR NEW.param7_auth_name IS NOT NULL OR NEW.param7_code IS NOT NULL OR NEW.param7_name IS NOT NULL OR NEW.param7_value IS NOT NULL OR NEW.param7_uom_auth_name IS NOT NULL OR NEW.param7_uom_code IS NOT NULL);
+
+END;
diff --git a/data/sql/proj_db_table_defs.sql b/data/sql/proj_db_table_defs.sql
index 560cd59e..bf7afca0 100644
--- a/data/sql/proj_db_table_defs.sql
+++ b/data/sql/proj_db_table_defs.sql
@@ -539,6 +539,7 @@ BEGIN
'EPSG_9836_Geocentric/topocentric conversions',
'EPSG_9837_Geographic/topocentric conversions',
'EPSG_9838_Vertical Perspective',
+ 'EPSG_9840_Orthographic',
'EPSG_9841_Mercator (1SP) (Spherical)',
'EPSG_9842_Equidistant Cylindrical',
'EPSG_9843_Axis Order Reversal (2D)',