aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/Makefile.am1
-rw-r--r--data/sql/grid_alternatives.sql6
-rw-r--r--data/sql/other_transformation_custom.sql42
-rw-r--r--data/sql_filelist.cmake1
-rwxr-xr-xtest/cli/testprojinfo35
-rw-r--r--test/cli/testprojinfo_out.dist61
6 files changed, 145 insertions, 1 deletions
diff --git a/data/Makefile.am b/data/Makefile.am
index e3e83636..eda69a9a 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -31,6 +31,7 @@ SQL_ORDERED_LIST = sql/begin.sql \
sql/grid_transformation.sql \
sql/grid_transformation_custom.sql \
sql/other_transformation.sql \
+ sql/other_transformation_custom.sql \
sql/concatenated_operation.sql \
sql/concatenated_operation_step.sql \
sql/alias_name.sql \
diff --git a/data/sql/grid_alternatives.sql b/data/sql/grid_alternatives.sql
index 99a75ba5..00cecea7 100644
--- a/data/sql/grid_alternatives.sql
+++ b/data/sql/grid_alternatives.sql
@@ -231,5 +231,9 @@ VALUES
('CA61_003.gsb','br_ibge_CA61_003.tif',NULL,'GTiff','hgridshift',0,NULL,'https://cdn.proj.org/br_ibge_CA61_003.tif',1,1,NULL),
('CA7072_003.gsb','br_ibge_CA7072_003.tif',NULL,'GTiff','hgridshift',0,NULL,'https://cdn.proj.org/br_ibge_CA7072_003.tif',1,1,NULL),
('SAD69_003.gsb','br_ibge_SAD69_003.tif',NULL,'GTiff','hgridshift',0,NULL,'https://cdn.proj.org/br_ibge_SAD69_003.tif',1,1,NULL),
-('SAD96_003.gsb','br_ibge_SAD96_003.tif',NULL,'GTiff','hgridshift',0,NULL,'https://cdn.proj.org/br_ibge_SAD96_003.tif',1,1,NULL)
+('SAD96_003.gsb','br_ibge_SAD96_003.tif',NULL,'GTiff','hgridshift',0,NULL,'https://cdn.proj.org/br_ibge_SAD96_003.tif',1,1,NULL),
+-- Finland
+('fi_nls_ykj_etrs35fin.json','fi_nls_ykj_etrs35fin.json',NULL,'JSON','tinshift',0,NULL,'https://cdn.proj.org/fi_nls_ykj_etrs35fin.json',1,1,NULL),
+('fi_nls_n43_n60.json','fi_nls_n43_n60.json',NULL,'JSON','tinshift',0,NULL,'https://cdn.proj.org/fi_nls_n43_n60.json',1,1,NULL),
+('fi_nls_n60_n2000.json','fi_nls_n60_n2000.json',NULL,'JSON','tinshift',0,NULL,'https://cdn.proj.org/fi_nls_n60_n2000.json',1,1,NULL)
;
diff --git a/data/sql/other_transformation_custom.sql b/data/sql/other_transformation_custom.sql
new file mode 100644
index 00000000..8d9b0426
--- /dev/null
+++ b/data/sql/other_transformation_custom.sql
@@ -0,0 +1,42 @@
+-- This file is hand generated.
+
+-- Finland triangulated files
+
+INSERT INTO other_transformation VALUES(
+ 'PROJ','YKJ_TO_ETRS35FIN','KKJ / Finland Uniform Coordinate System to ETRS35FIN',
+ 'Transformation based on a triangulated irregular network',
+ 'PROJ','PROJString','+proj=pipeline +step +proj=axisswap +order=2,1 +step +proj=tinshift +file=fi_nls_ykj_etrs35fin.json',
+ 'EPSG','2393','EPSG','3067',0.1,
+ NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
+INSERT INTO "usage" VALUES('PROJ','YKJ_TO_ETRS35FIN_USAGE','other_transformation','PROJ','YKJ_TO_ETRS35FIN','EPSG','3333','EPSG','1024');
+
+INSERT INTO "concatenated_operation" VALUES('PROJ','KKJ_TO_ETRS89','KKJ to ETRS89 (using PROJ:YKJ_TO_ETRS35FIN)','Transformation based on a triangulated irregular network','EPSG','4123','EPSG','4258',NULL,NULL,0);
+INSERT INTO "concatenated_operation_step" VALUES('PROJ','KKJ_TO_ETRS89',1,'EPSG','18193');
+INSERT INTO "concatenated_operation_step" VALUES('PROJ','KKJ_TO_ETRS89',2,'PROJ','YKJ_TO_ETRS35FIN');
+INSERT INTO "concatenated_operation_step" VALUES('PROJ','KKJ_TO_ETRS89',3,'EPSG','16065');
+INSERT INTO "usage" VALUES(
+ 'PROJ',
+ 'KKJ_TO_ETRS89_USAGE',
+ 'concatenated_operation',
+ 'PROJ',
+ 'KKJ_TO_ETRS89',
+ 'EPSG','3333', -- extent
+ 'EPSG','1024' -- unknown
+);
+
+INSERT INTO other_transformation VALUES(
+ 'PROJ','N43_TO_N60','N43 height to N60 height',
+ 'Transformation based on a triangulated irregular network',
+ 'PROJ','PROJString','+proj=pipeline +step +proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=3500000 +y_0=0 +ellps=intl +step +proj=tinshift +file=fi_nls_n43_n60.json +step +inv +proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=3500000 +y_0=0 +ellps=intl',
+ 'EPSG','8675','EPSG','5717',0.01,
+ NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'EPSG','4123',NULL,0);
+INSERT INTO "usage" VALUES('PROJ','N43_TO_N60_USAGE','other_transformation','PROJ','N43_TO_N60','EPSG','4522','EPSG','1024');
+
+
+INSERT INTO other_transformation VALUES(
+ 'PROJ','N60_TO_N2000','N60 height to N2000 height',
+ 'Transformation based on a triangulated irregular network',
+ 'PROJ','PROJString','+proj=pipeline +step +proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=3500000 +y_0=0 +ellps=intl +step +proj=tinshift +file=fi_nls_n60_n2000.json +step +inv +proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=3500000 +y_0=0 +ellps=intl',
+ 'EPSG','5717','EPSG','3900',0.01,
+ NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'EPSG','4123',NULL,0);
+INSERT INTO "usage" VALUES('PROJ','N60_TO_N2000_USAGE','other_transformation','PROJ','N60_TO_N2000','EPSG','3333','EPSG','1024');
diff --git a/data/sql_filelist.cmake b/data/sql_filelist.cmake
index 72b7b4fc..a21e8630 100644
--- a/data/sql_filelist.cmake
+++ b/data/sql_filelist.cmake
@@ -24,6 +24,7 @@ set(SQL_FILES
"${SQL_DIR}/grid_transformation.sql"
"${SQL_DIR}/grid_transformation_custom.sql"
"${SQL_DIR}/other_transformation.sql"
+ "${SQL_DIR}/other_transformation_custom.sql"
"${SQL_DIR}/concatenated_operation.sql"
"${SQL_DIR}/concatenated_operation_step.sql"
"${SQL_DIR}/alias_name.sql"
diff --git a/test/cli/testprojinfo b/test/cli/testprojinfo
index 043e5724..62713af5 100755
--- a/test/cli/testprojinfo
+++ b/test/cli/testprojinfo
@@ -236,6 +236,41 @@ echo 'Testing -s NZGD2000 -t ITRF2014 -o PROJ -q' >> ${OUT}
$EXE -s NZGD2000 -t ITRF2014 -o PROJ -q >>${OUT} 2>&1
echo "" >>${OUT}
+######################
+# Finland TINs
+######################
+
+echo 'Testing -s "KKJ / Finland Uniform Coordinate System" -t "ETRS89 / TM35FIN(E,N)" --grid-check none -o PROJ -q' >> ${OUT}
+$EXE -s "KKJ / Finland Uniform Coordinate System" -t "ETRS89 / TM35FIN(E,N)" --grid-check none -o PROJ -q >>${OUT} 2>&1
+echo "" >>${OUT}
+
+echo 'Testing -s KKJ -t ETRS89 -o PROJ --grid-check none -q' >> ${OUT}
+$EXE -s KKJ -t ETRS89 -o PROJ --grid-check none -q >>${OUT} 2>&1
+echo "" >>${OUT}
+
+echo 'Testing -s "KKJ + N43 height" -t "KKJ + N60 height" --grid-check none -o PROJ -q' >> ${OUT}
+$EXE -s "KKJ + N43 height" -t "KKJ + N60 height" --grid-check none -o PROJ -q >>${OUT} 2>&1
+echo "" >>${OUT}
+
+echo 'Testing -s "KKJ + N60 height" -t "KKJ + N2000 height" --grid-check none -o PROJ -q' >> ${OUT}
+$EXE -s "KKJ + N60 height" -t "KKJ + N2000 height" --grid-check none -o PROJ -q >>${OUT} 2>&1
+echo "" >>${OUT}
+
+# Advanced !
+echo 'Testing -s "KKJ + N43 height" -t "ETRS89 + N2000 height" --grid-check none -o PROJ -q' >> ${OUT}
+$EXE -s "KKJ + N43 height" -t "ETRS89 + N2000 height" --grid-check none -o PROJ -q >>${OUT} 2>&1
+echo "" >>${OUT}
+
+# Advanced !
+echo 'Testing -s "KKJ / Finland Uniform Coordinate System + N43 height" -t "ETRS89 / TM35FIN(E,N) + N2000 height" --grid-check none -o PROJ -q' >> ${OUT}
+$EXE -s "KKJ / Finland Uniform Coordinate System + N43 height" -t "ETRS89 / TM35FIN(E,N) + N2000 height" --grid-check none -o PROJ -q >>${OUT} 2>&1
+echo "" >>${OUT}
+
+# Advanced !
+echo 'Testing -s "ETRS89 / TM35FIN(E,N) + N2000 height" -t "KKJ / Finland Uniform Coordinate System + N43 height" --grid-check none -o PROJ -q' >> ${OUT}
+$EXE -s "ETRS89 / TM35FIN(E,N) + N2000 height" -t "KKJ / Finland Uniform Coordinate System + N43 height" --grid-check none -o PROJ -q >>${OUT} 2>&1
+echo "" >>${OUT}
+
# do 'diff' with distribution results
echo "diff ${OUT} with testprojinfo_out.dist"
diff --git a/test/cli/testprojinfo_out.dist b/test/cli/testprojinfo_out.dist
index 3025295b..245bb258 100644
--- a/test/cli/testprojinfo_out.dist
+++ b/test/cli/testprojinfo_out.dist
@@ -1283,3 +1283,64 @@ Testing -s NZGD2000 -t ITRF2014 -o PROJ -q
+step +proj=unitconvert +xy_in=rad +xy_out=deg
+step +proj=axisswap +order=2,1
+Testing -s "KKJ / Finland Uniform Coordinate System" -t "ETRS89 / TM35FIN(E,N)" --grid-check none -o PROJ -q
++proj=pipeline
+ +step +proj=axisswap +order=2,1
+ +step +proj=tinshift +file=fi_nls_ykj_etrs35fin.json
+
+Testing -s KKJ -t ETRS89 -o PROJ --grid-check none -q
++proj=pipeline
+ +step +proj=axisswap +order=2,1
+ +step +proj=unitconvert +xy_in=deg +xy_out=rad
+ +step +proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=3500000 +y_0=0 +ellps=intl
+ +step +proj=tinshift +file=fi_nls_ykj_etrs35fin.json
+ +step +inv +proj=utm +zone=35 +ellps=GRS80
+ +step +proj=unitconvert +xy_in=rad +xy_out=deg
+ +step +proj=axisswap +order=2,1
+
+Testing -s "KKJ + N43 height" -t "KKJ + N60 height" --grid-check none -o PROJ -q
++proj=pipeline
+ +step +proj=axisswap +order=2,1
+ +step +proj=unitconvert +xy_in=deg +xy_out=rad
+ +step +proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=3500000 +y_0=0 +ellps=intl
+ +step +proj=tinshift +file=fi_nls_n43_n60.json
+ +step +inv +proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=3500000 +y_0=0 +ellps=intl
+ +step +proj=unitconvert +xy_in=rad +xy_out=deg
+ +step +proj=axisswap +order=2,1
+
+Testing -s "KKJ + N60 height" -t "KKJ + N2000 height" --grid-check none -o PROJ -q
++proj=pipeline
+ +step +proj=axisswap +order=2,1
+ +step +proj=unitconvert +xy_in=deg +xy_out=rad
+ +step +proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=3500000 +y_0=0 +ellps=intl
+ +step +proj=tinshift +file=fi_nls_n60_n2000.json
+ +step +inv +proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=3500000 +y_0=0 +ellps=intl
+ +step +proj=unitconvert +xy_in=rad +xy_out=deg
+ +step +proj=axisswap +order=2,1
+
+Testing -s "KKJ + N43 height" -t "ETRS89 + N2000 height" --grid-check none -o PROJ -q
++proj=pipeline
+ +step +proj=axisswap +order=2,1
+ +step +proj=unitconvert +xy_in=deg +xy_out=rad
+ +step +proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=3500000 +y_0=0 +ellps=intl
+ +step +proj=tinshift +file=fi_nls_n43_n60.json
+ +step +proj=tinshift +file=fi_nls_n60_n2000.json
+ +step +proj=tinshift +file=fi_nls_ykj_etrs35fin.json
+ +step +inv +proj=utm +zone=35 +ellps=GRS80
+ +step +proj=unitconvert +xy_in=rad +xy_out=deg
+ +step +proj=axisswap +order=2,1
+
+Testing -s "KKJ / Finland Uniform Coordinate System + N43 height" -t "ETRS89 / TM35FIN(E,N) + N2000 height" --grid-check none -o PROJ -q
++proj=pipeline
+ +step +proj=axisswap +order=2,1
+ +step +proj=tinshift +file=fi_nls_n43_n60.json
+ +step +proj=tinshift +file=fi_nls_n60_n2000.json
+ +step +proj=tinshift +file=fi_nls_ykj_etrs35fin.json
+
+Testing -s "ETRS89 / TM35FIN(E,N) + N2000 height" -t "KKJ / Finland Uniform Coordinate System + N43 height" --grid-check none -o PROJ -q
++proj=pipeline
+ +step +inv +proj=tinshift +file=fi_nls_ykj_etrs35fin.json
+ +step +inv +proj=tinshift +file=fi_nls_n60_n2000.json
+ +step +inv +proj=tinshift +file=fi_nls_n43_n60.json
+ +step +proj=axisswap +order=2,1
+