Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
445ad0cb9c | ||
|
|
3298856adb | ||
|
|
41011f93be | ||
|
|
af6eaeaa89 | ||
|
|
ba7fd762e3 | ||
|
|
0ba73a9143 | ||
|
|
fcb192be03 | ||
|
|
8d3951faf9 | ||
|
|
764e4fa0e0 | ||
|
|
5b605e70fd | ||
|
|
7524cb6978 | ||
|
|
2a62943a6b | ||
|
|
f60fd03744 | ||
|
|
d6990e9574 | ||
|
|
a2d3c39661 | ||
|
|
544eb6bba2 | ||
|
|
0b2d36424c | ||
|
|
1ce7daee0c | ||
|
|
30ca9f9470 | ||
|
|
cf1c627dc7 | ||
|
|
81a726c880 | ||
|
|
cbac7de90a | ||
|
|
641e1082bc | ||
|
|
6c0ca060cd | ||
|
|
6833956600 | ||
|
|
c90d44ae4f | ||
|
|
bcab1d5cd6 | ||
|
|
99ffd3c609 | ||
|
|
63ad2e73be | ||
|
|
39cd88063a | ||
|
|
3a7bdcb28d | ||
|
|
a3286f4f46 | ||
|
|
a0977a3e9a | ||
|
|
667d31ec19 | ||
|
|
6da2e58806 | ||
|
|
3a223d9ce5 | ||
|
|
31631f17d9 | ||
|
|
c58e68d28f | ||
|
|
3c5ef75881 | ||
|
|
5f7e401ed2 | ||
|
|
346f669ec6 | ||
|
|
fbeb21b7fc | ||
|
|
fa3b9cbcc8 | ||
|
|
a8b6143574 | ||
|
|
be05f52fa4 | ||
|
|
6c622c65cc | ||
|
|
c3748bfce0 | ||
|
|
717f3cbee5 | ||
|
|
1f266f3af5 | ||
|
|
a0c7555248 | ||
|
|
9d4aa1fbd3 | ||
|
|
0e740ae58f | ||
|
|
7ab1fb7f4e | ||
|
|
d89cb819cb | ||
|
|
187108b6ed | ||
|
|
39397ed58d | ||
|
|
1bdeb239b7 | ||
|
|
50fa033374 | ||
|
|
43581d5bcf | ||
|
|
cbab506524 | ||
|
|
12266b5f68 | ||
|
|
c1c8074782 | ||
|
|
9bee7f5f40 | ||
|
|
9a6d8b93e8 | ||
|
|
fde9135980 | ||
|
|
dc2c7a3f96 | ||
|
|
325595e176 | ||
|
|
9928f83afb | ||
|
|
7b6c7f2333 | ||
|
|
45c927dd33 | ||
|
|
2425d786be | ||
|
|
dc4d82b243 | ||
|
|
1aaa174e5f | ||
|
|
369ce8d40e | ||
|
|
992fcc8dbb | ||
|
|
6686cc0ccc | ||
|
|
9579231d96 | ||
|
|
5d3b2a94c6 | ||
|
|
940186f7af | ||
|
|
0dbff99390 | ||
|
|
afb279808b | ||
|
|
9296f97e45 | ||
|
|
cd8609b915 | ||
|
|
a2d45bb42c | ||
|
|
8f614bb9e4 | ||
|
|
ac069da7de | ||
|
|
b7bd426c2f | ||
|
|
fb4f815a09 | ||
|
|
9b35b53275 | ||
|
|
efc958e953 | ||
|
|
d54cc9e447 | ||
|
|
3f772a73e7 | ||
|
|
10aa25d5ad | ||
|
|
e082c6f1ef | ||
|
|
b68b8cd1b8 | ||
|
|
860d790457 | ||
|
|
5399a95d96 | ||
|
|
494b47737a | ||
|
|
7779e87663 | ||
|
|
ec4b1747f7 | ||
|
|
2f782f927c | ||
|
|
7fd9e4ae21 | ||
|
|
2bc292b0c2 | ||
|
|
840a723c99 | ||
|
|
de35615650 | ||
|
|
486da786ac | ||
|
|
8ea73006ce | ||
|
|
8a88101fe5 | ||
|
|
c34b0ac71b | ||
|
|
9e1f83617c |
@@ -1,11 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
|
||||
conda update --yes --quiet -n base -c defaults conda
|
||||
conda install --yes --quiet compilers
|
||||
|
||||
conda config --set channel_priority strict
|
||||
conda install --yes --quiet python=3.8 autoconf automake libtool ccache jsonschema
|
||||
conda install --yes --quiet --only-deps proj=7.1.1=h45baca5_3
|
||||
@@ -0,0 +1,52 @@
|
||||
# .readthedocs.yaml
|
||||
# Read the Docs configuration file
|
||||
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
|
||||
|
||||
# Required
|
||||
version: 2
|
||||
|
||||
build:
|
||||
os: "ubuntu-22.04"
|
||||
tools:
|
||||
python: "mambaforge-4.10"
|
||||
|
||||
jobs:
|
||||
post_checkout:
|
||||
# Cancel building pull requests when there aren't changed in the docs directory or YAML file.
|
||||
# You can add any other files or directories that you'd like here as well,
|
||||
# like your docs requirements file, or other files that will change your docs build.
|
||||
#
|
||||
# If there are no changes (git diff exits with 0) we force the command to return with 183.
|
||||
# This is a special exit code on Read the Docs that will cancel the build immediately.
|
||||
- |
|
||||
if [ "$READTHEDOCS_VERSION_TYPE" = "external" ] && git diff --quiet origin/9.0 -- docs/ .readthedocs.yaml;
|
||||
then
|
||||
exit 183;
|
||||
fi
|
||||
- (git --no-pager log --pretty="tformat:%s -- %b" -1 | grep -viqP "skip ci|ci skip") || exit 183
|
||||
pre_build:
|
||||
- ./docs/rtd/pre_build.sh
|
||||
- ./scripts/doxygen.sh
|
||||
- ./docs/rtd/plot.sh
|
||||
post_build:
|
||||
- ./docs/rtd/post_build.sh
|
||||
|
||||
apt_packages:
|
||||
- cmake
|
||||
- ninja-build
|
||||
- g++
|
||||
- sqlite3
|
||||
- libsqlite3-dev
|
||||
- libtiff-dev
|
||||
- libcurl4-openssl-dev
|
||||
|
||||
formats:
|
||||
- pdf
|
||||
- epub
|
||||
|
||||
conda:
|
||||
environment: docs/environment.yml
|
||||
|
||||
sphinx:
|
||||
configuration: docs/source/conf.py
|
||||
fail_on_warning: true
|
||||
@@ -1,6 +1,6 @@
|
||||
To cite PROJ in publications use:
|
||||
|
||||
PROJ contributors (2020). PROJ coordinate transformation software
|
||||
PROJ contributors (2022). PROJ coordinate transformation software
|
||||
library. Open Source Geospatial Foundation. URL https://proj.org/.
|
||||
DOI: 10.5281/zenodo.5884394
|
||||
|
||||
|
||||
@@ -73,6 +73,11 @@ elseif("${CMAKE_C_COMPILER_ID}" STREQUAL "MSVC")
|
||||
/wd4706 # Suppress warning about assignment within conditional expression
|
||||
/wd4996 # Suppress warning about sprintf, etc., being unsafe
|
||||
)
|
||||
if("$ENV{VSCMD_ARG_TGT_ARCH}" STREQUAL "arm64")
|
||||
# Suppress an inaccurate warning when compiling for an MSVC/ARM64 platform
|
||||
# It incorrectly assumes a division by zero is possible despite a check
|
||||
set(PROJ_C_WARN_FLAGS ${PROJ_C_WARN_FLAGS} /wd4723)
|
||||
endif()
|
||||
set(PROJ_CXX_WARN_FLAGS /EHsc ${PROJ_C_WARN_FLAGS})
|
||||
elseif("${CMAKE_C_COMPILER_ID}" STREQUAL "Intel")
|
||||
if(MSVC)
|
||||
@@ -110,7 +115,7 @@ message(STATUS "Configuring PROJ:")
|
||||
#PROJ version information
|
||||
################################################################################
|
||||
include(ProjVersion)
|
||||
proj_version(MAJOR 9 MINOR 0 PATCH 0)
|
||||
proj_version(MAJOR 9 MINOR 0 PATCH 1)
|
||||
set(PROJ_SOVERSION 25)
|
||||
set(PROJ_BUILD_VERSION "${PROJ_SOVERSION}.${PROJ_VERSION}")
|
||||
|
||||
@@ -330,7 +335,7 @@ configure_proj_pc()
|
||||
|
||||
install(FILES
|
||||
${CMAKE_CURRENT_BINARY_DIR}/proj.pc
|
||||
DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
|
||||
DESTINATION ${LIBDIR}/pkgconfig)
|
||||
|
||||
################################################################################
|
||||
# "make dist" workalike
|
||||
|
||||
@@ -1,3 +1,69 @@
|
||||
9.0.1 Release Notes
|
||||
-------------------
|
||||
|
||||
Database updates
|
||||
-------
|
||||
|
||||
o Update to EPSG 10.064 (#3208)
|
||||
|
||||
o Add OGC:CRS84h (WGS 84 longitude-latitude-height) (#3155)
|
||||
|
||||
Bug fixes
|
||||
---------
|
||||
|
||||
o Use CMAKE_INSTALL_MANDIR to override default (#3081)
|
||||
|
||||
o Increase MAX_ITER so Mollweide forward projection works near the poles (#3082)
|
||||
|
||||
o Fix wrong results with SQLite 3.38.0 (#3091)
|
||||
|
||||
o Fix issue when transforming from/to BoundCRS of 3D CRS with non-Greenwich
|
||||
prime meridian, created from WKT (#3098)
|
||||
|
||||
o Fix issues with WKT of concatenated operations (#3105)
|
||||
|
||||
o CMake: fix installation of proj.pc on Windows (#3109)
|
||||
|
||||
o createOperations(): fix issue in transformation northing, easting
|
||||
projected CRS -> +proj=longlat +lon_wrap (#3110)
|
||||
|
||||
o unitconvert: round to nearest date when converting to yyyymmdd (#3111)
|
||||
|
||||
o Fix comparison of GeodeticRefrenceFrame vs DynamicGeodeticReferenceFrame (#3120)
|
||||
|
||||
o createOperations(): fix transformation involving CompoundCRS, ToWGS84
|
||||
and PROJ4_GRIDS (#3124)
|
||||
|
||||
o Fix datum names when importing from PROJ4 crs strings (affects some
|
||||
transformations using geoidgrids) (#3129)
|
||||
|
||||
o Deal with PARAMETER["EPSG code for Interpolation CRS",crs_code] (#3149)
|
||||
|
||||
o createOperations(): fix CompoundCRS[BoundCRS[ProjectedCRS],BoundCRS[VerticalCRS]]
|
||||
to Geog3DCrs (#3151)
|
||||
|
||||
o ITRF2014: fix ITRF2014:ITRF88,ITRF94 and ITRF96 definitions (#3159)
|
||||
|
||||
o createBoundCRSToWGS84IfPossible(): improve selection logic to generate +towgs84=
|
||||
taking into account extent (#3160)
|
||||
|
||||
o createOperations(): fix some complex cases involving TOWGS84 and CompoundCRS (#3163)
|
||||
|
||||
o Fix cmake CURL dependency, update appveyor - vcpkg interaction (#3185)
|
||||
|
||||
o WKT import: deal with Projected CRS that is a mix of WKT1:GDAL / WKT1:ESRI (#3189)
|
||||
|
||||
o createOperations(): fix/improve result of 'BD72 + Ostend height ' to 'WGS84+EGM96 height' (#3199)
|
||||
|
||||
o Identifier::isEquivalentName(): fix when ending by ' + ' which could indirectly cause
|
||||
an infinite stack call in master (#3202)
|
||||
|
||||
o WKT import: correctly deal with absence of Latitude_Of_Origin parameter in
|
||||
WKT1 ESRI with Stereographic projection (#3212)
|
||||
|
||||
o PROJJSON parser: do not error out if a datum ensemble member is unknown in the database (#3223)
|
||||
|
||||
|
||||
9.0.0 Release Notes
|
||||
-------------------
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ endif()
|
||||
# for data install testing the PROJ_LIB envVar
|
||||
|
||||
string(TOLOWER "${PROJECT_NAME}" PROJECT_NAME_LOWER)
|
||||
if(UNIX)
|
||||
if(UNIX OR MINGW)
|
||||
include(GNUInstallDirs)
|
||||
set(DEFAULT_BIN_SUBDIR ${CMAKE_INSTALL_BINDIR})
|
||||
set(DEFAULT_LIB_SUBDIR ${CMAKE_INSTALL_LIBDIR})
|
||||
|
||||
@@ -39,6 +39,7 @@ endfunction()
|
||||
|
||||
# Create user writable directory for tests
|
||||
add_custom_target(create_tmp_user_writable_dir ALL
|
||||
COMMAND ${CMAKE_COMMAND} -E remove_directory ${PROJ_BINARY_DIR}/tmp_user_writable_dir
|
||||
COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJ_BINARY_DIR}/tmp_user_writable_dir)
|
||||
|
||||
function(proj_add_gie_network_dependent_test TESTNAME TESTCASE)
|
||||
|
||||
@@ -98,7 +98,7 @@ function(configure_proj_pc)
|
||||
list(APPEND EXTRA_LIBS -lole32 -lshell32)
|
||||
else()
|
||||
set(cxx_libs "${CMAKE_CXX_IMPLICIT_LINK_LIBRARIES}")
|
||||
list(REMOVE_ITEM cxx_libs ${CMAKE_C_IMPLICIT_LINK_LIBRARIES})
|
||||
list(REMOVE_ITEM cxx_libs ${CMAKE_C_IMPLICIT_LINK_LIBRARIES} nonempty)
|
||||
foreach(lib IN LISTS cxx_libs)
|
||||
list(APPEND EXTRA_LIBS "-l${lib}")
|
||||
endforeach()
|
||||
|
||||
@@ -8,6 +8,12 @@
|
||||
# @PROJECT_VARIANT_NAME@_BINARY_DIRS = /usr/local/bin
|
||||
# @PROJECT_VARIANT_NAME@_VERSION = 4.9.1 (for example)
|
||||
|
||||
include(CMakeFindDependencyMacro)
|
||||
if("@CURL_ENABLED@" STREQUAL "TRUE")
|
||||
# Chainload CURL usage requirements
|
||||
find_dependency(CURL)
|
||||
endif()
|
||||
|
||||
# Tell the user project where to find our headers and libraries
|
||||
get_filename_component (_DIR ${CMAKE_CURRENT_LIST_FILE} PATH)
|
||||
get_filename_component (_ROOT "${_DIR}/@PROJECT_ROOT_DIR@" ABSOLUTE)
|
||||
|
||||
@@ -9,9 +9,9 @@
|
||||
|
||||
<ITRF97> +proj=helmert +x=0.0074 +y=-0.0005 +z=-0.0628 +d=0.0038 +rz=0.00026 +dx0.0001 +dy=-0.0005 +dz=-0.0033 +ds=0.00012 +drz=0.00002 +t_epoch=2010.0 +convention=position_vector
|
||||
|
||||
<ITRF96> +proj=helmert +x=0.0074 +y=-0.0005 +z=-0.0628 +s=0.0038 +rz=0.00026 +dx=0.0001 +dy=-0.0005 +dz=-0.0033 +ds=0.00012 +t_epoch=2010.0 +convention=position_vector
|
||||
<ITRF96> +proj=helmert +x=0.0074 +y=-0.0005 +z=-0.0628 +s=0.0038 +rz=0.00026 +dx=0.0001 +dy=-0.0005 +dz=-0.0033 +ds=0.00012 +drz=0.00002 +t_epoch=2010.0 +convention=position_vector
|
||||
|
||||
<ITRF94> +proj=helmert +x=0.0074 +y=-0.0005 +z=-0.0628 +s=0.0038 +rz=0.00026 +dx=0.0001 +dy=-0.0005 +dz=-0.0033 +ds=0.00012 +t_epoch=2010.0 +convention=position_vector
|
||||
<ITRF94> +proj=helmert +x=0.0074 +y=-0.0005 +z=-0.0628 +s=0.0038 +rz=0.00026 +dx=0.0001 +dy=-0.0005 +dz=-0.0033 +ds=0.00012 +drz=0.00002 +t_epoch=2010.0 +convention=position_vector
|
||||
|
||||
<ITRF93> +proj=helmert +x=-0.0504 +y=0.0033 +z=-0.0602 +s=0.00429 +rx=-0.00281 +ry=-0.00338 +rz=0.0004 +dx=-0.0028 +dy=-0.0001 +dz=-0.0025 +ds=0.00012 +drx=-0.00011 +dry=-0.00019 +drz=0.00007 +t_epoch=2010.0 +convention=position_vector
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
|
||||
<ITRF89> +proj=helmert +x=0.0304 +y=0.0355 +z=-0.1308 +s=0.00819 +rz=0.00026 +dx=0.0001 +dy=-0.0005 +dz=-0.0033 +ds=0.00012 +drz=0.00002 +t_epoch=2010.0 +convention=position_vector
|
||||
|
||||
<ITRF88> +proj=helmert +x=0.0254 +y=-0.0005 +z=-0.1548 +s=0.01129 +rx=0.0001 +rz= +dx=0.00026 +dy=0.0001 +dx=-0.0005 +dz=-0.0033 +ds=0.00012 +drz=0.00002 +t_epoch=2010.0 +convention=position_vector
|
||||
<ITRF88> +proj=helmert +x=0.0254 +y=-0.0005 +z=-0.1548 +s=0.01129 +rx=0.0001 +rz=0.00026 +dx=0.0001 +dy=-0.0005 +dz=-0.0033 +ds=0.00012 +drz=0.00002 +t_epoch=2010.0 +convention=position_vector
|
||||
|
||||
# ITRF2014 Plate Motion Model parameters
|
||||
#
|
||||
|
||||
@@ -655,6 +655,11 @@ INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','6181','Nouvelle Triangu
|
||||
INSERT INTO "alias_name" VALUES('vertical_datum','EPSG','5172','Nivellement General du Luxembourg','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('vertical_datum','EPSG','1316','GNTRANS2003','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1319','EBBWV14-IRF','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1317','HULLEE13-IRF','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1320','SCM22-IRF','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1321','FNL22-IRF','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1322','ITRF2020','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('vertical_datum','EPSG','1323','SVD2006','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','21100','Genuk / NEIEZ','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2140','NAD83(CSRS98) / SCoPQ zone 3','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2141','NAD83(CSRS98) / SCoPQ zone 4','EPSG');
|
||||
@@ -4889,9 +4894,7 @@ INSERT INTO "alias_name" VALUES('projected_crs','EPSG','8066','NAD83(2011) / PCC
|
||||
INSERT INTO "alias_name" VALUES('vertical_crs','EPSG','8053','mean sea level depth (ftUS)','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('vertical_crs','EPSG','8053','msl depth (ftUS)','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','8067','NAD83(2011) / PCCS west zone(ft)','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','8082','NAD83(CSRS)v6 / MTM NS zone 4','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','8068','NAD83(2011) / PCCS Mt. Lemmon zone(ft)','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','8083','NAD83(CSRS)v6 / MTM NS zone 5','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','8090','WISCRS Florence (m)','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','4974','SIRGAS95 - XYZ','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','8091','WISCRS Florence (ftUS)','EPSG');
|
||||
@@ -7515,3 +7518,183 @@ INSERT INTO "alias_name" VALUES('projected_crs','EPSG','9943','ETRS89 / EBBWV14
|
||||
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','9944','ETRS89 / EBBWV14 SnakeGrid + Newlyn height','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6190','BD72 / Belgian Lambert 72 + Oostende height','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','9907','ETRS89 + Oostende height','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','32159','NAD83 / WyLam','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','9967','ETRS89 / HULLEE13 SnakeGrid','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','9968','ETRS89 / HULLEE13 SnakeGrid + Newlyn height','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','9972','ETRS89 / SCM22 SnakeGrid','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','9973','ETRS89 / SCM22 SnakeGrid + Newlyn height','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','9977','ETRS89 / FNL22 SnakeGrid','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','9978','ETRS89 / FNL22 SnakeGrid + Newlyn height','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','9945','MGI 1901 / Macedonia GK truncated','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','9945','MGI 1901 / Macedonia Gauss-Kruger truncated','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','9945','MSCS truncated','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','8082','NAD83(CSRS)v6 / MTM Nova Scotia zone 4','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','8082','NAD83(CSRS) 2010 / MTM NS zone 4','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','8083','NAD83(CSRS)v6 / MTM Nova Scotia zone 5','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','8083','NAD83(CSRS) 2010 / MTM NS zone 5','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22351','NAD83(CSRS) 1997 / MTM zone 11','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22352','NAD83(CSRS) 1997 / MTM zone 12','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22353','NAD83(CSRS) 1997 / MTM zone 13','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22354','NAD83(CSRS) 1997 / MTM zone 14','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22355','NAD83(CSRS) 1997 / MTM zone 15','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22356','NAD83(CSRS) 1997 / MTM zone 16','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22357','NAD83(CSRS) 1997 / MTM zone 17','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22651','NAD83(CSRS) 2010 / MTM zone 11','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22652','NAD83(CSRS) 2010 / MTM zone 12','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22653','NAD83(CSRS) 2010 / MTM zone 13','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22654','NAD83(CSRS) 2010 / MTM zone 14','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22655','NAD83(CSRS) 2010 / MTM zone 15','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22656','NAD83(CSRS) 2010 / MTM zone 16','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22657','NAD83(CSRS) 2010 / MTM zone 17','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22462','NAD83(CSRS) 2002 / Alberta 3TM ref merid 111','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22463','NAD83(CSRS) 2002 / Alberta 3TM ref merid 114','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22464','NAD83(CSRS) 2002 / Alberta 3TM ref merid 117','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22465','NAD83(CSRS) 2002 / Alberta 3TM ref merid 120','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22762','NAD83(CSRS) 2010 / Alberta 3TM ref merid 111','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22763','NAD83(CSRS) 2010 / Alberta 3TM ref merid 114','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22764','NAD83(CSRS) 2010 / Alberta 3TM ref merid 117','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22765','NAD83(CSRS) 2010 / Alberta 3TM ref merid 120','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22641','NAD83(CSRS) 2010 / MTM zone 1','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22642','NAD83(CSRS) 2010 / MTM zone 2','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22643','NAD83(CSRS) 2010 / MTM zone 3','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22644','NAD83(CSRS) 2010 / MTM zone 4','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22645','NAD83(CSRS) 2010 / MTM zone 5','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22646','NAD83(CSRS) 2010 / MTM zone 6','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22739','NAD83(CSRS) 2010 / PEI Stereographic','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22648','NAD83(CSRS) 2010 / MTM zone 8','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22649','NAD83(CSRS) 2010 / MTM zone 9','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22650','NAD83(CSRS) 2010 / MTM zone 10','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22307','NAD83(CSRS) 1997 / UTM zone 7N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22607','NAD83(CSRS) 2010 / UTM zone 7N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22707','NAD83(CSRS) 2010 / UTM zone 7N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22407','NAD83(CSRS) 2002 / UTM zone 7N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22409','NAD83(CSRS) 2002 / UTM zone 9N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22609','NAD83(CSRS) 2010 / UTM zone 9N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22709','NAD83(CSRS) 2010 / UTM zone 9N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22309','NAD83(CSRS) 1997 / UTM zone 9N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22311','NAD83(CSRS) 1997 / UTM zone 11N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22411','NAD83(CSRS) 2002 / UTM zone 11N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22611','NAD83(CSRS) 2010 / UTM zone 11N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22711','NAD83(CSRS) 2010 / UTM zone 11N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22312','NAD83(CSRS) 1997 / UTM zone 12N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22412','NAD83(CSRS) 2002 / UTM zone 12N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22712','NAD83(CSRS) 2010 / UTM zone 12N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22612','NAD83(CSRS) 2010 / UTM zone 12N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22313','NAD83(CSRS) 1997 / UTM zone 13N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22413','NAD83(CSRS) 2002 / UTM zone 13N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22613','NAD83(CSRS) 2010 / UTM zone 13N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22713','NAD83(CSRS) 2010 / UTM zone 13N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22314','NAD83(CSRS) 1997 / UTM zone 14N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22414','NAD83(CSRS) 2002 / UTM zone 14N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22614','NAD83(CSRS) 2010 / UTM zone 14N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22714','NAD83(CSRS) 2010 / UTM zone 14N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22315','NAD83(CSRS) 1997 / UTM zone 15N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22615','NAD83(CSRS) 2010 / UTM zone 15N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22715','NAD83(CSRS) 2010 / UTM zone 15N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22317','NAD83(CSRS) 1997 / UTM zone 17N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22417','NAD83(CSRS) 2002 / UTM zone 17N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22617','NAD83(CSRS) 2010 / UTM zone 17N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22717','NAD83(CSRS) 2010 / UTM zone 17N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22318','NAD83(CSRS) 1997 / UTM zone 18N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22418','NAD83(CSRS) 2002 / UTM zone 18N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22618','NAD83(CSRS) 2010 / UTM zone 18N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22718','NAD83(CSRS) 2010 / UTM zone 18N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22415','NAD83(CSRS) 2002 / UTM zone 15N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22316','NAD83(CSRS) 1997 / UTM zone 16N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22416','NAD83(CSRS) 2002 / UTM zone 16N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22616','NAD83(CSRS) 2010 / UTM zone 16N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22716','NAD83(CSRS) 2010 / UTM zone 16N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22308','NAD83(CSRS) 1997 / UTM zone 8N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22408','NAD83(CSRS) 2002 / UTM zone 8N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22608','NAD83(CSRS) 2010 / UTM zone 8N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22708','NAD83(CSRS) 2010 / UTM zone 8N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22310','NAD83(CSRS) 1997 / UTM zone 10N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22410','NAD83(CSRS) 2002 / UTM zone 10N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22610','NAD83(CSRS) 2010 / UTM zone 10N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22710','NAD83(CSRS) 2010 / UTM zone 10N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22319','NAD83(CSRS) 1997 / UTM zone 19N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22419','NAD83(CSRS) 2002 / UTM zone 19N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22619','NAD83(CSRS) 2010 / UTM zone 19N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22719','NAD83(CSRS) 2010 / UTM zone 19N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22320','NAD83(CSRS) 1997 / UTM zone 20N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22420','NAD83(CSRS) 2002 / UTM zone 20N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22620','NAD83(CSRS) 2010 / UTM zone 20N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22720','NAD83(CSRS) 2010 / UTM zone 20N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22321','NAD83(CSRS) 1997 / UTM zone 21N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22421','NAD83(CSRS) 2002 / UTM zone 21N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22621','NAD83(CSRS) 2010 / UTM zone 21N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22721','NAD83(CSRS) 2010 / UTM zone 21N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22322','NAD83(CSRS) 1997 / UTM zone 22N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22422','NAD83(CSRS) 2002 / UTM zone 22N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22622','NAD83(CSRS) 2010 / UTM zone 22N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22722','NAD83(CSRS) 2010 / UTM zone 22N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('vertical_crs','EPSG','20000','SVD2006Height','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22219','NAD83(CSRS) 1997 / UTM zone 19N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22219','NAD83(CSRS98) / UTM zone 19N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22220','NAD83(CSRS) 1997 / UTM zone 20N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22220','NAD83(CSRS98) / UTM zone 20N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22221','NAD83(CSRS) 1997 / UTM zone 21N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22221','NAD83(CSRS98) / UTM zone 21N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22222','NAD83(CSRS) 1997 / UTM zone 22N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22222','NAD83(CSRS98) / UTM zone 22N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22213','NAD83(CSRS) 1997 / UTM zone 13N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22213','NAD83 / UTM extended zone 13','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22213','NAD83(CSRS98) / UTM zone 13N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22214','NAD83(CSRS) 1997 / UTM zone 14N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22214','NAD83(CSRS98) / UTM zone 14N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22215','NAD83(CSRS) 1997 / UTM zone 15N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22215','NAD83(CSRS98) / UTM zone 15N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22216','NAD83(CSRS) 1997 / UTM zone 16N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22216','NAD83(CSRS98) / UTM zone 16N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22217','NAD83(CSRS) 1997 / UTM zone 17N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22217','NAD83(CSRS98) / UTM zone 17N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22218','NAD83(CSRS) 1997 / UTM zone 18N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22218','NAD83(CSRS98) / UTM zone 18N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22207','NAD83(CSRS) 1997 / UTM zone 7N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22207','NAD83(CSRS98) / UTM zone 7N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22208','NAD83(CSRS) 1997 / UTM zone 8N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22208','NAD83(CSRS98) / UTM zone 8N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22209','NAD83(CSRS) 1997 / UTM zone 9N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22209','NAD83(CSRS98) / UTM zone 9N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22210','NAD83(CSRS) 1997 / UTM zone 10N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22210','NAD83(CSRS98) / UTM zone 10N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22211','NAD83(CSRS) 1997 / UTM zone 11N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22211','NAD83(CSRS98) / UTM zone 11N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22212','NAD83(CSRS) 1997 / UTM zone 12N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22212','NAD83(CSRS98) / UTM zone 12N','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22262','NAD83(CSRS) 1997 / Alberta 3TM ref merid 111','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22262','NAD83(CSRS98) / Alberta 3TM ref merid 111','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22263','NAD83(CSRS) 1997 / Alberta 3TM ref merid 114','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22263','NAD83(CSRS98) / Alberta 3TM ref merid 114','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22264','NAD83(CSRS) 1997 / Alberta 3TM ref merid 117','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22264','NAD83(CSRS98) / Alberta 3TM ref merid 117','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22265','NAD83(CSRS) 1997 / Alberta 3TM ref merid 120','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22265','NAD83(CSRS98) / Alberta 3TM ref merid 120','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22337','NAD83(CSRS)v3 / MTM Nova Scotia zone 5','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22337','NAD83(CSRS) 1997 / MTM NS zone 5','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22338','NAD83(CSRS)v3 / MTM Nova Scotia zone 4','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22338','NAD83(CSRS) 1997 / MTM NS zone 4','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22239','NAD83(CSRS) 1997 / PEI Stereographic','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22239','NAD83(CSRS98) / PEI Stereographic','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22240','NAD83(CSRS) 1997 / NB Stereographic','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22240','NAD83(CSRS98) / NB Stereographic','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22243','NAD83(CSRS) 1997 / MTM zone 3','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22243','NAD83(CSRS98) / SCoPQ zone 3','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22244','NAD83(CSRS) 1997 / MTM zone 4','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22244','NAD83(CSRS98) / SCoPQ zone 4','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22245','NAD83(CSRS) 1997 / MTM zone 5','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22245','NAD83(CSRS98) / SCoPQ zone 5','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22246','NAD83(CSRS) 1997 / MTM zone 6','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22246','NAD83(CSRS98) / SCoPQ zone 6','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22247','NAD83(CSRS) 1997 / MTM zone 7','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22247','NAD83(CSRS98) / SCoPQ zone 7','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22639','NAD83(CSRS) 2010 / PEI Stereographic','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22348','NAD83(CSRS) 1997 / MTM zone 8','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22349','NAD83(CSRS) 1997 / MTM zone 9','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22350','NAD83(CSRS) 1997 / MTM zone 10','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22248','NAD83(CSRS) 1997 / MTM zone 8','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22248','NAD83(CSRS98) / SCoPQ zone 8','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22249','NAD83(CSRS) 1997 / MTM zone 9','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22249','NAD83(CSRS98) / SCoPQ zone 9','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22250','NAD83(CSRS) 1997 / MTM zone 10','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22250','NAD83(CSRS98) / SCoPQ zone 10','EPSG');
|
||||
|
||||
@@ -752,3 +752,23 @@ INSERT INTO "compound_crs" VALUES('EPSG','9935','DB_REF2016 zone 5',NULL,'EPSG',
|
||||
INSERT INTO "usage" VALUES('EPSG','17296','compound_crs','EPSG','9935','EPSG','3998','EPSG','1141');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','9944','EBBWV14 Grid + ODN height',NULL,'EPSG','9943','EPSG','5701',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17350','compound_crs','EPSG','9944','EPSG','4661','EPSG','1141');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','9948','ISN93 + ISH2004 height ',NULL,'EPSG','4659','EPSG','8089',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17415','compound_crs','EPSG','9948','EPSG','4662','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','9949','ISN2004 + ISH2004 height',NULL,'EPSG','5324','EPSG','8089',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17390','compound_crs','EPSG','9949','EPSG','4662','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','9950','ISN2016 + ISH2004 height',NULL,'EPSG','8086','EPSG','8089',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17381','compound_crs','EPSG','9950','EPSG','4662','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','9951','ISN93 / Lambert 1993 + ISH2004 height',NULL,'EPSG','3057','EPSG','8089',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17382','compound_crs','EPSG','9951','EPSG','4662','EPSG','1056');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','9952','ISN2004 / Lambert 2004 + ISH2004 height',NULL,'EPSG','5325','EPSG','8089',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17383','compound_crs','EPSG','9952','EPSG','4662','EPSG','1056');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','9953','ISN2016 / Lambert 2016 + ISH2004 height',NULL,'EPSG','8088','EPSG','8089',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17384','compound_crs','EPSG','9953','EPSG','4662','EPSG','1056');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','9968','HULLEE13 Grid + ODN height',NULL,'EPSG','9967','EPSG','5701',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17430','compound_crs','EPSG','9968','EPSG','4663','EPSG','1141');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','9973','SCM22 Grid + ODN height',NULL,'EPSG','9972','EPSG','5701',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17442','compound_crs','EPSG','9973','EPSG','4665','EPSG','1141');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','9978','FNL22 Grid + ODN height',NULL,'EPSG','9977','EPSG','5701',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17459','compound_crs','EPSG','9978','EPSG','4664','EPSG','1141');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','20001','ETRS89 + SVD2006 height',NULL,'EPSG','4258','EPSG','20000',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17956','compound_crs','EPSG','20001','EPSG','4058','EPSG','1026');
|
||||
|
||||
@@ -618,8 +618,8 @@ INSERT INTO "conversion" VALUES('EPSG','6198','Michigan CS27 Central zone','','E
|
||||
INSERT INTO "usage" VALUES('EPSG','9643','conversion','EPSG','6198','EPSG','1724','EPSG','1142');
|
||||
INSERT INTO "conversion" VALUES('EPSG','6199','Michigan CS27 South zone','','EPSG','1051','Lambert Conic Conformal (2SP Michigan)','EPSG','8821','Latitude of false origin',41.3,'EPSG','9110','EPSG','8822','Longitude of false origin',-84.2,'EPSG','9110','EPSG','8823','Latitude of 1st standard parallel',42.06,'EPSG','9110','EPSG','8824','Latitude of 2nd standard parallel',43.4,'EPSG','9110','EPSG','8826','Easting at false origin',2000000.0,'EPSG','9003','EPSG','8827','Northing at false origin',0.0,'EPSG','9003','EPSG','1038','Ellipsoid scaling factor',1.0000382,'EPSG','9201',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','9644','conversion','EPSG','6199','EPSG','1725','EPSG','1142');
|
||||
INSERT INTO "conversion" VALUES('EPSG','6203','Macedonia Gauss-Kruger','','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',21.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',0.9999,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','9645','conversion','EPSG','6203','EPSG','1148','EPSG','1142');
|
||||
INSERT INTO "conversion" VALUES('EPSG','6203','Macedonia Gauss-Kruger','A version of this projection with FN reduced by 4000000 is sometimes used for cadastre - see projection code 9911.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',21.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',0.9999,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17410','conversion','EPSG','6203','EPSG','1148','EPSG','1142');
|
||||
INSERT INTO "conversion" VALUES('EPSG','6212','Arauca urban grid','','EPSG','1052','Colombia Urban','EPSG','8801','Latitude of natural origin',7.051538301,'EPSG','9110','EPSG','8802','Longitude of natural origin',-70.452991476,'EPSG','9110','EPSG','8806','False easting',1035263.443,'EPSG','9001','EPSG','8807','False northing',1275526.621,'EPSG','9001','EPSG','1039','Projection plane origin height',100.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','9650','conversion','EPSG','6212','EPSG','4122','EPSG','1055');
|
||||
INSERT INTO "conversion" VALUES('EPSG','6213','Armenia urban grid','','EPSG','1052','Colombia Urban','EPSG','8801','Latitude of natural origin',4.315637,'EPSG','9110','EPSG','8802','Longitude of natural origin',-75.4024561,'EPSG','9110','EPSG','8806','False easting',1155824.666,'EPSG','9001','EPSG','8807','False northing',993087.465,'EPSG','9001','EPSG','1039','Projection plane origin height',1470.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
@@ -1536,9 +1536,9 @@ INSERT INTO "conversion" VALUES('EPSG','8063','Pima County zone 3 West (ft)','Gr
|
||||
INSERT INTO "usage" VALUES('EPSG','10410','conversion','EPSG','8063','EPSG','4450','EPSG','1207');
|
||||
INSERT INTO "conversion" VALUES('EPSG','8064','Pima County zone 4 Mt. Lemmon (ft)','Grid unit is International feet (note: not US Survey feet).','EPSG','9801','Lambert Conic Conformal (1SP)','EPSG','8801','Latitude of natural origin',30.3,'EPSG','9110','EPSG','8802','Longitude of natural origin',-110.45,'EPSG','9110','EPSG','8805','Scale factor at natural origin',0.9998,'EPSG','9201','EPSG','8806','False easting',30000.0,'EPSG','9002','EPSG','8807','False northing',-620000.0,'EPSG','9002',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','10411','conversion','EPSG','8064','EPSG','4473','EPSG','1207');
|
||||
INSERT INTO "conversion" VALUES('EPSG','8080','MTM Nova Scotia zone 4 v2','Introduced for use with NAD83(CSRS)v6.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9110','EPSG','8802','Longitude of natural origin',-61.3,'EPSG','9110','EPSG','8805','Scale factor at natural origin',0.9999,'EPSG','9201','EPSG','8806','False easting',24500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','8080','MTM Nova Scotia 2010 zone 4','Introduced for use with NAD83(CSRS)v6.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9110','EPSG','8802','Longitude of natural origin',-61.3,'EPSG','9110','EPSG','8805','Scale factor at natural origin',0.9999,'EPSG','9201','EPSG','8806','False easting',24500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','10423','conversion','EPSG','8080','EPSG','1534','EPSG','1142');
|
||||
INSERT INTO "conversion" VALUES('EPSG','8081','MTM Nova Scotia zone 5 v2','Geomatics Centre, Nova Scotia Ministry of Housing and Municipal Affairs.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9110','EPSG','8802','Longitude of natural origin',-64.3,'EPSG','9110','EPSG','8805','Scale factor at natural origin',0.9999,'EPSG','9201','EPSG','8806','False easting',25500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','8081','MTM Nova Scotia 2010 zone 5','Introduced for use with NAD83(CSRS)v6.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9110','EPSG','8802','Longitude of natural origin',-64.3,'EPSG','9110','EPSG','8805','Scale factor at natural origin',0.9999,'EPSG','9201','EPSG','8806','False easting',25500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','10424','conversion','EPSG','8081','EPSG','1535','EPSG','1142');
|
||||
INSERT INTO "conversion" VALUES('EPSG','8087','Iceland Lambert 2016','Replaces Iceland Lambert 2004 (code 5326). Used only with ISN2016 geogCRS.','EPSG','9802','Lambert Conic Conformal (2SP)','EPSG','8821','Latitude of false origin',65.0,'EPSG','9110','EPSG','8822','Longitude of false origin',-19.0,'EPSG','9110','EPSG','8823','Latitude of 1st standard parallel',64.15,'EPSG','9110','EPSG','8824','Latitude of 2nd standard parallel',65.45,'EPSG','9110','EPSG','8826','Easting at false origin',2700000.0,'EPSG','9001','EPSG','8827','Northing at false origin',300000.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','10425','conversion','EPSG','8087','EPSG','1120','EPSG','1241');
|
||||
@@ -1810,8 +1810,22 @@ INSERT INTO "conversion" VALUES('EPSG','9879','MOLDOR11-TM','In conjunction with
|
||||
INSERT INTO "usage" VALUES('EPSG','16956','conversion','EPSG','9879','EPSG','4655','EPSG','1141');
|
||||
INSERT INTO "conversion" VALUES('EPSG','9894','Luxembourg TM (3D)','','EPSG','1111','Transverse Mercator 3D','EPSG','8801','Latitude of natural origin',49.5,'EPSG','9110','EPSG','8802','Longitude of natural origin',6.1,'EPSG','9110','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',80000.0,'EPSG','9001','EPSG','8807','False northing',100000.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17109','conversion','EPSG','9894','EPSG','1146','EPSG','1142');
|
||||
INSERT INTO "conversion" VALUES('EPSG','9911','Macedonia Gauss-Kruger truncated','Truncated version of Macedonia Gauss-Kruger, with 4000000m removed from northings.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',21.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',0.9999,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',-4000000.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17400','conversion','EPSG','9911','EPSG','1148','EPSG','1028');
|
||||
INSERT INTO "conversion" VALUES('EPSG','9942','EBBWV14-TM','In conjunction with transformation ETRS89 to EBBWV14-IRF (1) (code 9941), emulates the EBBWV14 Snake projection.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',51.45,'EPSG','9110','EPSG','8802','Longitude of natural origin',-3.06,'EPSG','9110','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',106702.326,'EPSG','9001','EPSG','8807','False northing',119968.1395,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17347','conversion','EPSG','9942','EPSG','4661','EPSG','1141');
|
||||
INSERT INTO "conversion" VALUES('EPSG','9946','Iceland Lambert Azimuthal Equal Area','','EPSG','9820','Lambert Azimuthal Equal Area','EPSG','8801','Latitude of natural origin',65.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',-19.0,'EPSG','9102','EPSG','8806','False easting',1700000.0,'EPSG','9001','EPSG','8807','False northing',1300000.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17463','conversion','EPSG','9946','EPSG','1120','EPSG','1162');
|
||||
INSERT INTO "conversion" VALUES('EPSG','9966','HULLEE13-TM','In conjunction with transformation ETRS89 to HULLEE13-IRF (1) (code 9965), emulates the HULLEE13 Snake projection.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',53.45,'EPSG','9110','EPSG','8802','Longitude of natural origin',-0.57,'EPSG','9110','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',140859.7394,'EPSG','9001','EPSG','8807','False northing',247512.2812,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17427','conversion','EPSG','9966','EPSG','4663','EPSG','1141');
|
||||
INSERT INTO "conversion" VALUES('EPSG','9971','SCM22-TM','In conjunction with transformation ETRS89 to SCM22-IRF (1) (code 9970), emulates the SCM22 Snake projection.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',56.36,'EPSG','9110','EPSG','8802','Longitude of natural origin',-3.51,'EPSG','9110','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',108600.972,'EPSG','9001','EPSG','8807','False northing',239087.349,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17440','conversion','EPSG','9971','EPSG','4665','EPSG','1141');
|
||||
INSERT INTO "conversion" VALUES('EPSG','9976','FNL22-TM','In conjunction with transformation ETRS89 to FNL22-IRF (1) (code 9975), emulates the FNL22 Snake projection.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',58.0,'EPSG','9110','EPSG','8802','Longitude of natural origin',-3.48,'EPSG','9110','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',139618.9493,'EPSG','9001','EPSG','8807','False northing',183110.794,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17455','conversion','EPSG','9976','EPSG','4664','EPSG','1141');
|
||||
INSERT INTO "conversion" VALUES('EPSG','9981','MTM Nova Scotia 1997 zone 4','Introduced for use with NAD83(CSRS)v3.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9110','EPSG','8802','Longitude of natural origin',-61.3,'EPSG','9110','EPSG','8805','Scale factor at natural origin',0.9999,'EPSG','9201','EPSG','8806','False easting',14500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17527','conversion','EPSG','9981','EPSG','1534','EPSG','1142');
|
||||
INSERT INTO "conversion" VALUES('EPSG','9982','MTM Nova Scotia 1997 zone 5','Introduced for use with NAD83(CSRS)v3.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9110','EPSG','8802','Longitude of natural origin',-64.3,'EPSG','9110','EPSG','8805','Scale factor at natural origin',0.9999,'EPSG','9201','EPSG','8806','False easting',15500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17525','conversion','EPSG','9982','EPSG','1535','EPSG','1142');
|
||||
INSERT INTO "conversion" VALUES('EPSG','10101','Alabama CS27 East zone','','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',30.3,'EPSG','9110','EPSG','8802','Longitude of natural origin',-85.5,'EPSG','9110','EPSG','8805','Scale factor at natural origin',0.99996,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9003','EPSG','8807','False northing',0.0,'EPSG','9003',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','11101','conversion','EPSG','10101','EPSG','2154','EPSG','1142');
|
||||
INSERT INTO "conversion" VALUES('EPSG','10102','Alabama CS27 West zone','','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',30.0,'EPSG','9110','EPSG','8802','Longitude of natural origin',-87.3,'EPSG','9110','EPSG','8805','Scale factor at natural origin',0.999933333,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9003','EPSG','8807','False northing',0.0,'EPSG','9003',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
@@ -2303,6 +2317,8 @@ INSERT INTO "conversion" VALUES('EPSG','14903','Wyoming CS27 West Central zone',
|
||||
INSERT INTO "usage" VALUES('EPSG','11344','conversion','EPSG','14903','EPSG','2272','EPSG','1142');
|
||||
INSERT INTO "conversion" VALUES('EPSG','14904','Wyoming CS27 West zone','','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',40.4,'EPSG','9110','EPSG','8802','Longitude of natural origin',-110.05,'EPSG','9110','EPSG','8805','Scale factor at natural origin',0.999941177,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9003','EPSG','8807','False northing',0.0,'EPSG','9003',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','11345','conversion','EPSG','14904','EPSG','2271','EPSG','1142');
|
||||
INSERT INTO "conversion" VALUES('EPSG','14930','Wyoming Lambert','Source originally defining the projection is unclear - possibly the Wyoming GIS Center.','EPSG','9802','Lambert Conic Conformal (2SP)','EPSG','8821','Latitude of false origin',41.0,'EPSG','9110','EPSG','8822','Longitude of false origin',-107.3,'EPSG','9110','EPSG','8823','Latitude of 1st standard parallel',41.0,'EPSG','9110','EPSG','8824','Latitude of 2nd standard parallel',45.0,'EPSG','9110','EPSG','8826','Easting at false origin',500000.0,'EPSG','9001','EPSG','8827','Northing at false origin',200000.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17408','conversion','EPSG','14930','EPSG','1419','EPSG','1135');
|
||||
INSERT INTO "conversion" VALUES('EPSG','14931','SPCS83 Wyoming East zone (meters)','See code 14935 for equivalent non-metric definition.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',40.3,'EPSG','9110','EPSG','8802','Longitude of natural origin',-105.1,'EPSG','9110','EPSG','8805','Scale factor at natural origin',0.9999375,'EPSG','9201','EPSG','8806','False easting',200000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','11346','conversion','EPSG','14931','EPSG','2269','EPSG','1142');
|
||||
INSERT INTO "conversion" VALUES('EPSG','14932','SPCS83 Wyoming East Central zone (meters)','See code 14936 for equivalent non-metric definition.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',40.3,'EPSG','9110','EPSG','8802','Longitude of natural origin',-107.2,'EPSG','9110','EPSG','8805','Scale factor at natural origin',0.9999375,'EPSG','9201','EPSG','8806','False easting',400000.0,'EPSG','9001','EPSG','8807','False northing',100000.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
@@ -4740,8 +4756,9 @@ INSERT INTO "conversion" VALUES('EPSG','18275','Balkans zone 5','','EPSG','9807'
|
||||
INSERT INTO "usage" VALUES('EPSG','12859','conversion','EPSG','18275','EPSG','1709','EPSG','1142');
|
||||
INSERT INTO "conversion" VALUES('EPSG','18276','Balkans zone 6','','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',18.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',0.9999,'EPSG','9201','EPSG','8806','False easting',6500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12860','conversion','EPSG','18276','EPSG','1710','EPSG','1142');
|
||||
INSERT INTO "conversion" VALUES('EPSG','18277','Balkans zone 7','','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',21.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',0.9999,'EPSG','9201','EPSG','8806','False easting',7500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "conversion" VALUES('EPSG','18277','Balkans zone 7','In Macedonia replaced by MSCS (map projection code 6203) from 2008 but from 2013 this projection used for AREC electronic cadastral database (E-kat) across whole country.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',21.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',0.9999,'EPSG','9201','EPSG','8806','False easting',7500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12861','conversion','EPSG','18277','EPSG','1711','EPSG','1142');
|
||||
INSERT INTO "usage" VALUES('EPSG','17355','conversion','EPSG','18277','EPSG','1148','EPSG','1028');
|
||||
INSERT INTO "conversion" VALUES('EPSG','18278','Balkans zone 8','','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',24.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',0.9999,'EPSG','9201','EPSG','8806','False easting',8500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','12862','conversion','EPSG','18278','EPSG','1712','EPSG','1142');
|
||||
INSERT INTO "conversion" VALUES('EPSG','18280','Poland zone I','','EPSG','9809','Oblique Stereographic','EPSG','8801','Latitude of natural origin',50.373,'EPSG','9110','EPSG','8802','Longitude of natural origin',21.05,'EPSG','9110','EPSG','8805','Scale factor at natural origin',0.9998,'EPSG','9201','EPSG','8806','False easting',4637000.0,'EPSG','9001','EPSG','8807','False northing',5467000.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
|
||||
@@ -33,6 +33,19 @@ INSERT INTO "usage" VALUES(
|
||||
'EPSG','1024' -- unknown
|
||||
);
|
||||
|
||||
-- Defined in http://www.opengis.net/def/crs/OGC/0/CRS84h . Same as EPSG:4979 except axis order
|
||||
INSERT INTO "geodetic_crs" VALUES('OGC','CRS84h','WGS 84 longitude-latitude-height',NULL,'geographic 3D','EPSG','6426','EPSG','6326',NULL,0);
|
||||
INSERT INTO "scope" VALUES('PROJ','OGC_CRS84h','3D system frequently used in GIS, Web APIs and Web applications',0);
|
||||
INSERT INTO "usage" VALUES(
|
||||
'PROJ',
|
||||
'OGC_CRS84h_USAGE',
|
||||
'geodetic_crs',
|
||||
'OGC',
|
||||
'CRS84h',
|
||||
'EPSG','1262', -- extent ('World')
|
||||
'PROJ','OGC_CRS84h' -- scope
|
||||
);
|
||||
|
||||
INSERT INTO "geodetic_crs" VALUES('OGC','CRS27','NAD27 (CRS27)',NULL,'geographic 2D','EPSG','6424','EPSG','6267',NULL,0);
|
||||
INSERT INTO "usage" VALUES(
|
||||
'PROJ',
|
||||
|
||||
@@ -326,7 +326,7 @@ INSERT INTO "extent" VALUES('EPSG','1346','Qatar - onshore','Qatar - onshore.',2
|
||||
INSERT INTO "extent" VALUES('EPSG','1347','Belgium - onshore','Belgium - onshore.',49.5,51.51,2.5,6.4,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1348','South America - PSAD56 by country','Aruba - onshore; Bolivia; Bonaire - onshore; Brazil - offshore - Amazon Cone shelf; Chile - onshore north of 43°30''S; Curacao - onshore; Ecuador - mainland onshore; Guyana - onshore; Peru - onshore; Venezuela - onshore.',-43.5,12.68,-81.41,-47.99,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1349','North America - NAD27','North and central America: Antigua and Barbuda - onshore. Bahamas - onshore plus offshore over internal continental shelf only. Belize - onshore. British Virgin Islands - onshore. Canada onshore - Alberta, British Columbia, Manitoba, New Brunswick, Newfoundland and Labrador, Northwest Territories, Nova Scotia, Nunavut, Ontario, Prince Edward Island, Quebec, Saskatchewan and Yukon - plus offshore east coast. Cuba - onshore and offshore. El Salvador - onshore. Guatemala - onshore. Honduras - onshore. Panama - onshore. Puerto Rico - onshore. Mexico - onshore plus offshore east coast. Nicaragua - onshore. United States (USA) onshore and offshore - Alabama, Alaska, Arizona, Arkansas, California, Colorado, Connecticut, Delaware, Florida, Georgia, Idaho, Illinois, Indiana, Iowa, Kansas, Kentucky, Louisiana, Maine, Maryland, Massachusetts, Michigan, Minnesota, Mississippi, Missouri, Montana, Nebraska, Nevada, New Hampshire, New Jersey, New Mexico, New York, North Carolina, North Dakota, Ohio, Oklahoma, Oregon, Pennsylvania, Rhode Island, South Carolina, South Dakota, Tennessee, Texas, Utah, Vermont, Virginia, Washington, West Virginia, Wisconsin and Wyoming - plus offshore . US Virgin Islands - onshore.',7.15,83.17,167.65,-47.74,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1350','North America - NAD83','North America - onshore and offshore: Canada - Alberta; British Columbia; Manitoba; New Brunswick; Newfoundland and Labrador; Northwest Territories; Nova Scotia; Nunavut; Ontario; Prince Edward Island; Quebec; Saskatchewan; Yukon. Puerto Rico. United States (USA) - Alabama; Alaska; Arizona; Arkansas; California; Colorado; Connecticut; Delaware; Florida; Georgia; Hawaii; Idaho; Illinois; Indiana; Iowa; Kansas; Kentucky; Louisiana; Maine; Maryland; Massachusetts; Michigan; Minnesota; Mississippi; Missouri; Montana; Nebraska; Nevada; New Hampshire; New Jersey; New Mexico; New York; North Carolina; North Dakota; Ohio; Oklahoma; Oregon; Pennsylvania; Rhode Island; South Carolina; South Dakota; Tennessee; Texas; Utah; Vermont; Virginia; Washington; West Virginia; Wisconsin; Wyoming. US Virgin Islands. British Virgin Islands.',14.92,86.46,167.65,-47.74,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1350','North America - NAD83','North America - onshore and offshore: Canada - Alberta; British Columbia; Manitoba; New Brunswick; Newfoundland and Labrador; Northwest Territories; Nova Scotia; Nunavut; Ontario; Prince Edward Island; Quebec; Saskatchewan; Yukon. Puerto Rico. United States (USA) - Alabama; Alaska; Arizona; Arkansas; California; Colorado; Connecticut; Delaware; Florida; Georgia; Hawaii; Idaho; Illinois; Indiana; Iowa; Kansas; Kentucky; Louisiana; Maine; Maryland; Massachusetts; Michigan; Minnesota; Mississippi; Missouri; Montana; Nebraska; Nevada; New Hampshire; New Jersey; New Mexico; New York; North Carolina; North Dakota; Ohio; Oklahoma; Oregon; Pennsylvania; Rhode Island; South Carolina; South Dakota; Tennessee; Texas; Utah; Vermont; Virginia; Washington; West Virginia; Wisconsin; Wyoming. US Virgin Islands. British Virgin Islands.',14.92,86.45,167.65,-40.73,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1351','Asia - Middle East - Qatar offshore and UAE','Arabian Gulf; Qatar - offshore; United Arab Emirates (UAE) - Abu Dhabi; Dubai; Sharjah; Ajman; Fujairah; Ras Al Kaimah; Umm Al Qaiwain - onshore and offshore.',22.63,27.05,50.55,57.13,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1352','Norway - onshore','Norway - onshore.',57.93,71.21,4.68,31.22,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1353','France - onshore','France - onshore.',NULL,NULL,NULL,NULL,1);
|
||||
@@ -687,7 +687,7 @@ INSERT INTO "extent" VALUES('EPSG','1707','Austria - 11°50''E to 14°50''E','Au
|
||||
INSERT INTO "extent" VALUES('EPSG','1708','Austria - east of 14°50''E','Austria east of 14°50''E of Greenwich (32°30''E of Ferro).',46.56,49.02,14.83,17.17,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1709','Europe - former Yugoslavia onshore west of 16.5°E','Bosnia and Herzegovina - west of 16°30''E; Croatia - onshore west of 16°30''E; Slovenia - onshore.',42.95,46.88,13.38,16.5,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1710','Europe - former Yugoslavia onshore 16.5°E to 19.5°E','Bosnia and Herzegovina - between 16°30''E and 19°30''E; Croatia - onshore east of 16°30''E; Montenegro - onshore west of 19°30''E; Serbia - west of 19°30''E.',41.79,46.55,16.5,19.51,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1711','Europe - former Yugoslavia onshore 19.5°E to 22.5°E','Bosnia and Herzegovina - east of 19°30''E; Kosovo; Montenegro - east of 19°30''E; North Macedonia - west of 22°30''E; Serbia - between 19°30''E and 22°30''E.',40.85,46.19,19.5,22.51,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1711','Europe - former Yugoslavia onshore 19.5°E to 22.5°E','Bosnia and Herzegovina - east of 19°30''E; Kosovo; Montenegro - east of 19°30''E; Serbia - between 19°30''E and 22°30''E.',41.85,46.18,19.5,22.5,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1712','Europe - former Yugoslavia onshore east of 22.5°E','North Macedonia - east of 22°30''E; Serbia - east of 22°30''E.',41.11,44.7,22.5,23.04,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1713','Nigeria - east of 10.5°E','Nigeria east of 10°30''E.',6.43,13.72,10.49,14.65,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1714','Nigeria - 6.5°E to 10.5°E','Nigeria between 6°30''E and 10°30''E, onshore and offshore shelf.',3.57,13.53,6.5,10.51,0);
|
||||
@@ -1827,9 +1827,9 @@ INSERT INTO "extent" VALUES('EPSG','2847','Sweden - 2.5 gon W','Sweden - commune
|
||||
INSERT INTO "extent" VALUES('EPSG','2848','Sweden - 0 gon','Sweden - communes between approximately 16°55''E and 19°10''E; Gotland. See information source for map.',56.86,68.54,16.08,20.22,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2849','Sweden - 2.5 gon E','Sweden - communes between approximately 19°10''E and 21°25''E. See information source for map.',63.37,69.07,18.4,22.2,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2850','Sweden - 5 gon E','Sweden - east of approximately 21°26''E. See information source for map.',65.24,68.58,21.34,24.17,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2851','Iceland - onshore west of 24°W','Iceland - onshore west of 24°W.',64.71,65.86,-24.66,-24.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2852','Iceland - onshore 24°W to 18°W','Iceland - onshore between 24°W and 18°W.',63.34,66.52,-24.0,-18.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2853','Iceland - onshore east of 18°W','Iceland - onshore east of 18°W.',63.45,66.59,-18.0,-13.38,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2851','Iceland - mainland west of 24°W','Iceland - mainland west of 24°W.',64.71,65.85,-24.66,-24.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2852','Iceland - mainland 24°W to 18°W','Iceland - mainland between 24°W and 18°W.',63.34,66.52,-24.0,-18.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2853','Iceland - mainland east of 18°W','Iceland - mainland east of 18°W.',63.45,66.58,-18.0,-13.38,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','2854','Europe - 36°W to 30°W','Europe - between 36°W and 30°W.',39.3,39.85,-36.0,-30.0,1);
|
||||
INSERT INTO "extent" VALUES('EPSG','2855','Europe - 30°W to 24°W','Europe - between 30°W and 24°W.',25.1,65.8,-30.0,-24.0,1);
|
||||
INSERT INTO "extent" VALUES('EPSG','2856','Europe - 24°W to 18°W','Europe - between 24°W and 18°W.',27.6,66.5,-24.0,-18.0,1);
|
||||
@@ -2238,7 +2238,7 @@ INSERT INTO "extent" VALUES('EPSG','3258','Guinea-Bissau - onshore','Guinea-Biss
|
||||
INSERT INTO "extent" VALUES('EPSG','3259','Guyana - onshore','Guyana - onshore.',1.18,8.58,-61.39,-56.47,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3260','Haiti - onshore','Haiti - onshore.',17.97,20.15,-74.52,-71.62,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3261','Honduras - onshore','Honduras - onshore.',12.98,16.49,-89.36,-83.08,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3262','Iceland - onshore','Iceland - onshore.',63.34,66.59,-24.66,-13.38,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3262','Iceland - mainland','Iceland - mainland.',63.34,66.59,-24.66,-13.38,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3263','Japan - onshore mainland','Japan - onshore mainland - Hokkaido, Honshu, Shikoku, Kyushu.',30.94,45.54,129.3,145.87,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3264','Kenya - onshore','Kenya - onshore.',-4.72,4.63,33.9,41.91,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','3265','Korea, Democratic People''s Republic of (North Korea) - onshore','Democratic People''s Republic of Korea (North Korea) - onshore.',37.62,43.01,124.27,130.75,0);
|
||||
@@ -3635,5 +3635,9 @@ INSERT INTO "extent" VALUES('EPSG','4656','Norway - inshore and nearshore','Norw
|
||||
INSERT INTO "extent" VALUES('EPSG','4657','St Martin','St Martin - onshore and offshore.',17.87,18.19,-63.66,-62.73,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4658','St Barthelemy','St Barthélemy - onshore and offshore.',17.64,18.31,-63.1,-62.21,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4659','Italy - mainland west of 16°E','Italy - mainland northwest of approximately 16°E, including San Marino and Vatican City State.',39.65,47.09,6.62,16.52,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4660','Germany - Hesse','Germany - Hesse.',49.39,51.66,7.77,10.24,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4660','Germany - Hessen','Germany - Hessen.',49.39,51.66,7.77,10.24,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4661','UK - Newport to Ebbw Vale','United Kingdom (UK) - on or related to the rail route from Newport (Park Junction) to Ebbw Vale.',51.5,51.85,-3.3,-2.89,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4662','Iceland - onshore','Iceland - onshore.',63.24,66.62,-24.66,-13.38,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4663','UK - Leeds to Hull','United Kingdom (UK) - on or related to the rail route from the Morley tunnel through Leeds to Hull.',53.6,53.9,-1.7,0.27,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4664','UK - Inverness to Thurso','United Kingdom (UK) - on or related to the rail route from Inverness to Thurso and Wick.',57.4,58.64,-4.6,-3.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4665','UK - Motherwell to Inverness','United Kingdom (UK) - on or related to the Scottish central mainline rail route from Motherwell through Perth and Pitlochry to Inverness.',55.7,57.55,-4.4,-3.3,0);
|
||||
|
||||
@@ -2168,3 +2168,15 @@ INSERT INTO "geodetic_crs" VALUES('EPSG','9893','LUREF',NULL,'geographic 3D','EP
|
||||
INSERT INTO "usage" VALUES('EPSG','17309','geodetic_crs','EPSG','9893','EPSG','1146','EPSG','1027');
|
||||
INSERT INTO "geodetic_crs" VALUES('EPSG','9939','EBBWV14-IRF',NULL,'geographic 2D','EPSG','6422','EPSG','1319',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17353','geodetic_crs','EPSG','9939','EPSG','4661','EPSG','1141');
|
||||
INSERT INTO "geodetic_crs" VALUES('EPSG','9964','HULLEE13-IRF',NULL,'geographic 2D','EPSG','6422','EPSG','1317',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17424','geodetic_crs','EPSG','9964','EPSG','4663','EPSG','1141');
|
||||
INSERT INTO "geodetic_crs" VALUES('EPSG','9969','SCM22-IRF',NULL,'geographic 2D','EPSG','6422','EPSG','1320',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17438','geodetic_crs','EPSG','9969','EPSG','4665','EPSG','1141');
|
||||
INSERT INTO "geodetic_crs" VALUES('EPSG','9974','FNL22-IRF',NULL,'geographic 2D','EPSG','6422','EPSG','1321',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17451','geodetic_crs','EPSG','9974','EPSG','4664','EPSG','1141');
|
||||
INSERT INTO "geodetic_crs" VALUES('EPSG','9988','ITRF2020',NULL,'geocentric','EPSG','6500','EPSG','1322',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17904','geodetic_crs','EPSG','9988','EPSG','2830','EPSG','1027');
|
||||
INSERT INTO "geodetic_crs" VALUES('EPSG','9989','ITRF2020',NULL,'geographic 3D','EPSG','6423','EPSG','1322',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17902','geodetic_crs','EPSG','9989','EPSG','1262','EPSG','1027');
|
||||
INSERT INTO "geodetic_crs" VALUES('EPSG','9990','ITRF2020',NULL,'geographic 2D','EPSG','6422','EPSG','1322',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17901','geodetic_crs','EPSG','9990','EPSG','1262','EPSG','1027');
|
||||
|
||||
@@ -346,8 +346,16 @@ INSERT INTO "geodetic_datum" VALUES('EPSG','1314','MRH21 Intermediate Reference
|
||||
INSERT INTO "usage" VALUES('EPSG','16933','geodetic_datum','EPSG','1314','EPSG','4652','EPSG','1141');
|
||||
INSERT INTO "geodetic_datum" VALUES('EPSG','1315','MOLDOR11 Intermediate Reference Frame',NULL,'EPSG','7019','EPSG','8901','2021-01-01',NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','16950','geodetic_datum','EPSG','1315','EPSG','4655','EPSG','1141');
|
||||
INSERT INTO "geodetic_datum" VALUES('EPSG','1319','EBBWV14 Intermediate Reference Frame',NULL,'EPSG','7019','EPSG','8901','2021-01-01',NULL,NULL,NULL,0);
|
||||
INSERT INTO "geodetic_datum" VALUES('EPSG','1317','HULLEE13 Intermediate Reference Frame',NULL,'EPSG','7019','EPSG','8901','2022-01-01',NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17416','geodetic_datum','EPSG','1317','EPSG','4663','EPSG','1141');
|
||||
INSERT INTO "geodetic_datum" VALUES('EPSG','1319','EBBWV14 Intermediate Reference Frame',NULL,'EPSG','7019','EPSG','8901','2022-01-01',NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17343','geodetic_datum','EPSG','1319','EPSG','4661','EPSG','1141');
|
||||
INSERT INTO "geodetic_datum" VALUES('EPSG','1320','SCM22 Intermediate Reference Frame',NULL,'EPSG','7019','EPSG','8901','2022-01-01',NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17437','geodetic_datum','EPSG','1320','EPSG','4665','EPSG','1141');
|
||||
INSERT INTO "geodetic_datum" VALUES('EPSG','1321','FNL22 Intermediate Reference Frame',NULL,'EPSG','7019','EPSG','8901','2022-01-01',NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17450','geodetic_datum','EPSG','1321','EPSG','4664','EPSG','1141');
|
||||
INSERT INTO "geodetic_datum" VALUES('EPSG','1322','International Terrestrial Reference Frame 2020',NULL,'EPSG','7019','EPSG','8901','2015-01-01',2015.0,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17903','geodetic_datum','EPSG','1322','EPSG','1262','EPSG','1027');
|
||||
INSERT INTO "geodetic_datum" VALUES('EPSG','6001','Not specified (based on Airy 1830 ellipsoid)',NULL,'EPSG','7001','EPSG','8901',NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','13422','geodetic_datum','EPSG','6001','EPSG','1263','EPSG','1213');
|
||||
INSERT INTO "geodetic_datum" VALUES('EPSG','6002','Not specified (based on Airy Modified 1849 ellipsoid)',NULL,'EPSG','7002','EPSG','8901',NULL,NULL,NULL,NULL,0);
|
||||
@@ -738,7 +746,7 @@ INSERT INTO "geodetic_datum" VALUES('EPSG','6275','Nouvelle Triangulation Franca
|
||||
INSERT INTO "usage" VALUES('EPSG','13616','geodetic_datum','EPSG','6275','EPSG','3694','EPSG','1153');
|
||||
INSERT INTO "geodetic_datum" VALUES('EPSG','6276','NSWC 9Z-2',NULL,'EPSG','7025','EPSG','8901','1976-01-01',NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','13617','geodetic_datum','EPSG','6276','EPSG','1262','EPSG','1245');
|
||||
INSERT INTO "geodetic_datum" VALUES('EPSG','6277','Ordnance Survey of Great Britain 1936',NULL,'EPSG','7001','EPSG','8901','1936',NULL,NULL,NULL,0);
|
||||
INSERT INTO "geodetic_datum" VALUES('EPSG','6277','Ordnance Survey of Great Britain 1936',NULL,'EPSG','7001','EPSG','8901','1936-01-01',NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','13618','geodetic_datum','EPSG','6277','EPSG','4390','EPSG','1153');
|
||||
INSERT INTO "geodetic_datum" VALUES('EPSG','6278','OSGB 1970 (SN)',NULL,'EPSG','7001','EPSG','8901','1970-01-01',NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','13619','geodetic_datum','EPSG','6278','EPSG','1264','EPSG','1027');
|
||||
|
||||
@@ -169,9 +169,9 @@ VALUES
|
||||
('GGSPM06v1.mnt','fr_ign_ggspm06v1.tif','ggspm06v1.gtx','GTiff','geoid_like',0,NULL,'https://cdn.proj.org/fr_ign_ggspm06v1.tif',1,1,NULL),
|
||||
|
||||
-- is_lmi - National Land Survey of Iceland
|
||||
('Icegeoid_ISN2004.gtx','is_lmi_Icegeoid_ISN2004.tif','Icegeoid_ISN2004.gtx','GTiff','geoid_like',0,NULL,'https://cdn.proj.org/is_lmi_Icegeoid_ISN2004.tif',1,1,NULL),
|
||||
('Icegeoid_ISN93.gtx','is_lmi_Icegeoid_ISN93.tif','Icegeoid_ISN93.gtx','GTiff','geoid_like',0,NULL,'https://cdn.proj.org/is_lmi_Icegeoid_ISN93.tif',1,1,NULL),
|
||||
('Icegeoid_ISN2016.gtx','is_lmi_Icegeoid_ISN2016.tif','Icegeoid_ISN2016.gtx','GTiff','geoid_like',0,NULL,'https://cdn.proj.org/is_lmi_Icegeoid_ISN2016.tif',1,1,NULL),
|
||||
('Icegeoid_ISN2004.gri','is_lmi_Icegeoid_ISN2004.tif','Icegeoid_ISN2004.gtx','GTiff','geoid_like',0,NULL,'https://cdn.proj.org/is_lmi_Icegeoid_ISN2004.tif',1,1,NULL),
|
||||
('Icegeoid_ISN93.gri','is_lmi_Icegeoid_ISN93.tif','Icegeoid_ISN93.gtx','GTiff','geoid_like',0,NULL,'https://cdn.proj.org/is_lmi_Icegeoid_ISN93.tif',1,1,NULL),
|
||||
('Icegeoid_ISN2016.gri','is_lmi_Icegeoid_ISN2016.tif','Icegeoid_ISN2016.gtx','GTiff','geoid_like',0,NULL,'https://cdn.proj.org/is_lmi_Icegeoid_ISN2016.tif',1,1,NULL),
|
||||
('ISN93_ISN2016.gsb','is_lmi_ISN93_ISN2016.tif','ISN93_ISN2016.gsb','GTiff','hgridshift',0,NULL,'https://cdn.proj.org/is_lmi_ISN93_ISN2016.tif',1,1,NULL),
|
||||
('ISN2004_ISN2016.gsb','is_lmi_ISN2004_ISN2016.tif','ISN2004_ISN2016.gsb','GTiff','hgridshift',0,NULL,'https://cdn.proj.org/is_lmi_ISN2004_ISN2016.tif',1,1,NULL),
|
||||
|
||||
|
||||
@@ -372,8 +372,8 @@ INSERT INTO "grid_transformation" VALUES('EPSG','5657','GDA94 to AHD (Tasmania)
|
||||
INSERT INTO "usage" VALUES('EPSG','9489','grid_transformation','EPSG','5657','EPSG','2947','EPSG','1133');
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','5661','ED50 to ETRS89 (14)','When included in concatenation from and to projected CRSs, gives same results as ED50 / UTM zone 31N to ETRS89 / UTM zone 31N (1) - see CRS code 5166.','EPSG','9615','NTv2','EPSG','4230','EPSG','4258',0.05,'EPSG','8656','Latitude and longitude difference file','100800401.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'ICC-Esp Cat',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','9492','grid_transformation','EPSG','5661','EPSG','3732','EPSG','1079');
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','5891','MGI to ETRS89 (5)','Not to be used for cadastral purposes as it does not comply with the rules for control network tie-in as per Paragraph 3 of the Land Survey Regulations (Vermessungsverordnung) 2010.','EPSG','9615','NTv2','EPSG','4312','EPSG','4258',0.15,'EPSG','8656','Latitude and longitude difference file','AT_GIS_GRID.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'BEV-Aut NTv2',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','14324','grid_transformation','EPSG','5891','EPSG','1037','EPSG','1078');
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','5891','MGI to ETRS89 (5)','Not to be used for cadastral purposes because it does not comply with the rules for control network tie-in as per Paragraph 3 of the Land Survey Regulations (Vermessungsverordnung) 2010. Replaced by GIS-Grid 2021 (MGI to ETRS89 (8), code 9910).','EPSG','9615','NTv2','EPSG','4312','EPSG','4258',0.15,'EPSG','8656','Latitude and longitude difference file','AT_GIS_GRID.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'BEV-Aut NTv2',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17397','grid_transformation','EPSG','5891','EPSG','1037','EPSG','1144');
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','6138','CIGD11 to GCVD54 height (ft) (1)','Care: source CRS heights are in metres, transformation file parameter values and target CRS heights are in feet. For reversible alternative to this transformation see CIGD11 to CIGD11 + GCVD54 height (ft)) (code 9603).','EPSG','1050','Geographic3D to GravityRelatedHeight (CI)','EPSG','6134','EPSG','6130',0.03,'EPSG','8666','Geoid (height correction) model file','GCGM0811.TXT',NULL,NULL,NULL,NULL,NULL,NULL,'LSD-Cym',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','14268','grid_transformation','EPSG','6138','EPSG','3185','EPSG','1133');
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','6139','CIGD11 to LCVD61 height (ft) (1)','Care: source CRS heights are in metres, transformation file parameter values and target CRS heights are in feet. For reversible alternative to this transformation see CIGD11 to CIGD11 + LCVD61 height (ft) (1) (code 9604).','EPSG','1050','Geographic3D to GravityRelatedHeight (CI)','EPSG','6134','EPSG','6131',0.03,'EPSG','8666','Geoid (height correction) model file','LCGM0811.TXT',NULL,NULL,NULL,NULL,NULL,NULL,'LSD-Cym',0);
|
||||
@@ -1150,6 +1150,8 @@ INSERT INTO "grid_transformation" VALUES('EPSG','9908','ETRS89 to Ostend height
|
||||
INSERT INTO "usage" VALUES('EPSG','17367','grid_transformation','EPSG','9908','EPSG','1347','EPSG','1133');
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','9909','ETRS89 to ETRS89 + Ostend height (1)','Reversible alternative to ETRS89 to Ostend height (1) (code 9908). In use from 2018-08-01.','EPSG','1098','Geog3D to Geog2D+GravityRelatedHeight (txt)','EPSG','4937','EPSG','9907',0.02,'EPSG','8666','Geoid (height correction) model file','hBG18.dat',NULL,NULL,NULL,NULL,'EPSG','4258','NGI-Bel 2018',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17373','grid_transformation','EPSG','9909','EPSG','1347','EPSG','1270');
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','9910','MGI to ETRS89 (8)','Replaces GIS-Grid (2010) (CT 5891). Not to be used for cadastral purposes because it does not comply with the rules for control network tie-in as per Paragraph 3 of the Land Survey Regulations (Vermessungsverordnung) 2010.','EPSG','9615','NTv2','EPSG','4312','EPSG','4258',0.14,'EPSG','8656','Latitude and longitude difference file','AT_GIS_GRID_2021_09_28.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'BEV-Aut NTv2 2021',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17414','grid_transformation','EPSG','9910','EPSG','1037','EPSG','1144');
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','9914','ETRS89 to BI height (1)','For reversible alternative to this transformation see ETRS89 to ETRS89 + BI height (1) (code 9915).','EPSG','9663','Geographic3D to GravityRelatedHeight (OSGM-GB)','EPSG','4937','EPSG','9451',0.02,'EPSG','8666','Geoid (height correction) model file','OSTN15_OSGM15_GB.txt',NULL,NULL,NULL,NULL,NULL,NULL,'OS-Gbr 2015',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17330','grid_transformation','EPSG','9914','EPSG','4390','EPSG','1133');
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','9915','ETRS89 to ETRS89 + BI height (1)','Reversible alternative to ETRS89 to BI height (1) (code 9914).','EPSG','1097','Geog3D to Geog2D+GravityRelatedHeight (OSGM-GB)','EPSG','4937','EPSG','9452',0.02,'EPSG','8666','Geoid (height correction) model file','OSTN15_OSGM15_GB.txt',NULL,NULL,NULL,NULL,'EPSG','4258','OS-Gbr 2015',0);
|
||||
@@ -1168,10 +1170,32 @@ INSERT INTO "grid_transformation" VALUES('EPSG','9925','ETRS89 to DHHN2016 heigh
|
||||
INSERT INTO "usage" VALUES('EPSG','17171','grid_transformation','EPSG','9925','EPSG','3339','EPSG','1133');
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','9926','ETRS89 to ETRS89 + DHHN2016 height (1)','Reversible alternative to ETRS89 to DHHN2016 height (1) (code 9925). Accuracy approx. 1 cm in the lowlands, approx. 2 cm in the high mountains and 2 - 6 cm offshore.','EPSG','1098','Geog3D to Geog2D+GravityRelatedHeight (txt)','EPSG','4937','EPSG','9924',0.02,'EPSG','8666','Geoid (height correction) model file','GCG2016.txt',NULL,NULL,NULL,NULL,'EPSG','4258','BKG-Deu 2016',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17170','grid_transformation','EPSG','9926','EPSG','3339','EPSG','1270');
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','9940','DHDN to ETRS89 (11)','Official transformation of Hesse for the land survey register (ALKIS).','EPSG','9615','NTv2','EPSG','4314','EPSG','4258',0.1,'EPSG','8656','Latitude and longitude difference file','HeTa2010.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'LVGL-Deu HE 2010',0);
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','9940','DHDN to ETRS89 (11)','Official transformation of Hessen for the land survey register (ALKIS).','EPSG','9615','NTv2','EPSG','4314','EPSG','4258',0.1,'EPSG','8656','Latitude and longitude difference file','HeTa2010.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'LVGL-Deu HE 2010',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17340','grid_transformation','EPSG','9940','EPSG','4660','EPSG','1055');
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','9941','ETRS89 to EBBWV14-IRF (1)','In conjunction with EBBWV14-TM map projection (code 9942) applied to EBBWV14-IRF (code 9939), emulates the EBBWV14 Snake projection. Applied to ETRS89 (as realized through the OSNet v2009) defines EBBWV14-IRF hence is errorless. ','EPSG','9615','NTv2','EPSG','4258','EPSG','9939',0.0,'EPSG','8656','Latitude and longitude difference file','TN15-ETRS89-to-EBBWV14-IRF.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'NR-Gbr EBBWV14 OSNet2009',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17356','grid_transformation','EPSG','9941','EPSG','4661','EPSG','1141');
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','9954','ISN93 to ISH2004 height (1)','File is also available in NOAA VDatum format (Icegeoid_ISN93.gtx). For reversible alternative to this transformation see ISN93 to ISN93 + ISH2004 height (1) (CT code 9955). Replaced by Icegeoid_ISN2004 (CT code 9956).','EPSG','1047','Geographic3D to GravityRelatedHeight (Gravsoft)','EPSG','4945','EPSG','8089',0.05,'EPSG','8666','Geoid (height correction) model file','Icegeoid_ISN93.gri',NULL,NULL,NULL,NULL,NULL,NULL,'NMI-Isl',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17385','grid_transformation','EPSG','9954','EPSG','4662','EPSG','1133');
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','9955','ISN93 to ISN93 + ISH2004 height (1)','Reversible alternative to ISN93 to ISH2004 height (1) (code 9954). File is also available in NOAA VDatum format (Icegeoid_ISN93.gtx). Replaced by Icegeoid_ISN2004.','EPSG','1093','Geog3D to Geog2D+GravityRelatedHeight (Gravsoft)','EPSG','4945','EPSG','9948',0.05,'EPSG','8666','Geoid (height correction) model file','Icegeoid_ISN93.gri',NULL,NULL,NULL,NULL,'EPSG','4659','NMI-Isl',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17393','grid_transformation','EPSG','9955','EPSG','4662','EPSG','1270');
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','9956','ISN2004 to ISH2004 height (1)','File also available in NOAA VDatum format (Icegeoid_ISN2004.gtx). For reversible alternative to this transformation see ISN2004 to ISN2004 + ISH2004 height (1) (CT code 9957). Replaces Icegeoid_ISN93 (code 9954). Replaced by Icegeoid_ISN2016 (code 9958).','EPSG','1047','Geographic3D to GravityRelatedHeight (Gravsoft)','EPSG','5323','EPSG','8089',0.05,'EPSG','8666','Geoid (height correction) model file','Icegeoid_ISN2004.gri',NULL,NULL,NULL,NULL,NULL,NULL,'NMI-Isl',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17391','grid_transformation','EPSG','9956','EPSG','4662','EPSG','1133');
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','9957','ISN2004 to ISN2004 + ISH2004 height (1)','Reversible alternative to ISN2004 to ISH2004 height (1) (CT code 9956). File is also available in NOAA VDatum format (Icegeoid_ISN2004.gtx). Replaces Icegeoid_ISN93, replaced by Icegeoid_ISN2016.','EPSG','1093','Geog3D to Geog2D+GravityRelatedHeight (Gravsoft)','EPSG','5323','EPSG','9949',0.05,'EPSG','8666','Geoid (height correction) model file','Icegeoid_ISN2004.gri',NULL,NULL,NULL,NULL,'EPSG','5324','NMI-Isl',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17394','grid_transformation','EPSG','9957','EPSG','4662','EPSG','1270');
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','9958','ISN2016 to ISH2004 height (1)','File also available in NOAA VDatum format (Icegeoid_ISN2016.gtx). For reversible alternative to this transformation see ISN2016 to ISN2016 + ISH2004 height (1) (CT code 9959). Replaces Icegeoid_ISN2004 (code 9956).','EPSG','1047','Geographic3D to GravityRelatedHeight (Gravsoft)','EPSG','8085','EPSG','8089',0.05,'EPSG','8666','Geoid (height correction) model file','Icegeoid_ISN2016.gri',NULL,NULL,NULL,NULL,NULL,NULL,'NMI-Isl',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17392','grid_transformation','EPSG','9958','EPSG','4662','EPSG','1133');
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','9959','ISN2016 to ISN2016 + ISH2004 height (1)','Reversible alternative to ISN2016 to ISH2004 height (1) (CT code 9958). File is also available in NOAA VDatum format (Icegeoid_ISN2016.gtx). Replaces Icegeoid_ISN2004.','EPSG','1093','Geog3D to Geog2D+GravityRelatedHeight (Gravsoft)','EPSG','8085','EPSG','9950',0.05,'EPSG','8666','Geoid (height correction) model file','Icegeoid_ISN2016.gri',NULL,NULL,NULL,NULL,'EPSG','8086','NMI-Isl',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17395','grid_transformation','EPSG','9959','EPSG','4662','EPSG','1270');
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','9965','ETRS89 to HULLEE13-IRF (1)','In conjunction with the HULLEE13-TM map projection (code 9966) applied to HULLEE13-IRF (code 9964), emulates the HULLEE13 Snake projection. Applied to ETRS89 (as realized through the OSNet v2009) defines HULLEE13-IRF hence is errorless. ','EPSG','9615','NTv2','EPSG','4258','EPSG','9964',0.0,'EPSG','8656','Latitude and longitude difference file','TN15-ETRS89-to-HULLEE13-IRF.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'NR-Gbr HULLEE OSNet2009',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17458','grid_transformation','EPSG','9965','EPSG','4663','EPSG','1141');
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','9970','ETRS89 to SCM22-IRF (1)','In conjunction with the SCM22-TM map projection (code 9971) applied to SCM22-IRF (code 9969), emulates the SCM22 Snake projection. Applied to ETRS89 (as realized through the OSNet v2009) defines SCM22-IRF hence is errorless. ','EPSG','9615','NTv2','EPSG','4258','EPSG','9969',0.0,'EPSG','8656','Latitude and longitude difference file','TN15-ETRS89-to-SCM22-IRF.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'NR-Gbr SCM22 OSNet2009',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17453','grid_transformation','EPSG','9970','EPSG','4665','EPSG','1141');
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','9975','ETRS89 to FNL22-IRF (1)','In conjunction with the FNL22-TM map projection (code 9976) applied to FNL22-IRF (code 9974), emulates the FNL22 Snake projection. Applied to ETRS89 (as realized through the OSNet v2009) defines FNL22-IRF hence is errorless. ','EPSG','9615','NTv2','EPSG','4258','EPSG','9974',0.0,'EPSG','8656','Latitude and longitude difference file','TN15-ETRS89-to-FNL22-IRF.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'NR-Gbr FNL22 OSNet2009',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17452','grid_transformation','EPSG','9975','EPSG','4664','EPSG','1141');
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','9979','SIRGAS 1995 to SIRGAS 2000 (1)','Derived at 48 stations.','EPSG','9615','NTv2','EPSG','4170','EPSG','4674',0.006,'EPSG','8656','Latitude and longitude difference file','SIRGAS1995-to-SIRGAS2000.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'SIR-SAm 2021',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17507','grid_transformation','EPSG','9979','EPSG','3448','EPSG','1278');
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','9980','SIRGAS 2000 to SIRGAS-CON SIR17P01 (1)','Derived at 79 stations at epoch 2015.00. Accuracy deteriorates with time due to intra-plate seismic deformation.','EPSG','9615','NTv2','EPSG','4674','EPSG','8987',0.02,'EPSG','8656','Latitude and longitude difference file','SIRGAS2000-to-SIRGAS-CONSIR17P01.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'SIR-SAm 2021',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17505','grid_transformation','EPSG','9980','EPSG','4530','EPSG','1255');
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','10000','RGF93 v1 to NGF-IGN69 height (1)','May be used for transformations from WGS 84 to NGF-IGN69 height. Accuracy at each 0.1 deg x 0.1 degree grid node is given within the geoid model file.','EPSG','9664','Geographic3D to GravityRelatedHeight (IGN1997)','EPSG','4965','EPSG','5720',0.5,'EPSG','8666','Geoid (height correction) model file','ggf97a.txt',NULL,NULL,NULL,NULL,NULL,NULL,'IGN Fra',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','11001','grid_transformation','EPSG','10000','EPSG','1326','EPSG','1133');
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','10001','ETRS89 to NGF-IGN69 height (1)','Parameter values taken from RGF93 v1 to NGF-IGN69 height (1) (code 10000) assuming that RGF93 v1 is equivalent to ETRS89 within the accuracy of the transformation. Accuracy at each 0.1 deg x 0.1 degree grid node is given within the geoid model file.','EPSG','9664','Geographic3D to GravityRelatedHeight (IGN1997)','EPSG','4937','EPSG','5720',0.5,'EPSG','8666','Geoid (height correction) model file','ggf97a.txt',NULL,NULL,NULL,NULL,NULL,NULL,'IGN Fra',0);
|
||||
@@ -1342,6 +1366,10 @@ INSERT INTO "grid_transformation" VALUES('EPSG','10083','GDA94 to AHD (Tasmania)
|
||||
INSERT INTO "usage" VALUES('EPSG','11084','grid_transformation','EPSG','10083','EPSG','2947','EPSG','1133');
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','10084','WGS 84 to EGM96 height (1)','Replaces WGS 84 to EGM84 height (1) (CT 15781). Replaced by WGS 84 to EGM2008 height (1) and (2) (CTs 3858-59). For reversible alternative see WGS 84 to WGS 84 + EGM96 height (1) (CT 9708). An executable using spherical harmonics is also available.','EPSG','9661','Geographic3D to GravityRelatedHeight (EGM)','EPSG','4979','EPSG','5773',1.0,'EPSG','8666','Geoid (height correction) model file','WW15MGH.GRD',NULL,NULL,NULL,NULL,NULL,NULL,'NGA-World',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','11085','grid_transformation','EPSG','10084','EPSG','1262','EPSG','1133');
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','10106','ETRS89 to SVD2006 height (1)','For reversible alternative see ETRS89 to ETRS89 + SVD2006 height (1) (code 10107).','EPSG','1047','Geographic3D to GravityRelatedHeight (Gravsoft)','EPSG','4937','EPSG','20000',1.0,'EPSG','8666','Geoid (height correction) model file','arcgp-2006-sk.bin',NULL,NULL,NULL,NULL,NULL,NULL,'NMA-Sjm SV 2006',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17961','grid_transformation','EPSG','10106','EPSG','4058','EPSG','1133');
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','10107','ETRS89 to ETRS89 + SVD2006 height (1)','Reversible alternative to ETRS89 to SVD2006 height (1) (code 10106).','EPSG','1093','Geog3D to Geog2D+GravityRelatedHeight (Gravsoft)','EPSG','4937','EPSG','20001',1.0,'EPSG','8666','Geoid (height correction) model file','arcgp-2006-sk.bin',NULL,NULL,NULL,NULL,'EPSG','4258','NMA-Sjm SV 2006',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17960','grid_transformation','EPSG','10107','EPSG','4058','EPSG','1270');
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','15486','CH1903 to CH1903+ (1)','For improved accuracy (0.01m) use CHENyx06 interpolation programme FINELTRA. File CHENyx06 replaced by CHENyx06a; there is a small area at the border of the data where some more real data has been introduced. swisstopo consider the change insignificant.','EPSG','9615','NTv2','EPSG','4149','EPSG','4150',0.2,'EPSG','8656','Latitude and longitude difference file','CHENyx06a.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'BfL-Che',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','11497','grid_transformation','EPSG','15486','EPSG','1286','EPSG','1085');
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','15488','RRAF 1991 to IGN 1988 MG height (1)','May be used for transformations from WGS 84 to IGN 1988 MG. Accuracy at each 0.025 deg x 0.025 degree grid node is given within the geoid model file.','EPSG','9664','Geographic3D to GravityRelatedHeight (IGN1997)','EPSG','4973','EPSG','5617',0.2,'EPSG','8666','Geoid (height correction) model file','ggg00_mg.txt',NULL,NULL,NULL,NULL,NULL,NULL,'IGN Glp MG',1);
|
||||
|
||||
@@ -86,68 +86,6 @@ INSERT INTO "usage" VALUES(
|
||||
'EPSG','1024' -- unknown
|
||||
);
|
||||
|
||||
-- Iceland
|
||||
|
||||
INSERT INTO "grid_transformation" VALUES(
|
||||
'PROJ','EPSG_5323_TO_EPSG_8089','ISN2004 to ISH2004 height',
|
||||
NULL,
|
||||
'EPSG','9665','Geographic3D to GravityRelatedHeight (gtx)',
|
||||
'EPSG','5323', -- source CRS (ISN2004 geographic 3D)
|
||||
'EPSG','8089', -- target CRS (ISH2004 height)
|
||||
NULL,
|
||||
'EPSG','8666','Geoid (height correction) model file','Icegeoid_ISN2004.gtx',
|
||||
NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
|
||||
INSERT INTO "usage" VALUES(
|
||||
'PROJ',
|
||||
'EPSG_5323_TO_EPSG_8089_USAGE',
|
||||
'grid_transformation',
|
||||
'PROJ',
|
||||
'EPSG_5323_TO_EPSG_8089',
|
||||
'EPSG','1120', -- area of use: Iceland - onshore and offshore
|
||||
'EPSG','1024' -- unknown
|
||||
);
|
||||
|
||||
INSERT INTO "grid_transformation" VALUES(
|
||||
'PROJ','EPSG_4945_TO_EPSG_8089','ISN93 to ISH2004 height',
|
||||
NULL,
|
||||
'EPSG','9665','Geographic3D to GravityRelatedHeight (gtx)',
|
||||
'EPSG','4945', -- source CRS (ISN93 geographic 3D)
|
||||
'EPSG','8089', -- target CRS (ISH2004 height)
|
||||
NULL,
|
||||
'EPSG','8666','Geoid (height correction) model file','Icegeoid_ISN93.gtx',
|
||||
NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
|
||||
INSERT INTO "usage" VALUES(
|
||||
'PROJ',
|
||||
'EPSG_4945_TO_EPSG_8089_USAGE',
|
||||
'grid_transformation',
|
||||
'PROJ',
|
||||
'EPSG_4945_TO_EPSG_8089',
|
||||
'EPSG','1120', -- area of use: Iceland - onshore and offshore
|
||||
'EPSG','1024' -- unknown
|
||||
);
|
||||
|
||||
INSERT INTO "grid_transformation" VALUES(
|
||||
'PROJ','EPSG_8085_TO_EPSG_8089','ISN2016 to ISH2004 height',
|
||||
NULL,
|
||||
'EPSG','9665','Geographic3D to GravityRelatedHeight (gtx)',
|
||||
'EPSG','8085', -- source CRS (ISN2016 geographic 3D)
|
||||
'EPSG','8089', -- target CRS (ISH2004 height)
|
||||
NULL,
|
||||
'EPSG','8666','Geoid (height correction) model file','Icegeoid_ISN2016.gtx',
|
||||
NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
|
||||
INSERT INTO "usage" VALUES(
|
||||
'PROJ',
|
||||
'EPSG_8085_TO_EPSG_8089_USAGE',
|
||||
'grid_transformation',
|
||||
'PROJ',
|
||||
'EPSG_8085_TO_EPSG_8089',
|
||||
'EPSG','1120', -- area of use: Iceland - onshore and offshore
|
||||
'EPSG','1024' -- unknown
|
||||
);
|
||||
|
||||
-- Japan
|
||||
|
||||
INSERT INTO "grid_transformation" VALUES(
|
||||
|
||||
@@ -2481,6 +2481,32 @@ INSERT INTO "helmert_transformation" VALUES('EPSG','9937','LUREF to ETRS89 (7)',
|
||||
INSERT INTO "usage" VALUES('EPSG','17307','helmert_transformation','EPSG','9937','EPSG','1146','EPSG','1283');
|
||||
INSERT INTO "helmert_transformation" VALUES('EPSG','9938','LUREF to ETRS89 (8)','LUREF 2020 parameters. For an equivalent CT using the Molodensky-Badekas method see CT 9937. Defines LUREF from 2020. Replaces LUREF 2014 parameters (CT 9899). Info source gives CT in reverse direction. Derived using ETRF2000 @2013-01-27.','EPSG','9607','Coordinate Frame rotation (geog2D domain)','EPSG','4181','EPSG','4258',0.0,-189.228,12.0035,-42.6303,'EPSG','9001',0.48171,3.09948,-2.68639,'EPSG','9104',0.46346,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'ACT-Lux CF 2020',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17308','helmert_transformation','EPSG','9938','EPSG','1146','EPSG','1283');
|
||||
INSERT INTO "helmert_transformation" VALUES('EPSG','9960','WGS 84 (Transit) to WGS 84 (G730) (1)','Scale difference in ppb where 1/billion = 1E-9 or nm/m. Derived through ITRF90 and ITRF91 at epoch 1990.5. Parameter values valid at other epochs including 2005.0.','EPSG','1032','Coordinate Frame rotation (geocentric domain)','EPSG','7815','EPSG','7656',0.7,-58.0,521.0,239.0,'EPSG','1025',18.3,-0.3,7.0,'EPSG','1031',10.7,'EPSG','1028',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'KD2022-Wld',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17491','helmert_transformation','EPSG','9960','EPSG','1262','EPSG','1026');
|
||||
INSERT INTO "helmert_transformation" VALUES('EPSG','9961','WGS 84 (G730) to WGS 84 (G873) (1)','Scale difference in ppb where 1/billion = 1E-9 or nm/m. Derived via ITRF91 through ITRF94 at epoch 1995.5. Parameter values valid at other epochs including 2005.0.','EPSG','1032','Coordinate Frame rotation (geocentric domain)','EPSG','7656','EPSG','7658',0.04,-20.0,-16.0,14.0,'EPSG','1025',0.0,0.0,0.0,'EPSG','1031',-0.69,'EPSG','1028',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'KD2022-Wld',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17492','helmert_transformation','EPSG','9961','EPSG','1262','EPSG','1026');
|
||||
INSERT INTO "helmert_transformation" VALUES('EPSG','9962','WGS 84 (G873) to WGS 84 (G1150) (1)','Scale difference in ppb where 1/billion = 1E-9 or nm/m. Derived via ITRF94 through ITRF2000. May be approximated to 0.2m using 7-parameter CF method 1032 with parameters for epoch 1999.50 of tX=1.1mm tY=-8.0mm tZ=14.3mm rX=0 rY=0 rZ=0.05mas dS=1.505ppb.','EPSG','1056','Time-dependent Coordinate Frame rotation (geocen)','EPSG','7658','EPSG','7660',0.03,1.1,-4.7,22.0,'EPSG','1025',0.0,0.0,0.16,'EPSG','1031',1.45,'EPSG','1028',0.0,0.6,1.4,'EPSG','1027',0.0,0.0,0.02,'EPSG','1032',-0.01,'EPSG','1030',2005.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'KD2022-Wld',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','18078','helmert_transformation','EPSG','9962','EPSG','1262','EPSG','1026');
|
||||
INSERT INTO "helmert_transformation" VALUES('EPSG','9963','WGS 84 (G1150) to WGS 84 (G1674) (1)','Scale difference in ppb where 1/billion = 1E-9 or nm/m. Derived via ITRF2005. May be approximated to 0.4m using 7-parameter CF method 1032 with parameters for epoch 2007.50 of tX=-2.65mm tY=1.35mm tZ=27.7mm rX=-0.27mas rY=027mas rZ=-0.38 mas dS=1.88ppb.','EPSG','1056','Time-dependent Coordinate Frame rotation (geocen)','EPSG','7660','EPSG','7662',0.02,-2.4,1.6,23.2,'EPSG','1025',-0.27,0.27,-0.38,'EPSG','1031',2.08,'EPSG','1028',-0.1,-0.1,1.8,'EPSG','1027',0.0,0.0,0.0,'EPSG','1032',-0.08,'EPSG','1030',2005.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'KD2022-Wld',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17500','helmert_transformation','EPSG','9963','EPSG','1262','EPSG','1026');
|
||||
INSERT INTO "helmert_transformation" VALUES('EPSG','9991','ITRF2014 to ITRF2020 (1)','IERS describes CT in opposite direction. Estimated using core network of 131 stations at 105 sites. Scale difference in ppb and scale difference rate in ppb/yr where 1/billion = 1E-9 or nm/m.','EPSG','1053','Time-dependent Position Vector tfm (geocentric)','EPSG','7789','EPSG','9988',0.001,1.4,0.9,-1.4,'EPSG','1025',0.0,0.0,0.0,'EPSG','1031',0.42,'EPSG','1028',0.0,0.1,-0.2,'EPSG','1027',0.0,0.0,0.0,'EPSG','1032',0.0,'EPSG','1030',2015.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'IERS-Wld',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17933','helmert_transformation','EPSG','9991','EPSG','1262','EPSG','1027');
|
||||
INSERT INTO "helmert_transformation" VALUES('EPSG','9992','ITRF2008 to ITRF2020 (1)','IERS describes CT in opposite direction. Parameter values derived from those already published between ITRF2020, ITRF2014 and ITRF2008. Scale difference in ppb and scale difference rate in ppb/yr where 1/billion = 1E-9 or nm/m.','EPSG','1053','Time-dependent Position Vector tfm (geocentric)','EPSG','5332','EPSG','9988',0.01,-0.2,-1.0,-3.3,'EPSG','1025',0.0,0.0,0.0,'EPSG','1031',0.29,'EPSG','1028',0.0,0.1,-0.1,'EPSG','1027',0.0,0.0,0.0,'EPSG','1032',-0.03,'EPSG','1030',2015.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'IERS-Wld',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17946','helmert_transformation','EPSG','9992','EPSG','1262','EPSG','1027');
|
||||
INSERT INTO "helmert_transformation" VALUES('EPSG','9993','ITRF2005 to ITRF2020 (1)','IERS describes CT in opposite direction. Parameter values derived from the those between ITRF2020, ITRF2014 and ITRF2008 and those published between earlier realizations. Scale difference in ppb and scale difference rate in ppb/yr where 1/billion = 1E-9.','EPSG','1053','Time-dependent Position Vector tfm (geocentric)','EPSG','4896','EPSG','9988',0.01,-2.7,-0.1,1.4,'EPSG','1025',0.0,0.0,0.0,'EPSG','1031',-0.65,'EPSG','1028',-0.3,0.1,-0.1,'EPSG','1027',0.0,0.0,0.0,'EPSG','1032',-0.03,'EPSG','1030',2015.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'IERS-Wld',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17935','helmert_transformation','EPSG','9993','EPSG','1262','EPSG','1027');
|
||||
INSERT INTO "helmert_transformation" VALUES('EPSG','9994','ITRF2000 to ITRF2020 (1)','IERS describes CT in opposite direction. Parameter values derived from the those between ITRF2020, ITRF2014 and ITRF2008 and those published between earlier realizations. Scale difference in ppb and scale difference rate in ppb/yr where 1/billion = 1E-9.','EPSG','1053','Time-dependent Position Vector tfm (geocentric)','EPSG','4919','EPSG','9988',0.01,0.2,-0.8,34.2,'EPSG','1025',0.0,0.0,0.0,'EPSG','1031',-2.25,'EPSG','1028',-0.1,0.0,1.7,'EPSG','1027',0.0,0.0,0.0,'EPSG','1032',-0.11,'EPSG','1030',2015.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'IERS-Wld',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17936','helmert_transformation','EPSG','9994','EPSG','1262','EPSG','1027');
|
||||
INSERT INTO "helmert_transformation" VALUES('EPSG','9995','ITRF97 to ITRF2020 (1)','IERS describes CT in opposite direction. Parameter values derived from the those between ITRF2020, ITRF2014 and ITRF2008 and those published between earlier realizations. Scale difference in ppb and scale difference rate in ppb/yr where 1/billion = 1E-9.','EPSG','1053','Time-dependent Position Vector tfm (geocentric)','EPSG','4918','EPSG','9988',0.01,-6.5,3.9,77.9,'EPSG','1025',0.0,0.0,-0.36,'EPSG','1031',-3.98,'EPSG','1028',-0.1,0.6,3.1,'EPSG','1027',0.0,0.0,-0.02,'EPSG','1032',-0.12,'EPSG','1030',2015.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'IERS-Wld',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17937','helmert_transformation','EPSG','9995','EPSG','1262','EPSG','1027');
|
||||
INSERT INTO "helmert_transformation" VALUES('EPSG','9996','ITRF96 to ITRF2020 (1)','IERS describes CT in opposite direction. Parameter values derived from the those between ITRF2020, ITRF2014 and ITRF2008 and those published between earlier realizations. Scale difference in ppb and scale difference rate in ppb/yr where 1/billion = 1E-9.','EPSG','1053','Time-dependent Position Vector tfm (geocentric)','EPSG','4917','EPSG','9988',0.01,-6.5,3.9,77.9,'EPSG','1025',0.0,0.0,-0.36,'EPSG','1031',-3.98,'EPSG','1028',-0.1,0.6,3.1,'EPSG','1027',0.0,0.0,-0.02,'EPSG','1032',-0.12,'EPSG','1030',2015.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'IERS-Wld',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17938','helmert_transformation','EPSG','9996','EPSG','1262','EPSG','1027');
|
||||
INSERT INTO "helmert_transformation" VALUES('EPSG','9997','ITRF94 to ITRF2020 (1)','IERS describes CT in opposite direction. Parameter values derived from the those between ITRF2020, ITRF2014 and ITRF2008 and those published between earlier realizations. Scale difference in ppb and scale difference rate in ppb/yr where 1/billion = 1E-9.','EPSG','1053','Time-dependent Position Vector tfm (geocentric)','EPSG','4916','EPSG','9988',0.01,-6.5,3.9,77.9,'EPSG','1025',0.0,0.0,-0.36,'EPSG','1031',-3.98,'EPSG','1028',-0.1,0.6,3.1,'EPSG','1027',0.0,0.0,-0.02,'EPSG','1032',-0.12,'EPSG','1030',2015.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'IERS-Wld',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17939','helmert_transformation','EPSG','9997','EPSG','1262','EPSG','1027');
|
||||
INSERT INTO "helmert_transformation" VALUES('EPSG','9998','ITRF93 to ITRF2020 (1)','IERS describes CT in opposite direction. Parameter values derived from the those between ITRF2020, ITRF2014 and ITRF2008 and those published between earlier realizations. Scale difference in ppb and scale difference rate in ppb/yr where 1/billion = 1E-9.','EPSG','1053','Time-dependent Position Vector tfm (geocentric)','EPSG','4915','EPSG','9988',0.01,65.8,-1.9,71.3,'EPSG','1025',3.36,4.33,-0.75,'EPSG','1031',-4.47,'EPSG','1028',2.8,0.2,2.3,'EPSG','1027',0.11,0.19,-0.07,'EPSG','1032',-0.12,'EPSG','1030',2015.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'IERS-Wld',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17947','helmert_transformation','EPSG','9998','EPSG','1262','EPSG','1027');
|
||||
INSERT INTO "helmert_transformation" VALUES('EPSG','9999','ITRF92 to ITRF2020 (1)','IERS describes CT in opposite direction. Parameter values derived from the those between ITRF2020, ITRF2014 and ITRF2008 and those published between earlier realizations. Scale difference in ppb and scale difference rate in ppb/yr where 1/billion = 1E-9.','EPSG','1053','Time-dependent Position Vector tfm (geocentric)','EPSG','4914','EPSG','9988',0.01,-14.5,1.9,85.9,'EPSG','1025',0.0,0.0,-0.36,'EPSG','1031',-3.27,'EPSG','1028',-0.1,0.6,3.1,'EPSG','1027',0.0,0.0,-0.02,'EPSG','1032',-0.12,'EPSG','1030',2015.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'IERS-Wld',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17941','helmert_transformation','EPSG','9999','EPSG','1262','EPSG','1027');
|
||||
INSERT INTO "helmert_transformation" VALUES('EPSG','10085','Trinidad 1903 to WGS 84 (2)','Parameter values provided to EOG by Trinidad Ministry of Energy and Energy Industries. Used by EOG offshore Trinidad (including Pelican, Kiskadee and Ibis fields) since 1996.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4302','EPSG','4326',3.0,-61.0,285.2,471.6,'EPSG','9001',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,'EOG-Tto Trin',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','11086','helmert_transformation','EPSG','10085','EPSG','1339','EPSG','1136');
|
||||
INSERT INTO "helmert_transformation" VALUES('EPSG','10086','JAD69 to WGS 72 (1)','Derived in 1977 through Transit observations at 2 stations by US DMA.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4242','EPSG','4322',15.0,48.0,208.0,382.0,'EPSG','9001',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,'SD-Jam',0);
|
||||
@@ -2501,6 +2527,14 @@ INSERT INTO "helmert_transformation" VALUES('EPSG','10098','KKJ to ETRS89 (2)','
|
||||
INSERT INTO "usage" VALUES('EPSG','11099','helmert_transformation','EPSG','10098','EPSG','3333','EPSG','1035');
|
||||
INSERT INTO "helmert_transformation" VALUES('EPSG','10099','KKJ to WGS 84 (2)','Parameter values from KKJ to ETRS89 (2) (code 10098). Assumes ETRS89 and WGS 84 can be considered the same to within the accuracy of the transformation. Replaces KKJ to WGS 84 (1) (code 1639).','EPSG','9607','Coordinate Frame rotation (geog2D domain)','EPSG','4123','EPSG','4326',1.0,-96.062,-82.428,-121.753,'EPSG','9001',-4.801,-0.345,1.376,'EPSG','9104',1.496,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Fin JHS153',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','11100','helmert_transformation','EPSG','10099','EPSG','3333','EPSG','1151');
|
||||
INSERT INTO "helmert_transformation" VALUES('EPSG','10100','ITRF91 to ITRF2020 (1)','IERS describes CT in opposite direction. Parameter values derived from the those between ITRF2020, ITRF2014 and ITRF2008 and those published between earlier realizations. Scale difference in ppb and scale difference rate in ppb/yr where 1/billion = 1E-9.','EPSG','1053','Time-dependent Position Vector tfm (geocentric)','EPSG','4913','EPSG','9988',0.01,-26.5,-12.1,91.9,'EPSG','1025',0.0,0.0,-0.36,'EPSG','1031',-4.67,'EPSG','1028',-0.1,0.6,3.1,'EPSG','1027',0.0,0.0,-0.02,'EPSG','1032',-0.12,'EPSG','1030',2015.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'IERS-Wld',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17942','helmert_transformation','EPSG','10100','EPSG','1262','EPSG','1027');
|
||||
INSERT INTO "helmert_transformation" VALUES('EPSG','10103','ITRF90 to ITRF2020 (1)','IERS describes CT in opposite direction. Parameter values derived from the those between ITRF2020, ITRF2014 and ITRF2008 and those published between earlier realizations. Scale difference in ppb and scale difference rate in ppb/yr where 1/billion = 1E-9.','EPSG','1053','Time-dependent Position Vector tfm (geocentric)','EPSG','4912','EPSG','9988',0.01,-24.5,-8.1,107.9,'EPSG','1025',0.0,0.0,-0.36,'EPSG','1031',-4.97,'EPSG','1028',-0.1,0.6,3.1,'EPSG','1027',0.0,0.0,-0.02,'EPSG','1032',-0.12,'EPSG','1030',2015.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'IERS-Wld',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17943','helmert_transformation','EPSG','10103','EPSG','1262','EPSG','1027');
|
||||
INSERT INTO "helmert_transformation" VALUES('EPSG','10104','ITRF89 to ITRF2020 (1)','IERS describes CT in opposite direction. Parameter values derived from the those between ITRF2020, ITRF2014 and ITRF2008 and those published between earlier realizations. Scale difference in ppb and scale difference rate in ppb/yr where 1/billion = 1E-9.','EPSG','1053','Time-dependent Position Vector tfm (geocentric)','EPSG','4911','EPSG','9988',0.01,-29.5,-32.1,145.9,'EPSG','1025',0.0,0.0,-0.36,'EPSG','1031',-8.37,'EPSG','1028',-0.1,0.6,3.1,'EPSG','1027',0.0,0.0,-0.02,'EPSG','1032',-0.12,'EPSG','1030',2015.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'IERS-Wld',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17944','helmert_transformation','EPSG','10104','EPSG','1262','EPSG','1027');
|
||||
INSERT INTO "helmert_transformation" VALUES('EPSG','10105','ITRF88 to ITRF2020 (1)','IERS describes CT in opposite direction. Parameter values derived from the those between ITRF2020, ITRF2014 and ITRF2008 and those published between earlier realizations. Scale difference in ppb and scale difference rate in ppb/yr where 1/billion = 1E-9.','EPSG','1053','Time-dependent Position Vector tfm (geocentric)','EPSG','4910','EPSG','9988',0.01,-24.5,3.9,169.9,'EPSG','1025',-0.1,0.0,-0.36,'EPSG','1031',-11.47,'EPSG','1028',-0.1,0.6,3.1,'EPSG','1027',0.0,0.0,-0.02,'EPSG','1032',-0.12,'EPSG','1030',2015.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'IERS-Wld',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17948','helmert_transformation','EPSG','10105','EPSG','1262','EPSG','1027');
|
||||
INSERT INTO "helmert_transformation" VALUES('EPSG','15483','Tokyo to JGD2000 (1)','Derived at Tokyo datum origin. Accuracy on main islands 9m. Also used on remote islands with significantly less accuracy: Io-To 793m, Kitadaito and Minamidaito Jima 642m, Tarama and Minna Shima 560m, Ishigaki and Taketomi Jima 251m, Yonaguni Jima 248m.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4301','EPSG','4612',9.0,-146.414,507.337,680.507,'EPSG','9001',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,'GSI-Jpn',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','11494','helmert_transformation','EPSG','15483','EPSG','3957','EPSG','1142');
|
||||
INSERT INTO "helmert_transformation" VALUES('EPSG','15484','Tokyo to WGS 84 (108)','Parameter values from Tokyo to JGD2000 (1) (code 15483). Assumes JGD2000 and WGS 84 can be considered the same to within the accuracy of the transformation.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4301','EPSG','4326',9.0,-146.414,507.337,680.507,'EPSG','9001',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,'OGP-Jpn',0);
|
||||
|
||||
@@ -9,8 +9,8 @@
|
||||
INSERT INTO "metadata" VALUES('DATABASE.LAYOUT.VERSION.MAJOR', 1);
|
||||
INSERT INTO "metadata" VALUES('DATABASE.LAYOUT.VERSION.MINOR', 2);
|
||||
|
||||
INSERT INTO "metadata" VALUES('EPSG.VERSION', 'v10.054');
|
||||
INSERT INTO "metadata" VALUES('EPSG.DATE', '2022-02-13');
|
||||
INSERT INTO "metadata" VALUES('EPSG.VERSION', 'v10.064');
|
||||
INSERT INTO "metadata" VALUES('EPSG.DATE', '2022-05-19');
|
||||
|
||||
-- The value of ${PROJ_VERSION} is substituted at build time by the actual
|
||||
-- value.
|
||||
@@ -18,4 +18,4 @@ INSERT INTO "metadata" VALUES('PROJ.VERSION', '${PROJ_VERSION}');
|
||||
|
||||
-- Version of the PROJ-data package with which this database is the most
|
||||
-- compatible.
|
||||
INSERT INTO "metadata" VALUES('PROJ_DATA.VERSION', '1.9');
|
||||
INSERT INTO "metadata" VALUES('PROJ_DATA.VERSION', '1.10');
|
||||
|
||||
@@ -5051,6 +5051,7 @@ INSERT INTO "projected_crs" VALUES('EPSG','6312','CGRS93 / Cyprus Local Transver
|
||||
INSERT INTO "usage" VALUES('EPSG','4551','projected_crs','EPSG','6312','EPSG','3236','EPSG','1092');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','6316','MGI 1901 / Balkans zone 7',NULL,'EPSG','4498','EPSG','3906','EPSG','18277',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4552','projected_crs','EPSG','6316','EPSG','1711','EPSG','1092');
|
||||
INSERT INTO "usage" VALUES('EPSG','17354','projected_crs','EPSG','6316','EPSG','1148','EPSG','1028');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','6328','NAD83(2011) / UTM zone 59N',NULL,'EPSG','4400','EPSG','6318','EPSG','16059',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','4562','projected_crs','EPSG','6328','EPSG','3372','EPSG','1211');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','6329','NAD83(2011) / UTM zone 60N',NULL,'EPSG','4400','EPSG','6318','EPSG','16060',NULL,0);
|
||||
@@ -6713,9 +6714,9 @@ INSERT INTO "projected_crs" VALUES('EPSG','8067','NAD83(2011) / PCCS zone 3 (ft)
|
||||
INSERT INTO "usage" VALUES('EPSG','5608','projected_crs','EPSG','8067','EPSG','4450','EPSG','1207');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','8068','NAD83(2011) / PCCS zone 4 (ft)',NULL,'EPSG','4495','EPSG','6318','EPSG','8064',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','5609','projected_crs','EPSG','8068','EPSG','4473','EPSG','1207');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','8082','NAD83(CSRS)v6 / MTM Nova Scotia zone 4',NULL,'EPSG','4400','EPSG','8252','EPSG','8080',NULL,0);
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','8082','NAD83(CSRS)v6 / MTM NS 2010 zone 4',NULL,'EPSG','4400','EPSG','8252','EPSG','8080',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','5610','projected_crs','EPSG','8082','EPSG','1534','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','8083','NAD83(CSRS)v6 / MTM Nova Scotia zone 5',NULL,'EPSG','4400','EPSG','8252','EPSG','8081',NULL,0);
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','8083','NAD83(CSRS)v6 / MTM NS 2010 zone 5',NULL,'EPSG','4400','EPSG','8252','EPSG','8081',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','5611','projected_crs','EPSG','8083','EPSG','1535','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','8088','ISN2016 / Lambert 2016',NULL,'EPSG','4499','EPSG','8086','EPSG','8087',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','5615','projected_crs','EPSG','8088','EPSG','1120','EPSG','1210');
|
||||
@@ -7437,6 +7438,16 @@ INSERT INTO "projected_crs" VALUES('EPSG','9895','LUREF / Luxembourg TM (3D)',NU
|
||||
INSERT INTO "usage" VALUES('EPSG','17310','projected_crs','EPSG','9895','EPSG','1146','EPSG','1091');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','9943','EBBWV14 Grid',NULL,'EPSG','4400','EPSG','9939','EPSG','9942',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17349','projected_crs','EPSG','9943','EPSG','4661','EPSG','1141');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','9945','Macedonia State Coordinate System truncated',NULL,'EPSG','4498','EPSG','3906','EPSG','9911',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17461','projected_crs','EPSG','9945','EPSG','1148','EPSG','1028');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','9947','ISN2004 / LAEA Iceland',NULL,'EPSG','4400','EPSG','5324','EPSG','9946',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17376','projected_crs','EPSG','9947','EPSG','1120','EPSG','1162');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','9967','HULLEE13 Grid',NULL,'EPSG','4400','EPSG','9964','EPSG','9966',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17429','projected_crs','EPSG','9967','EPSG','4663','EPSG','1141');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','9972','SCM22 Grid',NULL,'EPSG','4400','EPSG','9969','EPSG','9971',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17441','projected_crs','EPSG','9972','EPSG','4665','EPSG','1141');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','9977','FNL22 Grid',NULL,'EPSG','4400','EPSG','9974','EPSG','9976',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17456','projected_crs','EPSG','9977','EPSG','4664','EPSG','1141');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','20004','Pulkovo 1995 / Gauss-Kruger zone 4',NULL,'EPSG','4530','EPSG','4200','EPSG','16204',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','6177','projected_crs','EPSG','20004','EPSG','1763','EPSG','1211');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','20005','Pulkovo 1995 / Gauss-Kruger zone 5',NULL,'EPSG','4530','EPSG','4200','EPSG','16205',NULL,0);
|
||||
@@ -8153,12 +8164,73 @@ INSERT INTO "projected_crs" VALUES('EPSG','22196','Campo Inchauspe / Argentina 6
|
||||
INSERT INTO "usage" VALUES('EPSG','6359','projected_crs','EPSG','22196','EPSG','1613','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22197','Campo Inchauspe / Argentina 7',NULL,'EPSG','4530','EPSG','4221','EPSG','18037',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','6360','projected_crs','EPSG','22197','EPSG','1614','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22207','NAD83(CSRS)v2 / UTM zone 7N',NULL,'EPSG','4400','EPSG','8237','EPSG','16007',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','18003','projected_crs','EPSG','22207','EPSG','3409','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22208','NAD83(CSRS)v2 / UTM zone 8N',NULL,'EPSG','4400','EPSG','8237','EPSG','16008',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','18004','projected_crs','EPSG','22208','EPSG','3410','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22209','NAD83(CSRS)v2 / UTM zone 9N',NULL,'EPSG','4400','EPSG','8237','EPSG','16009',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','18005','projected_crs','EPSG','22209','EPSG','3411','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22210','NAD83(CSRS)v2 / UTM zone 10N',NULL,'EPSG','4400','EPSG','8237','EPSG','16010',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','18006','projected_crs','EPSG','22210','EPSG','3412','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22211','NAD83(CSRS)v2 / UTM zone 11N',NULL,'EPSG','4400','EPSG','8237','EPSG','16011',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','18007','projected_crs','EPSG','22211','EPSG','3528','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22212','NAD83(CSRS)v2 / UTM zone 12N',NULL,'EPSG','4400','EPSG','8237','EPSG','16012',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','18008','projected_crs','EPSG','22212','EPSG','3527','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22213','NAD83(CSRS)v2 / UTM zone 13N',NULL,'EPSG','4400','EPSG','8237','EPSG','16013',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17996','projected_crs','EPSG','22213','EPSG','3526','EPSG','1142');
|
||||
INSERT INTO "usage" VALUES('EPSG','17997','projected_crs','EPSG','22213','EPSG','2375','EPSG','1220');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22214','NAD83(CSRS)v2 / UTM zone 14N',NULL,'EPSG','4400','EPSG','8237','EPSG','16014',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17998','projected_crs','EPSG','22214','EPSG','3413','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22215','NAD83(CSRS)v2 / UTM zone 15N',NULL,'EPSG','4400','EPSG','8237','EPSG','16015',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17999','projected_crs','EPSG','22215','EPSG','3414','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22216','NAD83(CSRS)v2 / UTM zone 16N',NULL,'EPSG','4400','EPSG','8237','EPSG','16016',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','18000','projected_crs','EPSG','22216','EPSG','3415','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22217','NAD83(CSRS)v2 / UTM zone 17N',NULL,'EPSG','4400','EPSG','8237','EPSG','16017',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','18001','projected_crs','EPSG','22217','EPSG','3416','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22218','NAD83(CSRS)v2 / UTM zone 18N',NULL,'EPSG','4400','EPSG','8237','EPSG','16018',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','18002','projected_crs','EPSG','22218','EPSG','3417','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22219','NAD83(CSRS)v2 / UTM zone 19N',NULL,'EPSG','4400','EPSG','8237','EPSG','16019',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17992','projected_crs','EPSG','22219','EPSG','3524','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22220','NAD83(CSRS)v2 / UTM zone 20N',NULL,'EPSG','4400','EPSG','8237','EPSG','16020',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17993','projected_crs','EPSG','22220','EPSG','3525','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22221','NAD83(CSRS)v2 / UTM zone 21N',NULL,'EPSG','4400','EPSG','8237','EPSG','16021',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17994','projected_crs','EPSG','22221','EPSG','2151','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22222','NAD83(CSRS)v2 / UTM zone 22N',NULL,'EPSG','4400','EPSG','8237','EPSG','16022',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17995','projected_crs','EPSG','22222','EPSG','2152','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22234','Cape / UTM zone 34S',NULL,'EPSG','4400','EPSG','4222','EPSG','16134',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','6361','projected_crs','EPSG','22234','EPSG','1615','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22235','Cape / UTM zone 35S',NULL,'EPSG','4400','EPSG','4222','EPSG','16135',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','6362','projected_crs','EPSG','22235','EPSG','1617','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22236','Cape / UTM zone 36S',NULL,'EPSG','4400','EPSG','4222','EPSG','16136',NULL,1);
|
||||
INSERT INTO "usage" VALUES('EPSG','6363','projected_crs','EPSG','22236','EPSG','1616','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22239','NAD83(CSRS)v2 / PEI Stereographic',NULL,'EPSG','4496','EPSG','8237','EPSG','19960',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','18015','projected_crs','EPSG','22239','EPSG','1533','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22240','NAD83(CSRS)v2 / NB Stereographic',NULL,'EPSG','4500','EPSG','8237','EPSG','19946',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','18016','projected_crs','EPSG','22240','EPSG','1447','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22243','NAD83(CSRS)v2 / SCoPQ zone 3',NULL,'EPSG','4499','EPSG','8237','EPSG','17703',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','18017','projected_crs','EPSG','22243','EPSG','1446','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22244','NAD83(CSRS)v2 / SCoPQ zone 4',NULL,'EPSG','4499','EPSG','8237','EPSG','17704',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','18018','projected_crs','EPSG','22244','EPSG','1422','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22245','NAD83(CSRS)v2 / SCoPQ zone 5',NULL,'EPSG','4499','EPSG','8237','EPSG','17705',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','18019','projected_crs','EPSG','22245','EPSG','1423','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22246','NAD83(CSRS)v2 / SCoPQ zone 6',NULL,'EPSG','4499','EPSG','8237','EPSG','17706',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','18020','projected_crs','EPSG','22246','EPSG','1424','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22247','NAD83(CSRS)v2 / SCoPQ zone 7',NULL,'EPSG','4499','EPSG','8237','EPSG','17707',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','18021','projected_crs','EPSG','22247','EPSG','1425','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22248','NAD83(CSRS)v2 / SCoPQ zone 8',NULL,'EPSG','4499','EPSG','8237','EPSG','17708',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','18074','projected_crs','EPSG','22248','EPSG','1426','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22249','NAD83(CSRS)v2 / SCoPQ zone 9',NULL,'EPSG','4499','EPSG','8237','EPSG','17709',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','18076','projected_crs','EPSG','22249','EPSG','1427','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22250','NAD83(CSRS)v2 / SCoPQ zone 10',NULL,'EPSG','4499','EPSG','8237','EPSG','17710',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','18077','projected_crs','EPSG','22250','EPSG','1428','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22262','NAD83(CSRS)v2 / Alberta 3TM ref merid 111 W',NULL,'EPSG','4400','EPSG','8237','EPSG','17722',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','18009','projected_crs','EPSG','22262','EPSG','3543','EPSG','1096');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22263','NAD83(CSRS)v2 / Alberta 3TM ref merid 114 W',NULL,'EPSG','4400','EPSG','8237','EPSG','17723',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','18010','projected_crs','EPSG','22263','EPSG','3542','EPSG','1096');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22264','NAD83(CSRS)v2 / Alberta 3TM ref merid 117 W',NULL,'EPSG','4400','EPSG','8237','EPSG','17724',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','18011','projected_crs','EPSG','22264','EPSG','3541','EPSG','1096');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22265','NAD83(CSRS)v2 / Alberta 3TM ref merid 120 W',NULL,'EPSG','4400','EPSG','8237','EPSG','17726',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','18012','projected_crs','EPSG','22265','EPSG','3540','EPSG','1096');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22275','Cape / Lo15',NULL,'EPSG','6503','EPSG','4222','EPSG','17515',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','6364','projected_crs','EPSG','22275','EPSG','1454','EPSG','1092');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22277','Cape / Lo17',NULL,'EPSG','6503','EPSG','4222','EPSG','17517',NULL,0);
|
||||
@@ -8181,12 +8253,108 @@ INSERT INTO "projected_crs" VALUES('EPSG','22293','Cape / Lo33',NULL,'EPSG','650
|
||||
INSERT INTO "usage" VALUES('EPSG','6373','projected_crs','EPSG','22293','EPSG','1463','EPSG','1092');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22300','Carthage (Paris) / Tunisia Mining Grid',NULL,'EPSG','4406','EPSG','4816','EPSG','19937',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','6374','projected_crs','EPSG','22300','EPSG','1618','EPSG','1249');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22307','NAD83(CSRS)v3 / UTM zone 7N',NULL,'EPSG','4400','EPSG','8240','EPSG','16007',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17752','projected_crs','EPSG','22307','EPSG','3409','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22308','NAD83(CSRS)v3 / UTM zone 8N',NULL,'EPSG','4400','EPSG','8240','EPSG','16008',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17834','projected_crs','EPSG','22308','EPSG','3410','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22309','NAD83(CSRS)v3 / UTM zone 9N',NULL,'EPSG','4400','EPSG','8240','EPSG','16009',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17771','projected_crs','EPSG','22309','EPSG','3411','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22310','NAD83(CSRS)v3 / UTM zone 10N',NULL,'EPSG','4400','EPSG','8240','EPSG','16010',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17839','projected_crs','EPSG','22310','EPSG','3412','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22311','NAD83(CSRS)v3 / UTM zone 11N',NULL,'EPSG','4400','EPSG','8240','EPSG','16011',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17777','projected_crs','EPSG','22311','EPSG','3528','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22312','NAD83(CSRS)v3 / UTM zone 12N',NULL,'EPSG','4400','EPSG','8240','EPSG','16012',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17783','projected_crs','EPSG','22312','EPSG','3527','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22313','NAD83(CSRS)v3 / UTM zone 13N',NULL,'EPSG','4400','EPSG','8240','EPSG','16013',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17789','projected_crs','EPSG','22313','EPSG','3526','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22314','NAD83(CSRS)v3 / UTM zone 14N',NULL,'EPSG','4400','EPSG','8240','EPSG','16014',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17795','projected_crs','EPSG','22314','EPSG','3413','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22315','NAD83(CSRS)v3 / UTM zone 15N',NULL,'EPSG','4400','EPSG','8240','EPSG','16015',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17801','projected_crs','EPSG','22315','EPSG','3414','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22316','NAD83(CSRS)v3 / UTM zone 16N',NULL,'EPSG','4400','EPSG','8240','EPSG','16016',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17829','projected_crs','EPSG','22316','EPSG','3415','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22317','NAD83(CSRS)v3 / UTM zone 17N',NULL,'EPSG','4400','EPSG','8240','EPSG','16017',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17816','projected_crs','EPSG','22317','EPSG','3416','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22318','NAD83(CSRS)v3 / UTM zone 18N',NULL,'EPSG','4400','EPSG','8240','EPSG','16018',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17822','projected_crs','EPSG','22318','EPSG','3417','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22319','NAD83(CSRS)v3 / UTM zone 19N',NULL,'EPSG','4400','EPSG','8240','EPSG','16019',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17844','projected_crs','EPSG','22319','EPSG','3524','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22320','NAD83(CSRS)v3 / UTM zone 20N',NULL,'EPSG','4400','EPSG','8240','EPSG','16020',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17850','projected_crs','EPSG','22320','EPSG','3525','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22321','NAD83(CSRS)v3 / UTM zone 21N',NULL,'EPSG','4400','EPSG','8240','EPSG','16021',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17857','projected_crs','EPSG','22321','EPSG','2151','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22322','NAD83(CSRS)v3 / UTM zone 22N',NULL,'EPSG','4400','EPSG','8240','EPSG','16022',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17863','projected_crs','EPSG','22322','EPSG','2152','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22332','Carthage / UTM zone 32N',NULL,'EPSG','4400','EPSG','4223','EPSG','16032',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','6375','projected_crs','EPSG','22332','EPSG','1489','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22337','NAD83(CSRS)v3 / MTM NS 1997 zone 5',NULL,'EPSG','4400','EPSG','8240','EPSG','9982',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','18013','projected_crs','EPSG','22337','EPSG','1535','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22338','NAD83(CSRS)v3 / MTM NS 1997 zone 4',NULL,'EPSG','4400','EPSG','8240','EPSG','9981',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','18014','projected_crs','EPSG','22338','EPSG','1534','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22348','NAD83(CSRS)v3 / MTM zone 8',NULL,'EPSG','4496','EPSG','8240','EPSG','17708',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','18071','projected_crs','EPSG','22348','EPSG','1429','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22349','NAD83(CSRS)v3 / MTM zone 9',NULL,'EPSG','4496','EPSG','8240','EPSG','17709',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','18072','projected_crs','EPSG','22349','EPSG','1430','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22350','NAD83(CSRS)v3 / MTM zone 10',NULL,'EPSG','4496','EPSG','8240','EPSG','17710',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','18073','projected_crs','EPSG','22350','EPSG','1431','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22351','NAD83(CSRS)v3 / MTM zone 11',NULL,'EPSG','4400','EPSG','8240','EPSG','17711',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17639','projected_crs','EPSG','22351','EPSG','1432','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22352','NAD83(CSRS)v3 / MTM zone 12',NULL,'EPSG','4400','EPSG','8240','EPSG','17712',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17640','projected_crs','EPSG','22352','EPSG','1433','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22353','NAD83(CSRS)v3 / MTM zone 13',NULL,'EPSG','4400','EPSG','8240','EPSG','17713',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17641','projected_crs','EPSG','22353','EPSG','1434','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22354','NAD83(CSRS)v3 / MTM zone 14',NULL,'EPSG','4400','EPSG','8240','EPSG','17714',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17642','projected_crs','EPSG','22354','EPSG','1435','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22355','NAD83(CSRS)v3 / MTM zone 15',NULL,'EPSG','4400','EPSG','8240','EPSG','17715',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17643','projected_crs','EPSG','22355','EPSG','1436','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22356','NAD83(CSRS)v3 / MTM zone 16',NULL,'EPSG','4400','EPSG','8240','EPSG','17716',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17644','projected_crs','EPSG','22356','EPSG','1437','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22357','NAD83(CSRS)v3 / MTM zone 17',NULL,'EPSG','4400','EPSG','8240','EPSG','17717',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17645','projected_crs','EPSG','22357','EPSG','1438','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22391','Carthage / Nord Tunisie',NULL,'EPSG','4499','EPSG','4223','EPSG','18181',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','6376','projected_crs','EPSG','22391','EPSG','1619','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22392','Carthage / Sud Tunisie',NULL,'EPSG','4499','EPSG','4223','EPSG','18182',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','6377','projected_crs','EPSG','22392','EPSG','1620','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22407','NAD83(CSRS)v4 / UTM zone 7N',NULL,'EPSG','4400','EPSG','8246','EPSG','16007',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17761','projected_crs','EPSG','22407','EPSG','3409','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22408','NAD83(CSRS)v4 / UTM zone 8N',NULL,'EPSG','4400','EPSG','8246','EPSG','16008',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17835','projected_crs','EPSG','22408','EPSG','3410','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22409','NAD83(CSRS)v4 / UTM zone 9N',NULL,'EPSG','4400','EPSG','8246','EPSG','16009',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17766','projected_crs','EPSG','22409','EPSG','3411','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22410','NAD83(CSRS)v4 / UTM zone 10N',NULL,'EPSG','4400','EPSG','8246','EPSG','16010',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17840','projected_crs','EPSG','22410','EPSG','3412','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22411','NAD83(CSRS)v4 / UTM zone 11N',NULL,'EPSG','4400','EPSG','8246','EPSG','16011',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17778','projected_crs','EPSG','22411','EPSG','3528','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22412','NAD83(CSRS)v4 / UTM zone 12N',NULL,'EPSG','4400','EPSG','8246','EPSG','16012',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17784','projected_crs','EPSG','22412','EPSG','3527','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22413','NAD83(CSRS)v4 / UTM zone 13N',NULL,'EPSG','4400','EPSG','8246','EPSG','16013',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17790','projected_crs','EPSG','22413','EPSG','3526','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22414','NAD83(CSRS)v4 / UTM zone 14N',NULL,'EPSG','4400','EPSG','8246','EPSG','16014',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17796','projected_crs','EPSG','22414','EPSG','3413','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22415','NAD83(CSRS)v4 / UTM zone 15N',NULL,'EPSG','4400','EPSG','8246','EPSG','16015',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17827','projected_crs','EPSG','22415','EPSG','3414','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22416','NAD83(CSRS)v4 / UTM zone 16N',NULL,'EPSG','4400','EPSG','8246','EPSG','16016',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17830','projected_crs','EPSG','22416','EPSG','3415','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22417','NAD83(CSRS)v4 / UTM zone 17N',NULL,'EPSG','4400','EPSG','8246','EPSG','16017',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17817','projected_crs','EPSG','22417','EPSG','3416','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22418','NAD83(CSRS)v4 / UTM zone 18N',NULL,'EPSG','4400','EPSG','8246','EPSG','16018',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17823','projected_crs','EPSG','22418','EPSG','3417','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22419','NAD83(CSRS)v4 / UTM zone 19N',NULL,'EPSG','4400','EPSG','8246','EPSG','16019',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17845','projected_crs','EPSG','22419','EPSG','3524','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22420','NAD83(CSRS)v4 / UTM zone 20N',NULL,'EPSG','4400','EPSG','8246','EPSG','16020',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17851','projected_crs','EPSG','22420','EPSG','3525','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22421','NAD83(CSRS)v4 / UTM zone 21N',NULL,'EPSG','4400','EPSG','8246','EPSG','16021',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17858','projected_crs','EPSG','22421','EPSG','2151','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22422','NAD83(CSRS)v4 / UTM zone 22N',NULL,'EPSG','4400','EPSG','8246','EPSG','16022',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17864','projected_crs','EPSG','22422','EPSG','2152','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22462','NAD83(CSRS)v4 / Alberta 3TM ref merid 111 W',NULL,'EPSG','4400','EPSG','8246','EPSG','17722',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17657','projected_crs','EPSG','22462','EPSG','3543','EPSG','1096');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22463','NAD83(CSRS)v4 / Alberta 3TM ref merid 114 W',NULL,'EPSG','4400','EPSG','8246','EPSG','17723',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17658','projected_crs','EPSG','22463','EPSG','3542','EPSG','1096');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22464','NAD83(CSRS)v4 / Alberta 3TM ref merid 117 W',NULL,'EPSG','4400','EPSG','8246','EPSG','17724',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17659','projected_crs','EPSG','22464','EPSG','3541','EPSG','1096');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22465','NAD83(CSRS)v4 / Alberta 3TM ref merid 120 W',NULL,'EPSG','4400','EPSG','8246','EPSG','17726',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17660','projected_crs','EPSG','22465','EPSG','3540','EPSG','1096');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22521','Corrego Alegre 1970-72 / UTM zone 21S',NULL,'EPSG','4400','EPSG','4225','EPSG','16121',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','6378','projected_crs','EPSG','22521','EPSG','3355','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22522','Corrego Alegre 1970-72 / UTM zone 22S',NULL,'EPSG','4400','EPSG','4225','EPSG','16122',NULL,0);
|
||||
@@ -8197,8 +8365,116 @@ INSERT INTO "projected_crs" VALUES('EPSG','22524','Corrego Alegre 1970-72 / UTM
|
||||
INSERT INTO "usage" VALUES('EPSG','6381','projected_crs','EPSG','22524','EPSG','1818','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22525','Corrego Alegre 1970-72 / UTM zone 25S',NULL,'EPSG','4400','EPSG','4225','EPSG','16125',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','6382','projected_crs','EPSG','22525','EPSG','3178','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22607','NAD83(CSRS)v6 / UTM zone 7N',NULL,'EPSG','4400','EPSG','8252','EPSG','16007',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17755','projected_crs','EPSG','22607','EPSG','3409','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22608','NAD83(CSRS)v6 / UTM zone 8N',NULL,'EPSG','4400','EPSG','8252','EPSG','16008',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17836','projected_crs','EPSG','22608','EPSG','3410','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22609','NAD83(CSRS)v6 / UTM zone 9N',NULL,'EPSG','4400','EPSG','8252','EPSG','16009',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17768','projected_crs','EPSG','22609','EPSG','3411','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22610','NAD83(CSRS)v6 / UTM zone 10N',NULL,'EPSG','4400','EPSG','8252','EPSG','16010',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17841','projected_crs','EPSG','22610','EPSG','3412','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22611','NAD83(CSRS)v6 / UTM zone 11N',NULL,'EPSG','4400','EPSG','8252','EPSG','16011',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17779','projected_crs','EPSG','22611','EPSG','3528','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22612','NAD83(CSRS)v6 / UTM zone 12N',NULL,'EPSG','4400','EPSG','8252','EPSG','16012',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17786','projected_crs','EPSG','22612','EPSG','3527','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22613','NAD83(CSRS)v6 / UTM zone 13N',NULL,'EPSG','4400','EPSG','8252','EPSG','16013',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17791','projected_crs','EPSG','22613','EPSG','3526','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22614','NAD83(CSRS)v6 / UTM zone 14N',NULL,'EPSG','4400','EPSG','8252','EPSG','16014',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17797','projected_crs','EPSG','22614','EPSG','3413','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22615','NAD83(CSRS)v6 / UTM zone 15N',NULL,'EPSG','4400','EPSG','8252','EPSG','16015',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17803','projected_crs','EPSG','22615','EPSG','3414','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22616','NAD83(CSRS)v6 / UTM zone 16N',NULL,'EPSG','4400','EPSG','8252','EPSG','16016',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17831','projected_crs','EPSG','22616','EPSG','3415','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22617','NAD83(CSRS)v6 / UTM zone 17N',NULL,'EPSG','4400','EPSG','8252','EPSG','16017',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17818','projected_crs','EPSG','22617','EPSG','3416','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22618','NAD83(CSRS)v6 / UTM zone 18N',NULL,'EPSG','4400','EPSG','8252','EPSG','16018',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17824','projected_crs','EPSG','22618','EPSG','3417','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22619','NAD83(CSRS)v6 / UTM zone 19N',NULL,'EPSG','4400','EPSG','8252','EPSG','16019',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17846','projected_crs','EPSG','22619','EPSG','3524','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22620','NAD83(CSRS)v6 / UTM zone 20N',NULL,'EPSG','4400','EPSG','8252','EPSG','16020',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17852','projected_crs','EPSG','22620','EPSG','3525','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22621','NAD83(CSRS)v6 / UTM zone 21N',NULL,'EPSG','4400','EPSG','8252','EPSG','16021',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17859','projected_crs','EPSG','22621','EPSG','2151','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22622','NAD83(CSRS)v6 / UTM zone 22N',NULL,'EPSG','4400','EPSG','8252','EPSG','16022',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17865','projected_crs','EPSG','22622','EPSG','2152','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22639','NAD83(CSRS)v6 / PEI Stereographic',NULL,'EPSG','4496','EPSG','8252','EPSG','19960',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','18070','projected_crs','EPSG','22639','EPSG','1533','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22641','NAD83(CSRS)v6 / MTM zone 1',NULL,'EPSG','4496','EPSG','8252','EPSG','17701',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17665','projected_crs','EPSG','22641','EPSG','2226','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22642','NAD83(CSRS)v6 / MTM zone 2',NULL,'EPSG','4496','EPSG','8252','EPSG','17702',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17666','projected_crs','EPSG','22642','EPSG','2227','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22643','NAD83(CSRS)v6 / MTM zone 3',NULL,'EPSG','4496','EPSG','8252','EPSG','17703',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17667','projected_crs','EPSG','22643','EPSG','2275','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22644','NAD83(CSRS)v6 / MTM zone 4',NULL,'EPSG','4496','EPSG','8252','EPSG','17704',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17668','projected_crs','EPSG','22644','EPSG','3875','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22645','NAD83(CSRS)v6 / MTM zone 5',NULL,'EPSG','4496','EPSG','8252','EPSG','17705',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17669','projected_crs','EPSG','22645','EPSG','3865','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22646','NAD83(CSRS)v6 / MTM zone 6',NULL,'EPSG','4496','EPSG','8252','EPSG','17706',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17670','projected_crs','EPSG','22646','EPSG','3880','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22648','NAD83(CSRS)v6 / MTM zone 8',NULL,'EPSG','4496','EPSG','8252','EPSG','17708',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17688','projected_crs','EPSG','22648','EPSG','1429','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22649','NAD83(CSRS)v6 / MTM zone 9',NULL,'EPSG','4496','EPSG','8252','EPSG','17709',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17689','projected_crs','EPSG','22649','EPSG','1430','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22650','NAD83(CSRS)v6 / MTM zone 10',NULL,'EPSG','4496','EPSG','8252','EPSG','17710',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17690','projected_crs','EPSG','22650','EPSG','1431','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22651','NAD83(CSRS)v6 / MTM zone 11',NULL,'EPSG','4400','EPSG','8252','EPSG','17711',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17646','projected_crs','EPSG','22651','EPSG','1432','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22652','NAD83(CSRS)v6 / MTM zone 12',NULL,'EPSG','4400','EPSG','8252','EPSG','17712',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17647','projected_crs','EPSG','22652','EPSG','1433','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22653','NAD83(CSRS)v6 / MTM zone 13',NULL,'EPSG','4400','EPSG','8252','EPSG','17713',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17648','projected_crs','EPSG','22653','EPSG','1434','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22654','NAD83(CSRS)v6 / MTM zone 14',NULL,'EPSG','4400','EPSG','8252','EPSG','17714',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17649','projected_crs','EPSG','22654','EPSG','1435','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22655','NAD83(CSRS)v6 / MTM zone 15',NULL,'EPSG','4400','EPSG','8252','EPSG','17715',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17650','projected_crs','EPSG','22655','EPSG','1436','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22656','NAD83(CSRS)v6 / MTM zone 16',NULL,'EPSG','4400','EPSG','8252','EPSG','17716',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17651','projected_crs','EPSG','22656','EPSG','1437','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22657','NAD83(CSRS)v6 / MTM zone 17',NULL,'EPSG','4400','EPSG','8252','EPSG','17717',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17652','projected_crs','EPSG','22657','EPSG','1438','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22700','Deir ez Zor / Levant Zone',NULL,'EPSG','4499','EPSG','4227','EPSG','19940',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','6383','projected_crs','EPSG','22700','EPSG','1623','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22707','NAD83(CSRS)v7 / UTM zone 7N',NULL,'EPSG','4400','EPSG','8255','EPSG','16007',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17756','projected_crs','EPSG','22707','EPSG','3409','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22708','NAD83(CSRS)v7 / UTM zone 8N',NULL,'EPSG','4400','EPSG','8255','EPSG','16008',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17837','projected_crs','EPSG','22708','EPSG','3410','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22709','NAD83(CSRS)v7 / UTM zone 9N',NULL,'EPSG','4400','EPSG','8255','EPSG','16009',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17769','projected_crs','EPSG','22709','EPSG','3411','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22710','NAD83(CSRS)v7 / UTM zone 10N',NULL,'EPSG','4400','EPSG','8255','EPSG','16010',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17842','projected_crs','EPSG','22710','EPSG','3412','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22711','NAD83(CSRS)v7 / UTM zone 11N',NULL,'EPSG','4400','EPSG','8255','EPSG','16011',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17781','projected_crs','EPSG','22711','EPSG','3528','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22712','NAD83(CSRS)v7 / UTM zone 12N',NULL,'EPSG','4400','EPSG','8255','EPSG','16012',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17785','projected_crs','EPSG','22712','EPSG','3527','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22713','NAD83(CSRS)v7 / UTM zone 13N',NULL,'EPSG','4400','EPSG','8255','EPSG','16013',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17792','projected_crs','EPSG','22713','EPSG','3526','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22714','NAD83(CSRS)v7 / UTM zone 14N',NULL,'EPSG','4400','EPSG','8255','EPSG','16014',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17798','projected_crs','EPSG','22714','EPSG','3413','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22715','NAD83(CSRS)v7 / UTM zone 15N',NULL,'EPSG','4400','EPSG','8255','EPSG','16015',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17804','projected_crs','EPSG','22715','EPSG','3414','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22716','NAD83(CSRS)v7 / UTM zone 16N',NULL,'EPSG','4400','EPSG','8255','EPSG','16016',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17832','projected_crs','EPSG','22716','EPSG','3415','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22717','NAD83(CSRS)v7 / UTM zone 17N',NULL,'EPSG','4400','EPSG','8255','EPSG','16017',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17819','projected_crs','EPSG','22717','EPSG','3416','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22718','NAD83(CSRS)v7 / UTM zone 18N',NULL,'EPSG','4400','EPSG','8255','EPSG','16018',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17825','projected_crs','EPSG','22718','EPSG','3417','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22719','NAD83(CSRS)v7 / UTM zone 19N',NULL,'EPSG','4400','EPSG','8255','EPSG','16019',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17847','projected_crs','EPSG','22719','EPSG','3524','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22720','NAD83(CSRS)v7 / UTM zone 20N',NULL,'EPSG','4400','EPSG','8255','EPSG','16020',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17855','projected_crs','EPSG','22720','EPSG','3525','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22721','NAD83(CSRS)v7 / UTM zone 21N',NULL,'EPSG','4400','EPSG','8255','EPSG','16021',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17860','projected_crs','EPSG','22721','EPSG','2151','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22722','NAD83(CSRS)v7 / UTM zone 22N',NULL,'EPSG','4400','EPSG','8255','EPSG','16022',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17866','projected_crs','EPSG','22722','EPSG','2152','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22739','NAD83(CSRS)v7 / PEI Stereographic',NULL,'EPSG','4496','EPSG','8255','EPSG','19960',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17675','projected_crs','EPSG','22739','EPSG','1533','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22762','NAD83(CSRS)v7 / Alberta 3TM ref merid 111 W',NULL,'EPSG','4400','EPSG','8255','EPSG','17722',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17661','projected_crs','EPSG','22762','EPSG','3543','EPSG','1096');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22763','NAD83(CSRS)v7 / Alberta 3TM ref merid 114 W',NULL,'EPSG','4400','EPSG','8255','EPSG','17723',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17662','projected_crs','EPSG','22763','EPSG','3542','EPSG','1096');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22764','NAD83(CSRS)v7 / Alberta 3TM ref merid 117 W',NULL,'EPSG','4400','EPSG','8255','EPSG','17724',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17663','projected_crs','EPSG','22764','EPSG','3541','EPSG','1096');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22765','NAD83(CSRS)v7 / Alberta 3TM ref merid 120 W',NULL,'EPSG','4400','EPSG','8255','EPSG','17726',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17664','projected_crs','EPSG','22765','EPSG','3540','EPSG','1096');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22770','Deir ez Zor / Syria Lambert',NULL,'EPSG','4499','EPSG','4227','EPSG','19948',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','6384','projected_crs','EPSG','22770','EPSG','1623','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','22780','Deir ez Zor / Levant Stereographic',NULL,'EPSG','4499','EPSG','4227','EPSG','19949',NULL,0);
|
||||
@@ -9925,6 +10201,8 @@ INSERT INTO "projected_crs" VALUES('EPSG','32157','NAD83 / Wyoming West Central'
|
||||
INSERT INTO "usage" VALUES('EPSG','7244','projected_crs','EPSG','32157','EPSG','2272','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','32158','NAD83 / Wyoming West',NULL,'EPSG','4499','EPSG','4269','EPSG','14934',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','7245','projected_crs','EPSG','32158','EPSG','2271','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','32159','NAD83 / Wyoming Lambert',NULL,'EPSG','4499','EPSG','4269','EPSG','14930',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17409','projected_crs','EPSG','32159','EPSG','1419','EPSG','1135');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','32161','NAD83 / Puerto Rico & Virgin Is.',NULL,'EPSG','4499','EPSG','4269','EPSG','15230',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','7246','projected_crs','EPSG','32161','EPSG','2251','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','32164','NAD83 / BLM 14N (ftUS)',NULL,'EPSG','4497','EPSG','4269','EPSG','15914',NULL,0);
|
||||
|
||||
@@ -254,6 +254,7 @@ INSERT INTO "scope" VALUES('EPSG','1274','Spatial referencing including water re
|
||||
INSERT INTO "scope" VALUES('EPSG','1275','Alignment of datasets referenced to WGS 84 which have been derived from GDA2020 via the null transformation EPSG::8450 with GDA94 datasets.',0);
|
||||
INSERT INTO "scope" VALUES('EPSG','1276','Alignment of datasets referenced to WGS 84 which have been derived from GDA94 via the null transformation EPSG::1150 with GDA2020 datasets.',0);
|
||||
INSERT INTO "scope" VALUES('EPSG','1277','Derivation of depths from GNSS observations.',0);
|
||||
INSERT INTO "scope" VALUES('EPSG','1278','Transformation of coordinates at 0.006m level of accuracy.',0);
|
||||
INSERT INTO "scope" VALUES('EPSG','1280','Readjustment of coordinates to account for ground deformation caused by 2011 Tohoku earthquake.',0);
|
||||
INSERT INTO "scope" VALUES('EPSG','1281','Geodesy. Defines LUREF from 2006 to 2014.',0);
|
||||
INSERT INTO "scope" VALUES('EPSG','1282','Geodesy. Defines LUREF from 2014 to 2020.',0);
|
||||
|
||||
@@ -258,3 +258,8 @@ INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','5483','helmer
|
||||
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','5485','helmert_transformation','EPSG','9899','EPSG',1);
|
||||
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','9898','helmert_transformation','EPSG','9937','EPSG',1);
|
||||
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','9899','helmert_transformation','EPSG','9938','EPSG',1);
|
||||
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','9954','grid_transformation','EPSG','9956','EPSG',0);
|
||||
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','9955','grid_transformation','EPSG','9957','EPSG',0);
|
||||
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','9956','grid_transformation','EPSG','9958','EPSG',0);
|
||||
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','9957','grid_transformation','EPSG','9959','EPSG',0);
|
||||
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','5891','grid_transformation','EPSG','9910','EPSG',1);
|
||||
|
||||
@@ -363,7 +363,7 @@ INSERT INTO "usage" VALUES('EPSG','5532','vertical_crs','EPSG','7890','EPSG','31
|
||||
INSERT INTO "vertical_crs" VALUES('EPSG','7979','KOC WD height',NULL,'EPSG','6499','EPSG','5187',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','5571','vertical_crs','EPSG','7979','EPSG','3267','EPSG','1205');
|
||||
INSERT INTO "vertical_crs" VALUES('EPSG','8089','ISH2004 height',NULL,'EPSG','6499','EPSG','1190',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','5616','vertical_crs','EPSG','8089','EPSG','3262','EPSG','1178');
|
||||
INSERT INTO "usage" VALUES('EPSG','5616','vertical_crs','EPSG','8089','EPSG','4662','EPSG','1178');
|
||||
INSERT INTO "vertical_crs" VALUES('EPSG','8266','GVR2000 height',NULL,'EPSG','6499','EPSG','1199',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','5758','vertical_crs','EPSG','8266','EPSG','4461','EPSG','1153');
|
||||
INSERT INTO "vertical_crs" VALUES('EPSG','8267','GVR2016 height',NULL,'EPSG','6499','EPSG','1200',0);
|
||||
@@ -466,6 +466,8 @@ INSERT INTO "vertical_crs" VALUES('EPSG','9923','GNTRANS height',NULL,'EPSG','64
|
||||
INSERT INTO "usage" VALUES('EPSG','17285','vertical_crs','EPSG','9923','EPSG','3339','EPSG','1141');
|
||||
INSERT INTO "vertical_crs" VALUES('EPSG','9927','GNTRANS2016 height',NULL,'EPSG','6499','EPSG','1318',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17286','vertical_crs','EPSG','9927','EPSG','3339','EPSG','1141');
|
||||
INSERT INTO "vertical_crs" VALUES('EPSG','20000','SVD2006 height',NULL,'EPSG','6499','EPSG','1323',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17962','vertical_crs','EPSG','20000','EPSG','4058','EPSG','1180');
|
||||
INSERT INTO "vertical_crs" VALUES('EPSG','5336','Black Sea depth',NULL,'EPSG','6498','EPSG','5134',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','3936','vertical_crs','EPSG','5336','EPSG','1102','EPSG','1198');
|
||||
INSERT INTO "vertical_crs" VALUES('EPSG','5612','Baltic 1977 depth',NULL,'EPSG','6498','EPSG','5105',0);
|
||||
|
||||
@@ -133,7 +133,7 @@ INSERT INTO "usage" VALUES('EPSG','13228','vertical_datum','EPSG','1176','EPSG',
|
||||
INSERT INTO "vertical_datum" VALUES('EPSG','1177','St. Helena Vertical Datum 2015',NULL,'2015-01-01',NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','13229','vertical_datum','EPSG','1177','EPSG','3183','EPSG','1178');
|
||||
INSERT INTO "vertical_datum" VALUES('EPSG','1190','Landshaedarkerfi Islands 2004',NULL,'2004-08-07',NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','13242','vertical_datum','EPSG','1190','EPSG','3262','EPSG','1180');
|
||||
INSERT INTO "usage" VALUES('EPSG','13242','vertical_datum','EPSG','1190','EPSG','4662','EPSG','1180');
|
||||
INSERT INTO "vertical_datum" VALUES('EPSG','1199','Greenland Vertical Reference 2000',NULL,'2000-01-01',NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','13251','vertical_datum','EPSG','1199','EPSG','4461','EPSG','1153');
|
||||
INSERT INTO "vertical_datum" VALUES('EPSG','1200','Greenland Vertical Reference 2016',NULL,'2016-01-01',NULL,NULL,NULL,0);
|
||||
@@ -232,6 +232,8 @@ INSERT INTO "vertical_datum" VALUES('EPSG','1316','GNTRANS',NULL,'2003-01-01',NU
|
||||
INSERT INTO "usage" VALUES('EPSG','17277','vertical_datum','EPSG','1316','EPSG','3339','EPSG','1141');
|
||||
INSERT INTO "vertical_datum" VALUES('EPSG','1318','GNTRANS2016',NULL,'2016-01-01',NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17278','vertical_datum','EPSG','1318','EPSG','3339','EPSG','1141');
|
||||
INSERT INTO "vertical_datum" VALUES('EPSG','1323','Svalbard vertical datum 2006',NULL,'2006-01-01',NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','17963','vertical_datum','EPSG','1323','EPSG','4058','EPSG','1180');
|
||||
INSERT INTO "vertical_datum" VALUES('EPSG','5100','Mean Sea Level',NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','13307','vertical_datum','EPSG','5100','EPSG','1262','EPSG','1199');
|
||||
INSERT INTO "vertical_datum" VALUES('EPSG','5101','Ordnance Datum Newlyn',NULL,'1956-01-01',NULL,NULL,NULL,0);
|
||||
|
||||
@@ -25,20 +25,20 @@ cache:
|
||||
build_script:
|
||||
- set VCPKG_ROOT=C:\Tools\vcpkg
|
||||
- set VCPKG_INSTALLED=%VCPKG_ROOT%\installed\%platform%-windows
|
||||
- set VCPKG_DEFAULT_TRIPLET=%platform%-windows
|
||||
- set VCPKG_DEFAULT_HOST_TRIPLET=%platform%-windows
|
||||
# If cached directory does not exist, update vcpkg and install dependencies
|
||||
# The checkout of a precise sha1 for VS2015 is a workaround for https://github.com/microsoft/vcpkg/issues/11666
|
||||
- if not exist %VCPKG_INSTALLED%\bin (
|
||||
cd "%VCPKG_ROOT%" &
|
||||
git pull > nul &
|
||||
(if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2015" (git checkout a64dc07690bc8806e717e190f62eb58e198b599c)) &
|
||||
git fetch --depth=1 origin 2022.04.12 &
|
||||
(if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2015" (git -c advice.detachedHead=false checkout FETCH_HEAD)) &
|
||||
.\bootstrap-vcpkg.bat -disableMetrics &
|
||||
vcpkg install sqlite3[core,tool]:"%platform%"-windows &
|
||||
vcpkg install tiff:"%platform%"-windows &
|
||||
vcpkg install curl:"%platform%"-windows &
|
||||
vcpkg install curl sqlite3[core,tool] tiff &
|
||||
cd %APPVEYOR_BUILD_FOLDER%
|
||||
)
|
||||
- dir %VCPKG_INSTALLED%\bin
|
||||
- set PATH=%VCPKG_INSTALLED%\bin;%PATH%
|
||||
- set PATH=%VCPKG_INSTALLED%\tools;%PATH%
|
||||
# See https://www.appveyor.com/docs/lang/cpp/
|
||||
- if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2015" if %platform%==x86
|
||||
(call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86)
|
||||
@@ -65,11 +65,12 @@ test_script:
|
||||
- echo test_script
|
||||
- set PROJ_LIB=%PROJ_DIR%\share\proj
|
||||
- cd %PROJ_BUILD%
|
||||
- ctest -V -C Release
|
||||
- set PATH=%PROJ_DIR%\bin;%PATH%
|
||||
- ctest --output-on-failure -C Release
|
||||
- set BUILD_MODE=shared
|
||||
- if BUILD_SHARED_LIBS==OFF (set BUILD_MODE=static)
|
||||
- call %APPVEYOR_BUILD_FOLDER%\test\postinstall\test_cmake.bat %PROJ_DIR% %BUILD_MODE%
|
||||
# Executables in %PROJ_DIR%\bin need runtime from %VCPKG_INSTALLED%\bin
|
||||
- set PATH=%PROJ_DIR%\bin;%VCPKG_INSTALLED%\bin;%PATH%
|
||||
- proj
|
||||
|
||||
deploy: off
|
||||
@@ -15,6 +15,7 @@ jobs:
|
||||
|
||||
- name: Install PROJ build dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
DEBIAN_FRONTEND=noninteractive sudo apt-get install -y --no-install-recommends -o APT::Immediate-Configure=0 \
|
||||
cmake g++ sqlite3 pkg-config libsqlite3-dev libtiff-dev libcurl4-openssl-dev
|
||||
|
||||
@@ -22,7 +23,7 @@ jobs:
|
||||
run: |
|
||||
mkdir build
|
||||
cd build
|
||||
cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=/opt/proj
|
||||
cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF -DCMAKE_INSTALL_PREFIX=/opt/proj ..
|
||||
make -j$(nproc)
|
||||
sudo mkdir -p /opt/proj
|
||||
sudo make install
|
||||
@@ -31,7 +32,11 @@ jobs:
|
||||
- name: Install plot dependencies
|
||||
uses: conda-incubator/setup-miniconda@v2
|
||||
with:
|
||||
miniforge-variant: Mambaforge
|
||||
miniforge-version: latest
|
||||
use-mamba: true
|
||||
environment-file: docs/plot/environment.yml
|
||||
activate-environment: proj
|
||||
|
||||
- name: Plot
|
||||
working-directory: ./docs/plot
|
||||
@@ -13,8 +13,9 @@ jobs:
|
||||
|
||||
- uses: conda-incubator/setup-miniconda@v2
|
||||
with:
|
||||
channels: conda-forge
|
||||
auto-update-conda: true
|
||||
miniforge-variant: Mambaforge
|
||||
miniforge-version: latest
|
||||
use-mamba: true
|
||||
|
||||
- name: Cache
|
||||
uses: actions/cache@v2
|
||||
@@ -0,0 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
mamba install --yes --quiet compilers
|
||||
mamba install --yes --quiet python=3.8 autoconf automake libtool ccache jsonschema
|
||||
mamba install --yes --quiet --only-deps proj=7.1.1=h45baca5_3
|
||||
@@ -113,7 +113,7 @@ cmake -G "Unix Makefiles" \
|
||||
..
|
||||
make
|
||||
# Run a subset of tests that should pass
|
||||
ctest -R "proj_test_cpp_api|geodesic-test|proj_errno_string_test|proj_angular_io_test|proj_context_test|pj_phi2_test|gie_self_tests|test_network|test_defmodel|test_tinshift|test_misc|test_fork"
|
||||
ctest --output-on-failure -R "proj_test_cpp_api|geodesic-test|proj_errno_string_test|proj_angular_io_test|proj_context_test|pj_phi2_test|gie_self_tests|test_network|test_defmodel|test_tinshift|test_misc|test_fork"
|
||||
# TODO: fix failing tests with .gie files; see #2168 and run
|
||||
# PROJ_LIB=./data/for_tests wine64 ./bin/gie.exe ../test/gie/more_builtins.gie
|
||||
|
||||
@@ -45,7 +45,8 @@ jobs:
|
||||
run: |
|
||||
set VCPKG_INSTALLED=c:\vcpkg\installed\${{ env.ARCH }}-windows
|
||||
dir %VCPKG_INSTALLED%\bin
|
||||
set PATH=%VCPKG_INSTALLED%\bin;%PATH%
|
||||
dir %VCPKG_INSTALLED%\tools
|
||||
set PATH=%VCPKG_INSTALLED%\bin;%VCPKG_INSTALLED%\tools;%PATH%
|
||||
set PROJ_BUILD=%GITHUB_WORKSPACE%\build
|
||||
mkdir %PROJ_BUILD%
|
||||
cd %PROJ_BUILD%
|
||||
@@ -65,7 +66,7 @@ jobs:
|
||||
set PROJ_DIR=%GITHUB_WORKSPACE%\proj_dir
|
||||
set PROJ_BUILD=%GITHUB_WORKSPACE%\build
|
||||
cd %PROJ_BUILD%
|
||||
ctest -V -C "${{ env.BUILD_TYPE }}"
|
||||
ctest --output-on-failure -C "${{ env.BUILD_TYPE }}"
|
||||
set PATH=%PROJ_DIR%\bin;%PATH%
|
||||
set BUILD_MODE=shared
|
||||
if "${{ env.BUILD_SHARED_LIBS }}"=="OFF" (set BUILD_MODE=static)
|
||||
@@ -0,0 +1,15 @@
|
||||
name: proj
|
||||
channels:
|
||||
- conda-forge
|
||||
dependencies:
|
||||
- descartes
|
||||
- geojson
|
||||
- matplotlib
|
||||
- shapely < 1.8
|
||||
- pip
|
||||
- pip:
|
||||
- breathe
|
||||
- pybtex
|
||||
- sphinx-rtd-theme
|
||||
- sphinxcontrib-bibtex
|
||||
- sphinxcontrib-spelling
|
||||
@@ -79,7 +79,7 @@
|
||||
{ "type": "Feature", "properties": { "featurecla": "Country", "scalerank": 1 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ -61.806305, 49.105060000000122 ], [ -62.29318, 49.08717 ], [ -63.58926, 49.40069 ], [ -64.51912, 49.87304 ], [ -64.17322, 49.95718 ], [ -62.85829, 49.706410000000119 ], [ -61.835585, 49.28855 ], [ -61.806305, 49.105060000000122 ] ] ] } },
|
||||
{ "type": "Feature", "properties": { "featurecla": "Country", "scalerank": 1 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ -123.510001587551173, 48.510010891303409 ], [ -124.012890788399588, 48.370846259141501 ], [ -125.655012777338371, 48.825004584338586 ], [ -125.954994466792769, 49.179995835967645 ], [ -126.850004435871895, 49.530000311880514 ], [ -127.029993449544421, 49.814995835970052 ], [ -128.059336304366241, 49.994959011426573 ], [ -128.44458410710206, 50.539137681676038 ], [ -128.358413656255436, 50.770648098343685 ], [ -127.308581096029982, 50.55257355407204 ], [ -126.695000977212317, 50.400903225295394 ], [ -125.755006673823203, 50.295018215529467 ], [ -125.415001587558805, 49.95000051533259 ], [ -124.920768189119357, 49.47527497008349 ], [ -123.922508708321118, 49.062483628935809 ], [ -123.510001587551173, 48.510010891303409 ] ] ] } },
|
||||
{ "type": "Feature", "properties": { "featurecla": "Country", "scalerank": 1 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ -56.134035814017039, 50.687009792679305 ], [ -56.795881720595276, 49.81230866149096 ], [ -56.143105027884218, 50.150117499382844 ], [ -55.471492275602969, 49.935815334668462 ], [ -55.822401089081012, 49.587128607778993 ], [ -54.935142584845579, 49.31301097268684 ], [ -54.473775397343701, 49.556691189159181 ], [ -53.476549445191267, 49.249138902374057 ], [ -53.786013759971325, 48.516780503933717 ], [ -53.086133999226263, 48.687803656603535 ], [ -52.958648240762244, 48.157164211614401 ], [ -52.648098720904102, 47.53554840757559 ], [ -53.069158291218343, 46.655498765645035 ], [ -53.521456264852958, 46.61829173439483 ], [ -54.178935512902541, 46.807065741556983 ], [ -53.961868659060571, 47.625207017601923 ], [ -54.240482143762051, 47.752279364607631 ], [ -55.400773078011497, 46.884993801453135 ], [ -55.997480841685842, 46.919720363953218 ], [ -55.291219041552694, 47.389562486350997 ], [ -56.250798712780636, 47.632545070987391 ], [ -57.325229254777014, 47.572807115258087 ], [ -59.26601518414688, 47.603347886742398 ], [ -59.419494188053704, 47.899453843774864 ], [ -58.796586473207498, 48.251525376979373 ], [ -59.231624518456556, 48.523188381537892 ], [ -58.391804979065228, 49.125580552764262 ], [ -57.358689744685961, 50.718274034215938 ], [ -56.738650071832012, 51.28743825947862 ], [ -55.870976935435209, 51.632094224649279 ], [ -55.406974249886616, 51.588272610065644 ], [ -55.600218268442092, 51.317074693398013 ], [ -56.134035814017039, 50.687009792679305 ] ] ] } },
|
||||
{ "type": "Feature", "properties": { "featurecla": "Country", "scalerank": 1 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ -132.710007884431207, 54.040009315423447 ], [ -132.710008504905716, 54.040009263721345 ], [ -132.710007697461492, 54.040009263721345 ], [ -132.710007884431207, 54.040009315423447 ], [ -131.749989584003401, 54.120004380909137 ], [ -132.049480347350993, 52.984621487024526 ], [ -131.179042521826602, 52.180432847698285 ], [ -131.577829549823122, 52.182370713909251 ], [ -132.180428426778576, 52.639707139692405 ], [ -132.549992432313871, 53.100014960332231 ], [ -133.054611178755522, 53.411468817755292 ], [ -133.239664482792705, 53.851080227262315 ], [ -133.180004041711811, 54.169975490935315 ], [ -132.710007884431207, 54.040009315423447 ] ] ] } },
|
||||
{ "type": "Feature", "properties": { "featurecla": "Country", "scalerank": 1 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ -132.710007884431207, 54.040009315423447 ], [ -131.749989584003401, 54.120004380909137 ], [ -132.049480347350993, 52.984621487024526 ], [ -131.179042521826602, 52.180432847698285 ], [ -131.577829549823122, 52.182370713909251 ], [ -132.180428426778576, 52.639707139692405 ], [ -132.549992432313871, 53.100014960332231 ], [ -133.054611178755522, 53.411468817755292 ], [ -133.239664482792705, 53.851080227262315 ], [ -133.180004041711811, 54.169975490935315 ], [ -132.710007884431207, 54.040009315423447 ] ] ] } },
|
||||
{ "type": "Feature", "properties": { "featurecla": "Country", "scalerank": 1 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 143.648007440362818, 50.747600409541604 ], [ 144.654147577085695, 48.976390692737482 ], [ 143.173927850517288, 49.306551418650372 ], [ 142.558668247650104, 47.861575018905 ], [ 143.533492466404113, 46.836728013692493 ], [ 143.505277134372619, 46.137907619809482 ], [ 142.747700636973917, 46.740764878926456 ], [ 142.092030064054569, 45.966755276058791 ], [ 141.906925083585037, 46.805928860046549 ], [ 142.018442824470952, 47.780132961612935 ], [ 141.904444614835057, 48.85918854429957 ], [ 142.135800002205741, 49.615163072297349 ], [ 142.179983351815309, 50.952342434281917 ], [ 141.594075962490052, 51.935434882202543 ], [ 141.68254601457366, 53.301966457728867 ], [ 142.606934035410831, 53.762145087287905 ], [ 142.209748976815462, 54.225475979216952 ], [ 142.65478641171299, 54.365880845753878 ], [ 142.91461551327663, 53.704577541714826 ], [ 143.260847609632123, 52.740760403039133 ], [ 143.235267775647657, 51.756660264688747 ], [ 143.648007440362818, 50.747600409541604 ] ] ] } },
|
||||
{ "type": "Feature", "properties": { "featurecla": "Country", "scalerank": 1 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ -6.788856573910806, 52.260117906292436 ], [ -8.561616583683502, 51.669301255899398 ], [ -9.97708574059024, 51.820454820353035 ], [ -9.166282517930767, 52.864628811242653 ], [ -9.688524542672383, 53.881362616585363 ], [ -8.327987433291923, 54.664518947968588 ], [ -7.572167934590993, 55.131622219454982 ], [ -6.73384701173606, 55.172860012423797 ], [ -5.661948614921926, 54.554603176483766 ], [ -6.197884894220977, 53.867565009163343 ], [ -6.032985398777498, 53.153164170944308 ], [ -6.788856573910806, 52.260117906292436 ] ] ] } },
|
||||
{ "type": "Feature", "properties": { "featurecla": "Country", "scalerank": 1 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 12.690006137755631, 55.609990953180869 ], [ 12.089991082414713, 54.800014553438018 ], [ 11.043543328504313, 55.364863796604169 ], [ 10.903913608451688, 55.779954738988835 ], [ 12.370904168353377, 56.111407375708922 ], [ 12.690006137755631, 55.609990953180869 ] ] ] } },
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
name: proj
|
||||
channels:
|
||||
- conda-forge
|
||||
dependencies:
|
||||
- descartes
|
||||
- geojson
|
||||
- matplotlib
|
||||
- shapely < 1.8
|
||||
@@ -239,6 +239,27 @@ def resample_polygon(polygon):
|
||||
return Polygon(ext, rings)
|
||||
|
||||
|
||||
def plot_with_interruptions(axes, x, y, delta_cut=1e100, **kwargs):
|
||||
"""
|
||||
Plot x/y with proper splitting for interrupted projections.
|
||||
"""
|
||||
_x = np.atleast_1d(x)
|
||||
_y = np.atleast_1d(y)
|
||||
|
||||
dx = np.nan_to_num(_x[1: ]) - np.nan_to_num(_x[0: -1])
|
||||
dy = np.nan_to_num(_y[1: ]) - np.nan_to_num(_y[0: -1])
|
||||
split, = ((np.abs(dx) > delta_cut) | (np.abs(dy) > delta_cut)).nonzero()
|
||||
split = np.append(split, _x.size - 1)
|
||||
split += 1
|
||||
|
||||
last_part = 0
|
||||
for part in split:
|
||||
axes.plot(x[last_part: part],
|
||||
y[last_part: part],
|
||||
**kwargs)
|
||||
last_part = part
|
||||
|
||||
|
||||
def plotproj(plotdef, data, outdir):
|
||||
'''
|
||||
Plot map.
|
||||
@@ -275,7 +296,8 @@ def plotproj(plotdef, data, outdir):
|
||||
pass
|
||||
else:
|
||||
x, y = proj_geom.xy
|
||||
axes.plot(x, y, color=COLOR_COAST, linewidth=0.5)
|
||||
plot_with_interruptions(axes, x, y, color=COLOR_COAST, linewidth=0.5,
|
||||
delta_cut=plotdef.get('delta_cut', 1e100))
|
||||
|
||||
# Plot frame
|
||||
frame = [
|
||||
@@ -286,7 +308,8 @@ def plotproj(plotdef, data, outdir):
|
||||
line = project(line, plotdef['projstring'])
|
||||
x = line[:, 0]
|
||||
y = line[:, 1]
|
||||
axes.plot(x, y, '-k')
|
||||
plot_with_interruptions(axes, x, y, color='black', linestyle='-',
|
||||
delta_cut=plotdef.get('delta_cut', 1e6))
|
||||
|
||||
graticule = build_graticule(
|
||||
plotdef['lonmin'],
|
||||
@@ -300,7 +323,28 @@ def plotproj(plotdef, data, outdir):
|
||||
feature = project(feature, plotdef['projstring'])
|
||||
x = feature[:, 0]
|
||||
y = feature[:, 1]
|
||||
axes.plot(x, y, color=COLOR_GRAT, linewidth=0.4)
|
||||
plot_with_interruptions(axes, x, y, color=COLOR_GRAT, linewidth=0.4,
|
||||
delta_cut=plotdef.get('delta_cut', 1e6))
|
||||
|
||||
# Plot interrupted boundaries if necessary
|
||||
interrupted_lines = []
|
||||
if 'top_interrupted_lons' in plotdef:
|
||||
for lon in plotdef['top_interrupted_lons']:
|
||||
for delta in [-0.0001, 0.0001]:
|
||||
merid = meridian(lon + delta, 0.0, plotdef['latmax'])
|
||||
interrupted_lines.append(project(merid, plotdef['projstring']))
|
||||
|
||||
if 'bottom_interrupted_lons' in plotdef:
|
||||
for lon in plotdef['bottom_interrupted_lons']:
|
||||
for delta in [-0.0001, 0.0001]:
|
||||
merid = meridian(lon + delta, plotdef['latmin'], 0)
|
||||
interrupted_lines.append(project(merid, plotdef['projstring']))
|
||||
|
||||
for line in interrupted_lines:
|
||||
x = line[:, 0]
|
||||
y = line[:, 1]
|
||||
plot_with_interruptions(axes, x, y, color=COLOR_GRAT, linewidth=0.4,
|
||||
delta_cut=plotdef.get('delta_cut', 1e100))
|
||||
|
||||
# Switch off the axis lines...
|
||||
plt.axis('off')
|
||||
|
||||
@@ -145,7 +145,8 @@
|
||||
"name": "bipc",
|
||||
"projstring": "+proj=bipc +ns",
|
||||
"res": "low",
|
||||
"type": "line"
|
||||
"type": "line",
|
||||
"delta_cut": 1e6
|
||||
},
|
||||
{
|
||||
"filename": "boggs.png",
|
||||
@@ -552,7 +553,10 @@
|
||||
"name": "igh",
|
||||
"projstring": "+proj=igh",
|
||||
"res": "low",
|
||||
"type": "line"
|
||||
"type": "line",
|
||||
"top_interrupted_lons": [-40.0],
|
||||
"bottom_interrupted_lons": [80.0, -20.0, -100.0],
|
||||
"delta_cut": 7e5
|
||||
},
|
||||
{
|
||||
"filename": "igh_o.png",
|
||||
@@ -563,7 +567,10 @@
|
||||
"name": "igh_o",
|
||||
"projstring": "+proj=igh_o +lon_0=-160",
|
||||
"res": "low",
|
||||
"type": "line"
|
||||
"type": "line",
|
||||
"top_interrupted_lons": [110.0, 20.0, -100.0],
|
||||
"bottom_interrupted_lons": [-70.0, 20.0, 140.0],
|
||||
"delta_cut": 7e5
|
||||
},
|
||||
{
|
||||
"filename": "imw_p.png",
|
||||
@@ -585,7 +592,8 @@
|
||||
"name": "isea",
|
||||
"projstring": "+proj=isea",
|
||||
"res": "low",
|
||||
"type": "line"
|
||||
"type": "line",
|
||||
"delta_cut": 1e6
|
||||
},
|
||||
{
|
||||
"filename": "kav5.png",
|
||||
@@ -740,7 +748,8 @@
|
||||
"name": "lsat",
|
||||
"projstring": "+proj=lsat +ellps=GRS80 +lat_1=-60 +lat_2=60 +lsat=2 +path=2",
|
||||
"res": "low",
|
||||
"type": "line"
|
||||
"type": "line",
|
||||
"delta_cut": 1e6
|
||||
},
|
||||
{
|
||||
"filename": "mbt_s.png",
|
||||
@@ -839,7 +848,8 @@
|
||||
"name": "misrsom",
|
||||
"projstring": "+proj=misrsom +path=1",
|
||||
"res": "low",
|
||||
"type": "line"
|
||||
"type": "line",
|
||||
"delta_cut": 1e7
|
||||
},
|
||||
{
|
||||
"filename": "moll.png",
|
||||
@@ -969,7 +979,7 @@
|
||||
"lonmax": 180,
|
||||
"lonmin": -180,
|
||||
"name": "ob_tran",
|
||||
"projstring": "+proj=ob_tran +o_proj=mill +o_lon_p=40 +o_lat_p=50 +lon_0=60",
|
||||
"projstring": "+proj=ob_tran +o_proj=moll +o_lon_p=40 +o_lat_p=50 +lon_0=60",
|
||||
"res": "low",
|
||||
"type": "poly"
|
||||
},
|
||||
@@ -1004,7 +1014,8 @@
|
||||
"name": "omerc",
|
||||
"projstring": "+proj=omerc +lat_1=45 +lat_2=55",
|
||||
"res": "low",
|
||||
"type": "line"
|
||||
"type": "line",
|
||||
"delta_cut": 1e6
|
||||
},
|
||||
{
|
||||
"filename": "ortel.png",
|
||||
@@ -1081,7 +1092,8 @@
|
||||
"name": "peirce_q_horizontal",
|
||||
"projstring": "+proj=peirce_q +lon_0=25 +shape=horizontal",
|
||||
"res": "low",
|
||||
"type": "line"
|
||||
"type": "line",
|
||||
"delta_cut": 1e6
|
||||
},
|
||||
{
|
||||
"filename": "grieger_triptychial.png",
|
||||
@@ -1312,7 +1324,8 @@
|
||||
"name": "gstmerc",
|
||||
"projstring": "+proj=gstmerc",
|
||||
"res": "low",
|
||||
"type": "line"
|
||||
"type": "line",
|
||||
"delta_cut": 1e7
|
||||
},
|
||||
{
|
||||
"filename": "tcc.png",
|
||||
@@ -1334,7 +1347,8 @@
|
||||
"name": "tcea",
|
||||
"projstring": "+proj=tcea",
|
||||
"res": "low",
|
||||
"type": "line"
|
||||
"type": "line",
|
||||
"delta_cut": 1e6
|
||||
},
|
||||
{
|
||||
"filename": "times.png",
|
||||
@@ -1444,7 +1458,8 @@
|
||||
"name": "utm",
|
||||
"projstring": "+proj=utm",
|
||||
"res": "low",
|
||||
"type": "line"
|
||||
"type": "line",
|
||||
"delta_cut": 1e6
|
||||
},
|
||||
{
|
||||
"filename": "vandg.png",
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
export PATH="$HOME/.local/bin:$PATH"
|
||||
export PROJ_LIB="$HOME/.local/share/proj"
|
||||
|
||||
cd docs/plot
|
||||
python plot.py plotdefs.json images
|
||||
cd ../..
|
||||
|
||||
mkdir -p docs/source/operations/projections/images/
|
||||
cp -r docs/plot/images/* docs/source/operations/projections/images/
|
||||
@@ -0,0 +1,16 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
# https://github.com/readthedocs/readthedocs.org/pull/9888
|
||||
READTHEDOCS_OUTPUT="_readthedocs"
|
||||
find ${READTHEDOCS_OUTPUT} -type d
|
||||
READTHEDOCS_OUTPUT_HTML="${READTHEDOCS_OUTPUT}/html"
|
||||
|
||||
# Undoes the hack done in scripts/doxygen.sh
|
||||
sed "s/io::Convention_/io::Convention/g" < ${READTHEDOCS_OUTPUT_HTML}/development/reference/cpp/io.html | sed "s/>Convention_/>Convention/g" | sed "s/_WKT2/WKT2/g" | sed "s/_WKT1/WKT1/g" > ${READTHEDOCS_OUTPUT_HTML}/development/reference/cpp/io.html.tmp
|
||||
mv ${READTHEDOCS_OUTPUT_HTML}/development/reference/cpp/io.html.tmp ${READTHEDOCS_OUTPUT_HTML}/development/reference/cpp/io.html
|
||||
|
||||
# Copy JSON schemas for public consumption
|
||||
READTHEDOCS_OUTPUT_SCHEMAS="${READTHEDOCS_OUTPUT_HTML}/schemas"
|
||||
cp -r schemas ${READTHEDOCS_OUTPUT_SCHEMAS}
|
||||
cp ./data/triangulation.schema.json ${READTHEDOCS_OUTPUT_SCHEMAS}
|
||||
@@ -0,0 +1,9 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
mkdir build
|
||||
cd build
|
||||
|
||||
cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTING=OFF -DCMAKE_INSTALL_PREFIX=$HOME/.local ..
|
||||
|
||||
ninja install
|
||||
@@ -14,7 +14,6 @@
|
||||
|
||||
import sys
|
||||
import os
|
||||
import datetime
|
||||
|
||||
# If extensions (or modules to document with autodoc) are in another directory,
|
||||
# add these directories to sys.path here. If the directory is relative to the
|
||||
@@ -70,29 +69,25 @@ project = 'PROJ'
|
||||
# See CITATION file
|
||||
title = 'PROJ coordinate transformation software library'
|
||||
author = 'PROJ contributors'
|
||||
|
||||
now = datetime.datetime.now()
|
||||
copyright = u'1983-{0}'.format(now.year)
|
||||
copyright = u'1983-2022'
|
||||
|
||||
# The version info for the project you're documenting, acts as replacement for
|
||||
# |version| and |release|, also used in various other places throughout the
|
||||
# built documents.
|
||||
version = '9.0.0'
|
||||
data_version = '1.9'
|
||||
|
||||
# use same |release| as |version|
|
||||
release = version
|
||||
version = '9.0'
|
||||
release = '9.0.1'
|
||||
data_version = '1.10'
|
||||
|
||||
# The language for content autogenerated by Sphinx. Refer to documentation
|
||||
# for a list of supported languages.
|
||||
#
|
||||
# This is also used if you do content translation via gettext catalogs.
|
||||
# Usually you set "language" from the command line for these cases.
|
||||
language = None
|
||||
# language = 'en'
|
||||
|
||||
# There are two options for replacing |today|: either, you set today to some
|
||||
# non-false value, then it is used:
|
||||
#today = ''
|
||||
today = 'June 2022'
|
||||
# Else, today_fmt is used as the format for a strftime call.
|
||||
#today_fmt = '%B %d, %Y'
|
||||
|
||||
@@ -206,7 +201,7 @@ html_context = {
|
||||
'github_user': 'OSGeo',
|
||||
'github_repo': 'PROJ',
|
||||
# TODO: edit when switching active branch
|
||||
'github_version': '8.2/docs/source/',
|
||||
'github_version': '9.0/docs/source/',
|
||||
}
|
||||
|
||||
# Add any extra paths that contain custom files (such as robots.txt or
|
||||
@@ -279,6 +274,8 @@ preamble = r"""
|
||||
\ifdefined\DeclareUnicodeCharacter
|
||||
\DeclareUnicodeCharacter{2032}{$'$}% prime
|
||||
\fi
|
||||
|
||||
\usepackage[notbib]{tocbibind}
|
||||
"""
|
||||
|
||||
latex_elements = {
|
||||
@@ -290,7 +287,8 @@ latex_elements = {
|
||||
|
||||
# Additional stuff for the LaTeX preamble.
|
||||
'preamble': preamble,
|
||||
'inputenc':'\\usepackage[utf8]{inputenc}'
|
||||
'inputenc': r'\usepackage[utf8]{inputenc}',
|
||||
'makeindex': r'\usepackage[columns=1]{idxlayout}\makeindex',
|
||||
|
||||
# Latex figure (float) alignment
|
||||
#'figure_align': 'htbp',
|
||||
|
||||
@@ -30,7 +30,7 @@ Go bindings and idiomatic wrapper for PROJ
|
||||
|
||||
Julia
|
||||
=====
|
||||
`Proj4.jl <https://github.com/JuliaGeo/Proj4.jl>`_:
|
||||
`Proj.jl <https://github.com/JuliaGeo/Proj.jl>`_:
|
||||
Julia bindings and idiomatic wrapper for PROJ.
|
||||
|
||||
TCL
|
||||
|
||||
@@ -5,23 +5,18 @@ Using PROJ in CMake projects
|
||||
********************************************************************************
|
||||
|
||||
The recommended way to use the PROJ library in a CMake project is to
|
||||
link to the imported library target ``${PROJ_LIBRARIES}`` provided by
|
||||
link to the imported library target ``PROJ::proj`` provided by
|
||||
the CMake configuration which comes with the library. Typical usage is:
|
||||
|
||||
.. code::
|
||||
|
||||
find_package(PROJ)
|
||||
find_package(PROJ CONFIG REQUIRED)
|
||||
|
||||
target_link_libraries(MyApp PRIVATE ${PROJ_LIBRARIES})
|
||||
target_link_libraries(MyApp PRIVATE PROJ::proj)
|
||||
|
||||
By adding the imported library target ``${PROJ_LIBRARIES}`` to the
|
||||
By adding the imported library target ``PROJ::proj`` to the
|
||||
target link libraries, CMake will also pass the include directories to
|
||||
the compiler. This requires that you use CMake version 2.8.11 or later.
|
||||
If you are using an older version of CMake, then add
|
||||
|
||||
.. code::
|
||||
|
||||
include_directories(${PROJ_INCLUDE_DIRS})
|
||||
the compiler.
|
||||
|
||||
The CMake command ``find_package`` will look for the configuration in a
|
||||
number of places. The lookup can be adjusted for all packages by setting
|
||||
|
||||
@@ -880,9 +880,15 @@ Setting custom I/O functions
|
||||
.. doxygenfunction:: proj_context_set_sqlite3_vfs_name
|
||||
:project: doxygen_api
|
||||
|
||||
.. doxygenfunction:: proj_context_set_file_finder
|
||||
:project: doxygen_api
|
||||
|
||||
.. doxygenfunction:: proj_context_set_search_paths
|
||||
:project: doxygen_api
|
||||
|
||||
.. doxygenfunction:: proj_context_set_ca_bundle_path
|
||||
:project: doxygen_api
|
||||
|
||||
|
||||
Network related functionality
|
||||
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
@@ -13,9 +13,8 @@ distribution of the source code and various resource file archives. See
|
||||
Current Release
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
* **2022-03-01** `proj-9.0.0.tar.gz`_ (`md5`_)
|
||||
* **2022-03-01** `proj-data-1.9.tar.gz`_
|
||||
* **PDF Manual** `proj.pdf`_
|
||||
* **2022-06-15** `proj-9.0.1.tar.gz`_ (`md5`_)
|
||||
* **2022-06-15** `proj-data-1.10.tar.gz`_
|
||||
|
||||
.. note::
|
||||
|
||||
@@ -28,6 +27,7 @@ Current Release
|
||||
Past Releases
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
* **2022-03-01** `proj-9.0.0.tar.gz`_
|
||||
* **2022-01-01** `proj-8.2.1.tar.gz`_
|
||||
* **2021-11-01** `proj-8.2.0.tar.gz`_
|
||||
* **2021-09-01** `proj-8.1.1.tar.gz`_
|
||||
@@ -56,6 +56,7 @@ Past Releases
|
||||
* **2015-09-13** `proj-4.9.2.tar.gz`_
|
||||
* **2015-03-04** `proj-4.9.1.tar.gz`_
|
||||
|
||||
* **2022-03-01** `proj-data-1.9.tar.gz`_
|
||||
* **2021-11-01** `proj-data-1.8.tar.gz`_
|
||||
* **2021-07-01** `proj-data-1.7.tar.gz`_
|
||||
* **2021-05-05** `proj-data-1.6.tar.gz`_
|
||||
@@ -86,8 +87,9 @@ Past Releases
|
||||
* **2018-03-01** `proj-datumgrid-oceania-1.1.zip`_
|
||||
* **2018-03-01** `proj-datumgrid-oceania-1.0.zip`_
|
||||
|
||||
.. _`proj-9.0.1.tar.gz`: https://download.osgeo.org/proj/proj-9.0.1.tar.gz
|
||||
.. _`md5`: https://download.osgeo.org/proj/proj-9.0.1.tar.gz.md5
|
||||
.. _`proj-9.0.0.tar.gz`: https://download.osgeo.org/proj/proj-9.0.0.tar.gz
|
||||
.. _`md5`: https://download.osgeo.org/proj/proj-9.0.0.tar.gz.md5
|
||||
.. _`proj-8.2.1.tar.gz`: https://download.osgeo.org/proj/proj-8.2.1.tar.gz
|
||||
.. _`proj-8.2.0.tar.gz`: https://download.osgeo.org/proj/proj-8.2.0.tar.gz
|
||||
.. _`proj-8.2.0.tar.gz`: https://download.osgeo.org/proj/proj-8.2.0.tar.gz
|
||||
@@ -117,6 +119,7 @@ Past Releases
|
||||
.. _`proj-4.9.2.tar.gz`: https://download.osgeo.org/proj/proj-4.9.2.tar.gz
|
||||
.. _`proj-4.9.3.tar.gz`: https://download.osgeo.org/proj/proj-4.9.3.tar.gz
|
||||
|
||||
.. _`proj-data-1.10.tar.gz`: https://download.osgeo.org/proj/proj-data-1.10.tar.gz
|
||||
.. _`proj-data-1.9.tar.gz`: https://download.osgeo.org/proj/proj-data-1.9.tar.gz
|
||||
.. _`proj-data-1.8.tar.gz`: https://download.osgeo.org/proj/proj-data-1.8.tar.gz
|
||||
.. _`proj-data-1.7.tar.gz`: https://download.osgeo.org/proj/proj-data-1.7.tar.gz
|
||||
@@ -147,4 +150,3 @@ Past Releases
|
||||
.. _`proj-datumgrid-oceania-1.1.zip`: https://download.osgeo.org/proj/proj-datumgrid-oceania-1.1.zip
|
||||
.. _`proj-datumgrid-oceania-1.2.zip`: https://download.osgeo.org/proj/proj-datumgrid-oceania-1.2.zip
|
||||
.. _`proj-datumgrid-world-1.0.zip`: https://download.osgeo.org/proj/proj-datumgrid-world-1.0.zip
|
||||
.. _`proj.pdf`: https://raw.githubusercontent.com/OSGeo/PROJ/gh-pages/proj.pdf
|
||||
|
||||
@@ -30,8 +30,3 @@ PROJ
|
||||
You can download the source code for PROJ on the :ref:`download section<download>`
|
||||
and find links to prepackaged executables in the
|
||||
:ref:`installation section<install>`.
|
||||
|
||||
In addition to this website the PROJ documentation is also available in `PDF`_
|
||||
form.
|
||||
|
||||
.. _`PDF`: https://raw.githubusercontent.com/OSGeo/proj.4/gh-pages/proj.pdf
|
||||
|
||||
@@ -63,7 +63,7 @@ To install PROJ do the following:
|
||||
already installed. Type "OSGeo4W Shell" in your start menu and check whether
|
||||
that gives a match.
|
||||
|
||||
1. Download either the `32 bit`_ or `64 bit`_ installer.
|
||||
1. Download the `64 bit`_ installer.
|
||||
2. Run the OSGeo4W setup program.
|
||||
3. Select "Advanced Install" and press Next.
|
||||
4. Select "Install from Internet" and press Next.
|
||||
@@ -81,11 +81,10 @@ including proj.
|
||||
For those who are more inclined to the command line, steps 2--10 above can be
|
||||
accomplished by executing the following command::
|
||||
|
||||
C:\temp\osgeo4w-setup-x86-64.exe -q -k -r -A -s https://download.osgeo.org/osgeo4w/ -a x86_64 -P proj
|
||||
C:\temp\osgeo4w-setup.exe -q -k -r -A -s https://download.osgeo.org/osgeo4w/v2/ -P proj
|
||||
|
||||
.. _`OSGeo4W`: https://trac.osgeo.org/osgeo4w/
|
||||
.. _`32 bit`: https://download.osgeo.org/osgeo4w/osgeo4w-setup-x86.exe
|
||||
.. _`64 bit`: https://download.osgeo.org/osgeo4w/osgeo4w-setup-x86_64.exe
|
||||
.. _`64 bit`: https://download.osgeo.org/osgeo4w/osgeo4w-setup.exe
|
||||
|
||||
Linux
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
@@ -3,6 +3,73 @@
|
||||
News
|
||||
###############################################################################
|
||||
|
||||
9.0.1 Release Notes
|
||||
+++++++++++++++++++
|
||||
*June 15th 2022*
|
||||
|
||||
Database updates
|
||||
-----------------
|
||||
|
||||
* Update to EPSG 10.064 (`#3208 <https://github.com/OSGeo/PROJ/issues/3208>`_)
|
||||
|
||||
* Add OGC:CRS84h (WGS 84 longitude-latitude-height) (`#3155 <https://github.com/OSGeo/PROJ/issues/3155>`_)
|
||||
|
||||
Bug fixes
|
||||
---------
|
||||
|
||||
* Use :envvar:`CMAKE_INSTALL_MANDIR` to override default (`#3081 <https://github.com/OSGeo/PROJ/issues/3081>`_)
|
||||
|
||||
* Increase ``MAX_ITER`` so Mollweide forward projection works near the poles (`#3082 <https://github.com/OSGeo/PROJ/issues/3082>`_)
|
||||
|
||||
* Fix wrong results with SQLite 3.38.0 (`#3091 <https://github.com/OSGeo/PROJ/issues/3091>`_)
|
||||
|
||||
* Fix issue when transforming from/to BoundCRS of 3D CRS with non-Greenwich
|
||||
prime meridian, created from WKT (`#3098 <https://github.com/OSGeo/PROJ/issues/3098>`_)
|
||||
|
||||
* Fix issues with WKT of concatenated operations (`#3105 <https://github.com/OSGeo/PROJ/issues/3105>`_)
|
||||
|
||||
* CMake: fix installation of ``proj.pc`` on Windows (`#3109 <https://github.com/OSGeo/PROJ/issues/3109>`_)
|
||||
|
||||
* :cpp:func:`createOperations`: fix issue in transformation northing, easting
|
||||
projected CRS -> +proj=longlat +lon_wrap (`#3110 <https://github.com/OSGeo/PROJ/issues/3110>`_)
|
||||
|
||||
* ``unitconvert``: round to nearest date when converting to yyyymmdd (`#3111 <https://github.com/OSGeo/PROJ/issues/3111>`_)
|
||||
|
||||
* Fix comparison of GeodeticRefrenceFrame vs DynamicGeodeticReferenceFrame (`#3120 <https://github.com/OSGeo/PROJ/issues/3120>`_)
|
||||
|
||||
* :cpp:func:`createOperations`: fix transformation involving CompoundCRS, ToWGS84
|
||||
and PROJ4_GRIDS (`#3124 <https://github.com/OSGeo/PROJ/issues/3124>`_)
|
||||
|
||||
* Fix datum names when importing from PROJ4 crs strings (affects some
|
||||
transformations using geoidgrids) (`#3129 <https://github.com/OSGeo/PROJ/issues/3129>`_)
|
||||
|
||||
* Deal with ``PARAMETER["EPSG code for Interpolation CRS",crs_code]`` (`#3149 <https://github.com/OSGeo/PROJ/issues/3149>`_)
|
||||
|
||||
* :cpp:func:`createOperations`: fix ``CompoundCRS[BoundCRS[ProjectedCRS],BoundCRS[VerticalCRS]]``
|
||||
to Geog3DCrs (`#3151 <https://github.com/OSGeo/PROJ/issues/3151>`_)
|
||||
|
||||
* ITRF2014: fix ITRF2014:ITRF88,ITRF94 and ITRF96 definitions (`#3159 <https://github.com/OSGeo/PROJ/issues/3159>`_)
|
||||
|
||||
* :cpp:func:`createBoundCRSToWGS84IfPossible()`: improve selection logic to generate +towgs84=
|
||||
taking into account extent (`#3160 <https://github.com/OSGeo/PROJ/issues/3160>`_)
|
||||
|
||||
* :cpp:func:`createOperations`: fix some complex cases involving TOWGS84 and CompoundCRS (`#3163 <https://github.com/OSGeo/PROJ/issues/3163>`_)
|
||||
|
||||
* Fix CMake CURL dependency (`#3185 <https://github.com/OSGeo/PROJ/issues/3185>`_)
|
||||
|
||||
* WKT import: deal with Projected CRS that is a mix of WKT1:GDAL / WKT1:ESRI (`#3189 <https://github.com/OSGeo/PROJ/issues/3189>`_)
|
||||
|
||||
* :cpp:func:`createOperations`: fix/improve result of 'BD72 + Ostend height' to 'WGS84+EGM96 height' (`#3199 <https://github.com/OSGeo/PROJ/issues/3199>`_)
|
||||
|
||||
* :cpp:func:`Identifier::isEquivalentName()`: fix when ending by ' + ' which could indirectly cause
|
||||
an infinite stack call in master (`#3202 <https://github.com/OSGeo/PROJ/issues/3202>`_)
|
||||
|
||||
* WKT import: correctly deal with absence of Latitude_Of_Origin parameter in
|
||||
WKT1 ESRI with Stereographic projection (`#3212 <https://github.com/OSGeo/PROJ/issues/3212>`_)
|
||||
|
||||
* PROJJSON parser: do not error out if a datum ensemble member is unknown in the database (`#3223 <https://github.com/OSGeo/PROJ/issues/3223>`_)
|
||||
|
||||
|
||||
9.0.0 Release Notes
|
||||
+++++++++++++++++++
|
||||
*March 1st 2022*
|
||||
@@ -51,14 +118,14 @@ Bug fixes
|
||||
|
||||
* CMake: fix warning with external googletest (`#2980 <https://github.com/OSGeo/PROJ/issues/2980>`_)
|
||||
|
||||
* :c:func:`proj_get_crs_info_list_from_database()``: report ``PJ_TYPE_GEODETIC_CRS`` for
|
||||
* :c:func:`proj_get_crs_info_list_from_database()`: report ``PJ_TYPE_GEODETIC_CRS`` for
|
||||
IAU_2015 -ocentric geodetic CRS (`#3013 <https://github.com/OSGeo/PROJ/issues/3013>`_)
|
||||
|
||||
* peirce_q: rename ``+type`` parameter wrongly introduced in 8.2.1 to ``+shape`` (`#3014 <https://github.com/OSGeo/PROJ/issues/3014>`_)
|
||||
|
||||
* Set more precise error code for parsing errors in :c:func:`proj_create()`` (`#3037 <https://github.com/OSGeo/PROJ/issues/3037>`_)
|
||||
* Set more precise error code for parsing errors in :c:func:`proj_create()` (`#3037 <https://github.com/OSGeo/PROJ/issues/3037>`_)
|
||||
|
||||
* :cpp:func:``createOperations()``: fix transformations from/to a BoundCRS of a
|
||||
* :cpp:func:`createOperations`: fix transformations from/to a BoundCRS of a
|
||||
DerivedGeographicCRS coming from WKT (`#3046 <https://github.com/OSGeo/PROJ/issues/3046>`_)
|
||||
|
||||
* Better deal with importing strings like ``+init=epsg:XXXX +over`` (`#3055 <https://github.com/OSGeo/PROJ/issues/3055>`_)
|
||||
@@ -86,7 +153,7 @@ Bug fixes
|
||||
|
||||
* Ensure CApi test are cross-platform (`#2934 <https://github.com/OSGeo/PROJ/issues/2934>`_)
|
||||
|
||||
* :cpp:func:`createOperations()`: do not stop at the first operation in the PROJ namespace for vertical transformations (`#2937 <https://github.com/OSGeo/PROJ/issues/2937>`_)
|
||||
* :cpp:func:`createOperations`: do not stop at the first operation in the PROJ namespace for vertical transformations (`#2937 <https://github.com/OSGeo/PROJ/issues/2937>`_)
|
||||
|
||||
* :cpp:func:`createOperationsCompoundToCompound()`: fix null pointer dereference when connection to ``proj.db`` doesn't exist. (`#2938 <https://github.com/OSGeo/PROJ/issues/2938>`_)
|
||||
|
||||
@@ -94,7 +161,7 @@ Bug fixes
|
||||
|
||||
* Cache result of :c:func:`proj_get_type()` to help for performance of :c:func:`proj_factors()` (`#2967 <https://github.com/OSGeo/PROJ/issues/2967>`_)
|
||||
|
||||
* :cpp:func:`createOperations()`: improvement for "NAD83(CSRS) + CGVD28 height" to "NAD83(CSRS) + CGVD2013(CGG2013) height" (`#2977 <https://github.com/OSGeo/PROJ/issues/2977>`_)
|
||||
* :cpp:func:`createOperations`: improvement for "NAD83(CSRS) + CGVD28 height" to "NAD83(CSRS) + CGVD2013(CGG2013) height" (`#2977 <https://github.com/OSGeo/PROJ/issues/2977>`_)
|
||||
|
||||
* WKT1 import: correctly deal with missing rectified_grid_angle parameter (`#2986 <https://github.com/OSGeo/PROJ/issues/2986>`_)
|
||||
|
||||
@@ -259,7 +326,7 @@ Bug Fixes
|
||||
|
||||
* Make sure that :c:func:`proj_crs_promote_to_3D` returns a derived CRS (`#2806 <https://github.com/OSGeo/PROJ/issues/2806>`_)
|
||||
|
||||
* :cpp:func:`createOperations()`: fix missing deg<-->rad conversion when transforming with a
|
||||
* :cpp:func:`createOperations`: fix missing deg<-->rad conversion when transforming with a
|
||||
CRS that has a fallback-to-PROJ4-string behaviour and is a BoundCRS of a
|
||||
GeographicCRS (`#2808 <https://github.com/OSGeo/PROJ/issues/2808>`_)
|
||||
|
||||
@@ -380,7 +447,7 @@ Bug fixes
|
||||
|
||||
* fix wrong capitalization of CHENyx06_ETRS.gsb (`#2597 <https://github.com/OSGeo/PROJ/issues/2597>`_)
|
||||
|
||||
* :cpp:func:`createOperations()`: improve handling of vertical transforms when
|
||||
* :cpp:func:`createOperations`: improve handling of vertical transforms when
|
||||
when compound CRSs are used (`#2592 <https://github.com/OSGeo/PROJ/issues/2592>`_)
|
||||
|
||||
* :cpp:func:`CRS::promoteTo3D()`: propagate the extent from the 2D CRS (`#2589 <https://github.com/OSGeo/PROJ/issues/2589>`_)
|
||||
@@ -471,7 +538,7 @@ Bug fixes
|
||||
* Do not restrict longitude to [-90;90] range in spherical transverse Mercator
|
||||
forward projection (`#2471 <https://github.com/OSGeo/PROJ/issues/2471>`_)
|
||||
|
||||
* :cpp:func:`createOperations()`: fix Compound to Geog3D/Projected3D CRS with non-metre ellipsoidal height (`#2500 <https://github.com/OSGeo/PROJ/issues/2500>`_)
|
||||
* :cpp:func:`createOperations`: fix Compound to Geog3D/Projected3D CRS with non-metre ellipsoidal height (`#2500 <https://github.com/OSGeo/PROJ/issues/2500>`_)
|
||||
|
||||
* Avoid error messages to be emitted log level is set to ``PJ_LOG_NONE`` (`#2527 <https://github.com/OSGeo/PROJ/issues/2527>`_)
|
||||
|
||||
@@ -606,7 +673,7 @@ Bug fixes
|
||||
* Adjust :cpp:func:`createBoundCRSToWGS84IfPossible()` and operation filtering
|
||||
(for POSGAR 2007 to WGS84 issues) (`#2357 <https://github.com/OSGeo/PROJ/issues/2357>`_)
|
||||
|
||||
* :cpp:func:`createOperations()`: several fixes affecting NAD83 -> NAD83(2011) (`#2364 <https://github.com/OSGeo/PROJ/issues/2364>`_)
|
||||
* :cpp:func:`createOperations`: several fixes affecting NAD83 -> NAD83(2011) (`#2364 <https://github.com/OSGeo/PROJ/issues/2364>`_)
|
||||
|
||||
* WKT2:2019 import/export: handle DATUM (at top level object) with PRIMEM
|
||||
|
||||
@@ -764,7 +831,7 @@ Updates
|
||||
Bug fixes
|
||||
---------
|
||||
|
||||
* :cpp:func:`createOperations()`: do not remove ballpark transformation if there are only grid
|
||||
* :cpp:func:`createOperations`: do not remove ballpark transformation if there are only grid
|
||||
based operations, even if they cover the whole area of use (`#2155 <https://github.com/OSGeo/PROJ/issues/2155>`_)
|
||||
|
||||
* :cpp:func:`createFromProjString()`: handle default parameters of '+krovak +type=crs', and
|
||||
|
||||
@@ -158,6 +158,16 @@ Time units
|
||||
|
||||
In the table below all time units supported by PROJ are listed.
|
||||
|
||||
.. note::
|
||||
|
||||
When converting time units from a date-only format (`yyyymmdd`), PROJ
|
||||
assumes a time value of 00:00 midnight. When converting time units
|
||||
to a date-only format, PROJ rounds to the *nearest* date at 00:00
|
||||
midnight. That is, any time values less than 12:00 noon will round to
|
||||
00:00 on the same day. Time values greater than or equal to 12:00 noon
|
||||
will round to 00:00 on the following day.
|
||||
|
||||
|
||||
+--------------+-----------------------------+
|
||||
| Label | Name |
|
||||
+==============+=============================+
|
||||
|
||||
@@ -35,6 +35,8 @@ Parameters
|
||||
|
||||
.. include:: ../options/lon_0.rst
|
||||
|
||||
.. include:: ../options/lat_0.rst
|
||||
|
||||
.. include:: ../options/R.rst
|
||||
|
||||
.. include:: ../options/x_0.rst
|
||||
|
||||
|
Before Width: | Height: | Size: 196 KiB After Width: | Height: | Size: 490 KiB |
|
Before Width: | Height: | Size: 175 KiB After Width: | Height: | Size: 422 KiB |
|
Before Width: | Height: | Size: 589 KiB After Width: | Height: | Size: 566 KiB |
|
Before Width: | Height: | Size: 99 KiB After Width: | Height: | Size: 232 KiB |
|
Before Width: | Height: | Size: 154 KiB After Width: | Height: | Size: 417 KiB |
|
Before Width: | Height: | Size: 374 KiB After Width: | Height: | Size: 416 KiB |
|
Before Width: | Height: | Size: 203 KiB After Width: | Height: | Size: 518 KiB |
|
Before Width: | Height: | Size: 215 KiB After Width: | Height: | Size: 536 KiB |
|
Before Width: | Height: | Size: 234 KiB After Width: | Height: | Size: 538 KiB |
|
Before Width: | Height: | Size: 247 KiB After Width: | Height: | Size: 570 KiB |
|
Before Width: | Height: | Size: 156 KiB After Width: | Height: | Size: 333 KiB |
|
Before Width: | Height: | Size: 555 KiB After Width: | Height: | Size: 560 KiB |
|
Before Width: | Height: | Size: 146 KiB After Width: | Height: | Size: 314 KiB |
|
Before Width: | Height: | Size: 241 KiB After Width: | Height: | Size: 523 KiB |
@@ -26,7 +26,7 @@ General Oblique Transformation
|
||||
:align: center
|
||||
:alt: General Oblique Transformation
|
||||
|
||||
proj-string: ``+proj=ob_tran +o_proj=mill +o_lon_p=40 +o_lat_p=50 +lon_0=60``
|
||||
proj-string: ``+proj=ob_tran +o_proj=moll +o_lon_p=40 +o_lat_p=50 +lon_0=60``
|
||||
|
||||
Usage
|
||||
################################################################################
|
||||
|
||||
@@ -7,7 +7,7 @@ Winkel Tripel
|
||||
+---------------------+----------------------------------------------------------+
|
||||
| **Classification** | Pseudoazimuthal |
|
||||
+---------------------+----------------------------------------------------------+
|
||||
| **Available forms** | Forward spherical projection |
|
||||
| **Available forms** | Forward and inverse spherical projection |
|
||||
+---------------------+----------------------------------------------------------+
|
||||
| **Defined area** | Global |
|
||||
+---------------------+----------------------------------------------------------+
|
||||
|
||||
@@ -137,23 +137,23 @@ Spherical earth with radius 7000km:
|
||||
|
||||
::
|
||||
|
||||
proj=laton R=7000000
|
||||
+proj=latlon +R=7000000
|
||||
|
||||
Using the GRS80 ellipsoid:
|
||||
|
||||
::
|
||||
|
||||
proj=laton ellps=GRS80
|
||||
+proj=latlon +ellps=GRS80
|
||||
|
||||
Expressing ellipsoid by semi-major axis and reverse flattening (:math:`1/f`):
|
||||
|
||||
::
|
||||
|
||||
proj=laton a=6378137.0 rf=298.25
|
||||
+proj=latlon +a=6378137.0 +rf=298.25
|
||||
|
||||
Spherical earth based on volume of ellipsoid
|
||||
|
||||
::
|
||||
|
||||
proj=laton a=6378137.0 rf=298.25 +R_V
|
||||
+proj=latlon +a=6378137.0 +rf=298.25 +R_V
|
||||
|
||||
|
||||
@@ -432,6 +432,10 @@ class PROJ_GCC_DLL GeodeticReferenceFrame : public Datum {
|
||||
util::IComparable::Criterion criterion =
|
||||
util::IComparable::Criterion::STRICT,
|
||||
const io::DatabaseContextPtr &dbContext = nullptr) const override;
|
||||
|
||||
PROJ_INTERNAL bool isEquivalentToNoExactTypeCheck(
|
||||
const util::IComparable *other, util::IComparable::Criterion criterion,
|
||||
const io::DatabaseContextPtr &dbContext) const;
|
||||
//! @endcond
|
||||
|
||||
protected:
|
||||
@@ -587,6 +591,10 @@ class PROJ_GCC_DLL VerticalReferenceFrame : public Datum {
|
||||
util::IComparable::Criterion::STRICT,
|
||||
const io::DatabaseContextPtr &dbContext = nullptr) const override;
|
||||
|
||||
PROJ_INTERNAL bool isEquivalentToNoExactTypeCheck(
|
||||
const util::IComparable *other, util::IComparable::Criterion criterion,
|
||||
const io::DatabaseContextPtr &dbContext) const;
|
||||
|
||||
PROJ_INTERNAL void _exportToWKT(io::WKTFormatter *formatter)
|
||||
const override; // throw(io::FormattingException)
|
||||
|
||||
|
||||
@@ -1,8 +1,5 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "CCT" "1" "Mar 1, 2022" "9.0.0" "PROJ"
|
||||
.SH NAME
|
||||
cct \- Coordinate Conversion and Transformation
|
||||
.
|
||||
.nr rst2man-indent-level 0
|
||||
.
|
||||
@@ -30,6 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "CCT" "1" "Jun 15, 2022" "9.0.1" "PROJ"
|
||||
.SH NAME
|
||||
cct \- Coordinate Conversion and Transformation
|
||||
.SH SYNOPSIS
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
|
||||
@@ -1,8 +1,5 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "CS2CS" "1" "Mar 1, 2022" "9.0.0" "PROJ"
|
||||
.SH NAME
|
||||
cs2cs \- Cartographic coordinate system filter
|
||||
.
|
||||
.nr rst2man-indent-level 0
|
||||
.
|
||||
@@ -30,6 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "CS2CS" "1" "Jun 15, 2022" "9.0.1" "PROJ"
|
||||
.SH NAME
|
||||
cs2cs \- Cartographic coordinate system filter
|
||||
.SH SYNOPSIS
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
|
||||
@@ -1,8 +1,5 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "GEOD" "1" "Mar 1, 2022" "9.0.0" "PROJ"
|
||||
.SH NAME
|
||||
geod \- Geodesic computations
|
||||
.
|
||||
.nr rst2man-indent-level 0
|
||||
.
|
||||
@@ -30,6 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "GEOD" "1" "Jun 15, 2022" "9.0.1" "PROJ"
|
||||
.SH NAME
|
||||
geod \- Geodesic computations
|
||||
.SH SYNOPSIS
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
|
||||
@@ -1,8 +1,5 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "GIE" "1" "Mar 1, 2022" "9.0.0" "PROJ"
|
||||
.SH NAME
|
||||
gie \- The Geospatial Integrity Investigation Environment
|
||||
.
|
||||
.nr rst2man-indent-level 0
|
||||
.
|
||||
@@ -30,6 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "GIE" "1" "Jun 15, 2022" "9.0.1" "PROJ"
|
||||
.SH NAME
|
||||
gie \- The Geospatial Integrity Investigation Environment
|
||||
.SH SYNOPSIS
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
|
||||
@@ -1,8 +1,5 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "PROJ" "1" "Mar 1, 2022" "9.0.0" "PROJ"
|
||||
.SH NAME
|
||||
proj \- Cartographic projection filter
|
||||
.
|
||||
.nr rst2man-indent-level 0
|
||||
.
|
||||
@@ -30,6 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "PROJ" "1" "Jun 15, 2022" "9.0.1" "PROJ"
|
||||
.SH NAME
|
||||
proj \- Cartographic projection filter
|
||||
.SH SYNOPSIS
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
|
||||
@@ -1,8 +1,5 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "PROJINFO" "1" "Mar 1, 2022" "9.0.0" "PROJ"
|
||||
.SH NAME
|
||||
projinfo \- Geodetic object and coordinate operation queries
|
||||
.
|
||||
.nr rst2man-indent-level 0
|
||||
.
|
||||
@@ -30,6 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "PROJINFO" "1" "Jun 15, 2022" "9.0.1" "PROJ"
|
||||
.SH NAME
|
||||
projinfo \- Geodetic object and coordinate operation queries
|
||||
.SH SYNOPSIS
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
|
||||
@@ -1,8 +1,5 @@
|
||||
.\" Man page generated from reStructuredText.
|
||||
.
|
||||
.TH "PROJSYNC" "1" "Mar 1, 2022" "9.0.0" "PROJ"
|
||||
.SH NAME
|
||||
projsync \- Downloading tool of resource files
|
||||
.
|
||||
.nr rst2man-indent-level 0
|
||||
.
|
||||
@@ -30,6 +27,9 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
|
||||
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
|
||||
..
|
||||
.TH "PROJSYNC" "1" "Jun 15, 2022" "9.0.1" "PROJ"
|
||||
.SH NAME
|
||||
projsync \- Downloading tool of resource files
|
||||
.SH SYNOPSIS
|
||||
.INDENT 0.0
|
||||
.INDENT 3.5
|
||||
|
||||
@@ -18,6 +18,15 @@ TOPDIR="$SCRIPT_DIR/.."
|
||||
|
||||
pushd "${TOPDIR}" > /dev/null || exit
|
||||
|
||||
doxygen_version_cmd=$(doxygen --version)
|
||||
# remove extra info after space
|
||||
doxygen_version=${doxygen_version_cmd%% *}
|
||||
|
||||
echo "Doxygen version $doxygen_version"
|
||||
if test $doxygen_version = "1.8.17" ; then
|
||||
echo "Doxygen 1.8.17 is incompatible" && /bin/false;
|
||||
fi
|
||||
|
||||
# HTML generation
|
||||
# Check that doxygen runs warning free
|
||||
rm -rf docs/build/html/
|
||||
@@ -29,10 +38,6 @@ else
|
||||
echo "No Doxygen warnings found";
|
||||
fi
|
||||
|
||||
if test $(doxygen --version) = "1.8.17" ; then
|
||||
echo "Doxygen 1.8.17 is incompatible" && /bin/false;
|
||||
fi
|
||||
|
||||
rm -rf docs/build/xml/
|
||||
|
||||
(cat Doxyfile; printf "GENERATE_HTML=NO\nGENERATE_XML=YES\nINPUT= src/iso19111 src/iso19111/operation include/proj src/proj.h src/filemanager.cpp src/networkfilemanager.cpp src/4D_api.cpp src/general_doc.dox") | doxygen - > docs/build/docs_log.txt 2>&1
|
||||
|
||||
@@ -252,21 +252,22 @@ static double yyyymmdd_to_mjd(double yyyymmdd) {
|
||||
/***********************************************************************/
|
||||
static double mjd_to_yyyymmdd(double mjd) {
|
||||
/************************************************************************
|
||||
Date given in YYYY-MM-DD format.
|
||||
Date returned in YYYY-MM-DD format.
|
||||
************************************************************************/
|
||||
double mjd_iter = 14 + 31;
|
||||
int year = 1859, month=0, day=0;
|
||||
unsigned int date_iter = 14 + 31;
|
||||
unsigned int year = 1859, month = 0, day = 0;
|
||||
unsigned int date = (int) lround(mjd);
|
||||
|
||||
for (; mjd >= mjd_iter; year++) {
|
||||
mjd_iter += days_in_year(year);
|
||||
for (; date >= date_iter; year++) {
|
||||
date_iter += days_in_year(year);
|
||||
}
|
||||
year--;
|
||||
mjd_iter -= days_in_year(year);
|
||||
date_iter -= days_in_year(year);
|
||||
|
||||
for (month=1; mjd_iter + days_in_month(year, month) <= mjd; month++)
|
||||
mjd_iter += days_in_month(year, month);
|
||||
for (month=1; date_iter + days_in_month(year, month) <= date; month++)
|
||||
date_iter += days_in_month(year, month);
|
||||
|
||||
day = (int)(mjd - mjd_iter + 1);
|
||||
day = date - date_iter + 1;
|
||||
|
||||
return year*10000.0 + month*100.0 + day;
|
||||
}
|
||||
|
||||
@@ -574,6 +574,8 @@ CRSNNPtr CRS::createBoundCRSToWGS84IfPossible(
|
||||
operation::CoordinateOperationFactory::create()
|
||||
->createOperations(NN_NO_CHECK(geodCRS), hubCRS, ctxt);
|
||||
CRSPtr candidateBoundCRS;
|
||||
int candidateCount = 0;
|
||||
bool candidateHasExactlyMachingExtent = false;
|
||||
for (const auto &op : list) {
|
||||
auto transf =
|
||||
util::nn_dynamic_pointer_cast<operation::Transformation>(
|
||||
@@ -584,13 +586,31 @@ CRSNNPtr CRS::createBoundCRSToWGS84IfPossible(
|
||||
} catch (const std::exception &) {
|
||||
continue;
|
||||
}
|
||||
bool unused = false;
|
||||
auto opExtent =
|
||||
getExtent(NN_NO_CHECK(transf), false, unused);
|
||||
const bool exactlyMatchingExtent =
|
||||
opExtent && extentResolved &&
|
||||
opExtent->contains(NN_NO_CHECK(extentResolved)) &&
|
||||
extentResolved->contains(NN_NO_CHECK(opExtent));
|
||||
if (candidateBoundCRS) {
|
||||
candidateBoundCRS = nullptr;
|
||||
break;
|
||||
if (exactlyMatchingExtent &&
|
||||
!candidateHasExactlyMachingExtent) {
|
||||
candidateBoundCRS = nullptr;
|
||||
} else if (exactlyMatchingExtent ==
|
||||
candidateHasExactlyMachingExtent) {
|
||||
candidateCount++;
|
||||
}
|
||||
}
|
||||
if (candidateBoundCRS == nullptr) {
|
||||
candidateCount = 1;
|
||||
candidateHasExactlyMachingExtent =
|
||||
exactlyMatchingExtent;
|
||||
candidateBoundCRS =
|
||||
BoundCRS::create(thisAsCRS, hubCRS,
|
||||
NN_NO_CHECK(transf))
|
||||
.as_nullable();
|
||||
}
|
||||
candidateBoundCRS =
|
||||
BoundCRS::create(thisAsCRS, hubCRS, NN_NO_CHECK(transf))
|
||||
.as_nullable();
|
||||
} else {
|
||||
auto concatenated =
|
||||
dynamic_cast<const operation::ConcatenatedOperation *>(
|
||||
@@ -621,21 +641,42 @@ CRSNNPtr CRS::createBoundCRSToWGS84IfPossible(
|
||||
} catch (const std::exception &) {
|
||||
continue;
|
||||
}
|
||||
bool unused = false;
|
||||
auto opExtent = getExtent(
|
||||
NN_NO_CHECK(transf), false, unused);
|
||||
const bool exactlyMatchingExtent =
|
||||
opExtent && extentResolved &&
|
||||
opExtent->contains(
|
||||
NN_NO_CHECK(extentResolved)) &&
|
||||
extentResolved->contains(
|
||||
NN_NO_CHECK(opExtent));
|
||||
if (candidateBoundCRS) {
|
||||
candidateBoundCRS = nullptr;
|
||||
break;
|
||||
if (exactlyMatchingExtent &&
|
||||
!candidateHasExactlyMachingExtent) {
|
||||
candidateBoundCRS = nullptr;
|
||||
} else if (
|
||||
exactlyMatchingExtent ==
|
||||
candidateHasExactlyMachingExtent) {
|
||||
candidateCount++;
|
||||
}
|
||||
}
|
||||
if (candidateBoundCRS == nullptr) {
|
||||
candidateCount = 1;
|
||||
candidateHasExactlyMachingExtent =
|
||||
exactlyMatchingExtent;
|
||||
candidateBoundCRS =
|
||||
BoundCRS::create(
|
||||
thisAsCRS, hubCRS,
|
||||
NN_NO_CHECK(transf))
|
||||
.as_nullable();
|
||||
}
|
||||
candidateBoundCRS =
|
||||
BoundCRS::create(thisAsCRS, hubCRS,
|
||||
NN_NO_CHECK(transf))
|
||||
.as_nullable();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (candidateBoundCRS) {
|
||||
if (candidateCount == 1 && candidateBoundCRS) {
|
||||
return NN_NO_CHECK(candidateBoundCRS);
|
||||
}
|
||||
} catch (const std::exception &) {
|
||||
@@ -1460,7 +1501,8 @@ bool SingleCRS::baseIsEquivalentTo(
|
||||
const auto &thisDatum = d->datum;
|
||||
const auto &otherDatum = otherSingleCRS->d->datum;
|
||||
if (thisDatum) {
|
||||
if (!thisDatum->_isEquivalentTo(otherDatum.get(), criterion,
|
||||
if (otherDatum == nullptr ||
|
||||
!thisDatum->_isEquivalentTo(otherDatum.get(), criterion,
|
||||
dbContext)) {
|
||||
return false;
|
||||
}
|
||||
@@ -1473,7 +1515,8 @@ bool SingleCRS::baseIsEquivalentTo(
|
||||
const auto &thisDatumEnsemble = d->datumEnsemble;
|
||||
const auto &otherDatumEnsemble = otherSingleCRS->d->datumEnsemble;
|
||||
if (thisDatumEnsemble) {
|
||||
if (!thisDatumEnsemble->_isEquivalentTo(otherDatumEnsemble.get(),
|
||||
if (otherDatumEnsemble == nullptr ||
|
||||
!thisDatumEnsemble->_isEquivalentTo(otherDatumEnsemble.get(),
|
||||
criterion, dbContext)) {
|
||||
return false;
|
||||
}
|
||||
@@ -4404,7 +4447,8 @@ void ProjectedCRS::addUnitConvertAndAxisSwap(io::PROJStringFormatter *formatter,
|
||||
formatter->addParam("units", "m");
|
||||
}
|
||||
|
||||
if (!axisSpecFound && !formatter->getCRSExport()) {
|
||||
if (!axisSpecFound &&
|
||||
(!formatter->getCRSExport() || formatter->getLegacyCRSToCRSContext())) {
|
||||
const auto &dir0 = axisList[0]->direction();
|
||||
const auto &dir1 = axisList[1]->direction();
|
||||
if (!(&dir0 == &cs::AxisDirection::EAST &&
|
||||
|
||||
@@ -1414,7 +1414,8 @@ void GeodeticReferenceFrame::_exportToJSON(
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
//! @cond Doxygen_Suppress
|
||||
bool GeodeticReferenceFrame::_isEquivalentTo(
|
||||
|
||||
bool GeodeticReferenceFrame::isEquivalentToNoExactTypeCheck(
|
||||
const util::IComparable *other, util::IComparable::Criterion criterion,
|
||||
const io::DatabaseContextPtr &dbContext) const {
|
||||
auto otherGRF = dynamic_cast<const GeodeticReferenceFrame *>(other);
|
||||
@@ -1427,6 +1428,19 @@ bool GeodeticReferenceFrame::_isEquivalentTo(
|
||||
ellipsoid()->_isEquivalentTo(otherGRF->ellipsoid().get(), criterion,
|
||||
dbContext);
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
bool GeodeticReferenceFrame::_isEquivalentTo(
|
||||
const util::IComparable *other, util::IComparable::Criterion criterion,
|
||||
const io::DatabaseContextPtr &dbContext) const {
|
||||
if (criterion == Criterion::STRICT &&
|
||||
!util::isOfExactType<GeodeticReferenceFrame>(*other)) {
|
||||
return false;
|
||||
}
|
||||
return isEquivalentToNoExactTypeCheck(other, criterion, dbContext);
|
||||
}
|
||||
|
||||
//! @endcond
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
@@ -1558,11 +1572,20 @@ DynamicGeodeticReferenceFrame::deformationModelName() const {
|
||||
bool DynamicGeodeticReferenceFrame::_isEquivalentTo(
|
||||
const util::IComparable *other, util::IComparable::Criterion criterion,
|
||||
const io::DatabaseContextPtr &dbContext) const {
|
||||
auto otherDGRF = dynamic_cast<const DynamicGeodeticReferenceFrame *>(other);
|
||||
if (otherDGRF == nullptr ||
|
||||
!GeodeticReferenceFrame::_isEquivalentTo(other, criterion, dbContext)) {
|
||||
if (criterion == Criterion::STRICT &&
|
||||
!util::isOfExactType<DynamicGeodeticReferenceFrame>(*other)) {
|
||||
return false;
|
||||
}
|
||||
if (!GeodeticReferenceFrame::isEquivalentToNoExactTypeCheck(
|
||||
other, criterion, dbContext)) {
|
||||
return false;
|
||||
}
|
||||
auto otherDGRF = dynamic_cast<const DynamicGeodeticReferenceFrame *>(other);
|
||||
if (otherDGRF == nullptr) {
|
||||
// we can go here only if criterion != Criterion::STRICT, and thus
|
||||
// given the above check we can consider the objects equivalent.
|
||||
return true;
|
||||
}
|
||||
return frameReferenceEpoch()._isEquivalentTo(
|
||||
otherDGRF->frameReferenceEpoch(), criterion) &&
|
||||
metadata::Identifier::isEquivalentName(
|
||||
@@ -2101,7 +2124,7 @@ void VerticalReferenceFrame::_exportToJSON(
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
//! @cond Doxygen_Suppress
|
||||
bool VerticalReferenceFrame::_isEquivalentTo(
|
||||
bool VerticalReferenceFrame::isEquivalentToNoExactTypeCheck(
|
||||
const util::IComparable *other, util::IComparable::Criterion criterion,
|
||||
const io::DatabaseContextPtr &dbContext) const {
|
||||
auto otherVRF = dynamic_cast<const VerticalReferenceFrame *>(other);
|
||||
@@ -2121,6 +2144,19 @@ bool VerticalReferenceFrame::_isEquivalentTo(
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
bool VerticalReferenceFrame::_isEquivalentTo(
|
||||
const util::IComparable *other, util::IComparable::Criterion criterion,
|
||||
const io::DatabaseContextPtr &dbContext) const {
|
||||
if (criterion == Criterion::STRICT &&
|
||||
!util::isOfExactType<VerticalReferenceFrame>(*other)) {
|
||||
return false;
|
||||
}
|
||||
return isEquivalentToNoExactTypeCheck(other, criterion, dbContext);
|
||||
}
|
||||
|
||||
//! @endcond
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
@@ -2195,11 +2231,20 @@ DynamicVerticalReferenceFrame::deformationModelName() const {
|
||||
bool DynamicVerticalReferenceFrame::_isEquivalentTo(
|
||||
const util::IComparable *other, util::IComparable::Criterion criterion,
|
||||
const io::DatabaseContextPtr &dbContext) const {
|
||||
auto otherDGRF = dynamic_cast<const DynamicVerticalReferenceFrame *>(other);
|
||||
if (otherDGRF == nullptr ||
|
||||
!VerticalReferenceFrame::_isEquivalentTo(other, criterion, dbContext)) {
|
||||
if (criterion == Criterion::STRICT &&
|
||||
!util::isOfExactType<DynamicVerticalReferenceFrame>(*other)) {
|
||||
return false;
|
||||
}
|
||||
if (!VerticalReferenceFrame::isEquivalentToNoExactTypeCheck(
|
||||
other, criterion, dbContext)) {
|
||||
return false;
|
||||
}
|
||||
auto otherDGRF = dynamic_cast<const DynamicVerticalReferenceFrame *>(other);
|
||||
if (otherDGRF == nullptr) {
|
||||
// we can go here only if criterion != Criterion::STRICT, and thus
|
||||
// given the above check we can consider the objects equivalent.
|
||||
return true;
|
||||
}
|
||||
return frameReferenceEpoch()._isEquivalentTo(
|
||||
otherDGRF->frameReferenceEpoch(), criterion) &&
|
||||
metadata::Identifier::isEquivalentName(
|
||||
|
||||
@@ -252,7 +252,7 @@ class SQLiteHandle {
|
||||
}
|
||||
|
||||
// cppcheck-suppress functionStatic
|
||||
void registerFunctions();
|
||||
void initialize();
|
||||
|
||||
SQLResultSet run(const std::string &sql,
|
||||
const ListOfParams ¶meters = ListOfParams(),
|
||||
@@ -344,7 +344,7 @@ std::shared_ptr<SQLiteHandle> SQLiteHandle::open(PJ_CONTEXT *ctx,
|
||||
#ifdef ENABLE_CUSTOM_LOCKLESS_VFS
|
||||
handle->vfs_ = std::move(vfs);
|
||||
#endif
|
||||
handle->registerFunctions();
|
||||
handle->initialize();
|
||||
handle->checkDatabaseLayout(path, path, std::string());
|
||||
return handle;
|
||||
}
|
||||
@@ -359,7 +359,7 @@ SQLiteHandle::initFromExisting(sqlite3 *sqlite_handle, bool close_handle,
|
||||
new SQLiteHandle(sqlite_handle, close_handle));
|
||||
handle->nLayoutVersionMajor_ = nLayoutVersionMajor;
|
||||
handle->nLayoutVersionMinor_ = nLayoutVersionMinor;
|
||||
handle->registerFunctions();
|
||||
handle->initialize();
|
||||
return handle;
|
||||
}
|
||||
|
||||
@@ -370,7 +370,7 @@ SQLiteHandle::initFromExistingUniquePtr(sqlite3 *sqlite_handle,
|
||||
bool close_handle) {
|
||||
auto handle = std::unique_ptr<SQLiteHandle>(
|
||||
new SQLiteHandle(sqlite_handle, close_handle));
|
||||
handle->registerFunctions();
|
||||
handle->initialize();
|
||||
return handle;
|
||||
}
|
||||
|
||||
@@ -547,7 +547,18 @@ void SQLiteHandle::checkDatabaseLayout(const std::string &mainDbPath,
|
||||
#define SQLITE_DETERMINISTIC 0
|
||||
#endif
|
||||
|
||||
void SQLiteHandle::registerFunctions() {
|
||||
void SQLiteHandle::initialize() {
|
||||
|
||||
// There is a bug in sqlite 3.38.0 with some complex queries.
|
||||
// Cf https://github.com/OSGeo/PROJ/issues/3077
|
||||
// Disabling Bloom-filter pull-down optimization as suggested in
|
||||
// https://sqlite.org/forum/forumpost/7d3a75438c
|
||||
const int sqlite3VersionNumber = sqlite3_libversion_number();
|
||||
if (sqlite3VersionNumber == 3 * 1000000 + 38 * 1000) {
|
||||
sqlite3_test_control(SQLITE_TESTCTRL_OPTIMIZATIONS, sqlite_handle_,
|
||||
0x100000);
|
||||
}
|
||||
|
||||
sqlite3_create_function(sqlite_handle_, "pseudo_area_from_swne", 4,
|
||||
SQLITE_UTF8 | SQLITE_DETERMINISTIC, nullptr,
|
||||
PROJ_SQLITE_pseudo_area_from_swne, nullptr,
|
||||
|
||||
@@ -1233,6 +1233,14 @@ std::string WKTNode::toString() const {
|
||||
|
||||
//! @cond Doxygen_Suppress
|
||||
struct WKTParser::Private {
|
||||
|
||||
struct ci_less_struct {
|
||||
bool operator()(const std::string &lhs,
|
||||
const std::string &rhs) const noexcept {
|
||||
return ci_less(lhs, rhs);
|
||||
}
|
||||
};
|
||||
|
||||
bool strict_ = true;
|
||||
std::list<std::string> warningList_{};
|
||||
std::vector<double> toWGS84Parameters_{};
|
||||
@@ -1356,6 +1364,22 @@ struct WKTParser::Private {
|
||||
const UnitOfMeasure &defaultLinearUnit,
|
||||
const UnitOfMeasure &defaultAngularUnit);
|
||||
|
||||
const ESRIMethodMapping *
|
||||
getESRIMapping(const WKTNodeNNPtr &projCRSNode,
|
||||
const WKTNodeNNPtr &projectionNode,
|
||||
std::map<std::string, std::string, ci_less_struct>
|
||||
&mapParamNameToValue);
|
||||
|
||||
ConversionNNPtr
|
||||
buildProjectionFromESRI(const GeodeticCRSNNPtr &baseGeodCRS,
|
||||
const WKTNodeNNPtr &projCRSNode,
|
||||
const WKTNodeNNPtr &projectionNode,
|
||||
const UnitOfMeasure &defaultLinearUnit,
|
||||
const UnitOfMeasure &defaultAngularUnit,
|
||||
const ESRIMethodMapping *esriMapping,
|
||||
std::map<std::string, std::string, ci_less_struct>
|
||||
&mapParamNameToValue);
|
||||
|
||||
ConversionNNPtr
|
||||
buildProjectionFromESRI(const GeodeticCRSNNPtr &baseGeodCRS,
|
||||
const WKTNodeNNPtr &projCRSNode,
|
||||
@@ -1408,6 +1432,10 @@ struct WKTParser::Private {
|
||||
|
||||
CRSPtr buildCRS(const WKTNodeNNPtr &node);
|
||||
|
||||
CRSPtr dealWithEPSGCodeForInterpolationCRSParameter(
|
||||
std::vector<OperationParameterNNPtr> ¶meters,
|
||||
std::vector<ParameterValueNNPtr> &values);
|
||||
|
||||
TransformationNNPtr buildCoordinateOperation(const WKTNodeNNPtr &node);
|
||||
|
||||
ConcatenatedOperationNNPtr
|
||||
@@ -3261,6 +3289,37 @@ WKTParser::Private::buildConversion(const WKTNodeNNPtr &node,
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
CRSPtr WKTParser::Private::dealWithEPSGCodeForInterpolationCRSParameter(
|
||||
std::vector<OperationParameterNNPtr> ¶meters,
|
||||
std::vector<ParameterValueNNPtr> &values) {
|
||||
// Transform EPSG hacky PARAMETER["EPSG code for Interpolation CRS",
|
||||
// crs_epsg_code] into proper interpolation CRS
|
||||
if (dbContext_ != nullptr) {
|
||||
for (size_t i = 0; i < parameters.size(); ++i) {
|
||||
if (parameters[i]->nameStr() ==
|
||||
EPSG_NAME_PARAMETER_EPSG_CODE_FOR_INTERPOLATION_CRS) {
|
||||
const int code =
|
||||
static_cast<int>(values[i]->value().getSIValue());
|
||||
try {
|
||||
auto authFactory = AuthorityFactory::create(
|
||||
NN_NO_CHECK(dbContext_), Identifier::EPSG);
|
||||
auto interpolationCRS =
|
||||
authFactory
|
||||
->createGeographicCRS(internal::toString(code))
|
||||
.as_nullable();
|
||||
parameters.erase(parameters.begin() + i);
|
||||
values.erase(values.begin() + i);
|
||||
return interpolationCRS;
|
||||
} catch (const util::Exception &) {
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
TransformationNNPtr
|
||||
WKTParser::Private::buildCoordinateOperation(const WKTNodeNNPtr &node) {
|
||||
const auto *nodeP = node->GP();
|
||||
@@ -3305,6 +3364,10 @@ WKTParser::Private::buildCoordinateOperation(const WKTNodeNNPtr &node) {
|
||||
consumeParameters(node, false, parameters, values, defaultLinearUnit,
|
||||
defaultAngularUnit);
|
||||
|
||||
if (interpolationCRS == nullptr)
|
||||
interpolationCRS =
|
||||
dealWithEPSGCodeForInterpolationCRSParameter(parameters, values);
|
||||
|
||||
std::vector<PositionalAccuracyNNPtr> accuracies;
|
||||
auto &accuracyNode = nodeP->lookForChild(WKTConstants::OPERATIONACCURACY);
|
||||
if (/*!isNull(accuracyNode) && */ accuracyNode->GP()->childrenSize() == 1) {
|
||||
@@ -3448,10 +3511,9 @@ selectSphericalOrEllipsoidal(const MethodMapping *mapping,
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
ConversionNNPtr WKTParser::Private::buildProjectionFromESRI(
|
||||
const GeodeticCRSNNPtr &baseGeodCRS, const WKTNodeNNPtr &projCRSNode,
|
||||
const WKTNodeNNPtr &projectionNode, const UnitOfMeasure &defaultLinearUnit,
|
||||
const UnitOfMeasure &defaultAngularUnit) {
|
||||
const ESRIMethodMapping *WKTParser::Private::getESRIMapping(
|
||||
const WKTNodeNNPtr &projCRSNode, const WKTNodeNNPtr &projectionNode,
|
||||
std::map<std::string, std::string, ci_less_struct> &mapParamNameToValue) {
|
||||
const std::string esriProjectionName =
|
||||
stripQuotes(projectionNode->GP()->children()[0]);
|
||||
|
||||
@@ -3460,19 +3522,10 @@ ConversionNNPtr WKTParser::Private::buildProjectionFromESRI(
|
||||
// on the parameters / their values
|
||||
const auto esriMappings = getMappingsFromESRI(esriProjectionName);
|
||||
if (esriMappings.empty()) {
|
||||
return buildProjectionStandard(baseGeodCRS, projCRSNode, projectionNode,
|
||||
defaultLinearUnit, defaultAngularUnit);
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
struct ci_less_struct {
|
||||
bool operator()(const std::string &lhs,
|
||||
const std::string &rhs) const noexcept {
|
||||
return ci_less(lhs, rhs);
|
||||
}
|
||||
};
|
||||
|
||||
// Build a map of present parameters
|
||||
std::map<std::string, std::string, ci_less_struct> mapParamNameToValue;
|
||||
for (const auto &childNode : projCRSNode->GP()->children()) {
|
||||
if (ci_equal(childNode->GP()->value(), WKTConstants::PARAMETER)) {
|
||||
const auto &childNodeChildren = childNode->GP()->children();
|
||||
@@ -3525,11 +3578,18 @@ ConversionNNPtr WKTParser::Private::buildProjectionFromESRI(
|
||||
bestMatchCount = matchCount;
|
||||
}
|
||||
}
|
||||
if (esriMapping == nullptr) {
|
||||
return buildProjectionStandard(baseGeodCRS, projCRSNode, projectionNode,
|
||||
defaultLinearUnit, defaultAngularUnit);
|
||||
}
|
||||
|
||||
return esriMapping;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
ConversionNNPtr WKTParser::Private::buildProjectionFromESRI(
|
||||
const GeodeticCRSNNPtr &baseGeodCRS, const WKTNodeNNPtr &projCRSNode,
|
||||
const WKTNodeNNPtr &projectionNode, const UnitOfMeasure &defaultLinearUnit,
|
||||
const UnitOfMeasure &defaultAngularUnit,
|
||||
const ESRIMethodMapping *esriMapping,
|
||||
std::map<std::string, std::string, ci_less_struct> &mapParamNameToValue) {
|
||||
std::map<std::string, const char *> mapWKT2NameToESRIName;
|
||||
for (const auto *param = esriMapping->params; param->esri_name; ++param) {
|
||||
if (param->wkt2_name) {
|
||||
@@ -3537,6 +3597,8 @@ ConversionNNPtr WKTParser::Private::buildProjectionFromESRI(
|
||||
}
|
||||
}
|
||||
|
||||
const std::string esriProjectionName =
|
||||
stripQuotes(projectionNode->GP()->children()[0]);
|
||||
const char *projectionMethodWkt2Name = esriMapping->wkt2_name;
|
||||
if (ci_equal(esriProjectionName, "Krovak")) {
|
||||
const std::string projCRSName =
|
||||
@@ -3549,8 +3611,10 @@ ConversionNNPtr WKTParser::Private::buildProjectionFromESRI(
|
||||
const auto *wkt2_mapping = getMapping(projectionMethodWkt2Name);
|
||||
if (ci_equal(esriProjectionName, "Stereographic")) {
|
||||
try {
|
||||
if (std::fabs(io::asDouble(
|
||||
mapParamNameToValue["Latitude_Of_Origin"])) == 90.0) {
|
||||
const auto iterLatitudeOfOrigin =
|
||||
mapParamNameToValue.find("Latitude_Of_Origin");
|
||||
if (iterLatitudeOfOrigin != mapParamNameToValue.end() &&
|
||||
std::fabs(io::asDouble(iterLatitudeOfOrigin->second)) == 90.0) {
|
||||
wkt2_mapping =
|
||||
getMapping(EPSG_CODE_METHOD_POLAR_STEREOGRAPHIC_VARIANT_A);
|
||||
}
|
||||
@@ -3648,6 +3712,26 @@ ConversionNNPtr WKTParser::Private::buildProjectionFromESRI(
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
ConversionNNPtr WKTParser::Private::buildProjectionFromESRI(
|
||||
const GeodeticCRSNNPtr &baseGeodCRS, const WKTNodeNNPtr &projCRSNode,
|
||||
const WKTNodeNNPtr &projectionNode, const UnitOfMeasure &defaultLinearUnit,
|
||||
const UnitOfMeasure &defaultAngularUnit) {
|
||||
|
||||
std::map<std::string, std::string, ci_less_struct> mapParamNameToValue;
|
||||
const auto esriMapping =
|
||||
getESRIMapping(projCRSNode, projectionNode, mapParamNameToValue);
|
||||
if (esriMapping == nullptr) {
|
||||
return buildProjectionStandard(baseGeodCRS, projCRSNode, projectionNode,
|
||||
defaultLinearUnit, defaultAngularUnit);
|
||||
}
|
||||
|
||||
return buildProjectionFromESRI(baseGeodCRS, projCRSNode, projectionNode,
|
||||
defaultLinearUnit, defaultAngularUnit,
|
||||
esriMapping, mapParamNameToValue);
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
ConversionNNPtr WKTParser::Private::buildProjection(
|
||||
const GeodeticCRSNNPtr &baseGeodCRS, const WKTNodeNNPtr &projCRSNode,
|
||||
const WKTNodeNNPtr &projectionNode, const UnitOfMeasure &defaultLinearUnit,
|
||||
@@ -3803,6 +3887,20 @@ ConversionNNPtr WKTParser::Private::buildProjectionStandard(
|
||||
std::string projectionName(wkt1ProjectionName);
|
||||
const MethodMapping *mapping =
|
||||
tryToIdentifyWKT1Method ? getMappingFromWKT1(projectionName) : nullptr;
|
||||
|
||||
if (!mapping) {
|
||||
// Sometimes non-WKT1:ESRI looking WKT can actually use WKT1:ESRI
|
||||
// projection definitions
|
||||
std::map<std::string, std::string, ci_less_struct> mapParamNameToValue;
|
||||
const auto esriMapping =
|
||||
getESRIMapping(projCRSNode, projectionNode, mapParamNameToValue);
|
||||
if (esriMapping != nullptr) {
|
||||
return buildProjectionFromESRI(
|
||||
baseGeodCRS, projCRSNode, projectionNode, defaultLinearUnit,
|
||||
defaultAngularUnit, esriMapping, mapParamNameToValue);
|
||||
}
|
||||
}
|
||||
|
||||
if (mapping) {
|
||||
mapping = selectSphericalOrEllipsoidal(mapping, baseGeodCRS);
|
||||
} else if (metadata::Identifier::isEquivalentName(
|
||||
@@ -4341,10 +4439,10 @@ createBoundCRSSourceTransformationCRS(const crs::CRSPtr &sourceCRS,
|
||||
sourceCRS->extractGeographicCRS();
|
||||
sourceTransformationCRS = sourceGeographicCRS;
|
||||
if (sourceGeographicCRS) {
|
||||
if (sourceGeographicCRS->datum() != nullptr &&
|
||||
sourceGeographicCRS->primeMeridian()
|
||||
->longitude()
|
||||
.getSIValue() != 0.0) {
|
||||
const auto &sourceDatum = sourceGeographicCRS->datum();
|
||||
if (sourceDatum != nullptr && sourceGeographicCRS->primeMeridian()
|
||||
->longitude()
|
||||
.getSIValue() != 0.0) {
|
||||
sourceTransformationCRS =
|
||||
GeographicCRS::create(
|
||||
util::PropertyMap().set(
|
||||
@@ -4354,13 +4452,12 @@ createBoundCRSSourceTransformationCRS(const crs::CRSPtr &sourceCRS,
|
||||
datum::GeodeticReferenceFrame::create(
|
||||
util::PropertyMap().set(
|
||||
common::IdentifiedObject::NAME_KEY,
|
||||
sourceGeographicCRS->datum()->nameStr() +
|
||||
sourceDatum->nameStr() +
|
||||
" (with Greenwich prime meridian)"),
|
||||
sourceGeographicCRS->datum()->ellipsoid(),
|
||||
sourceDatum->ellipsoid(),
|
||||
util::optional<std::string>(),
|
||||
datum::PrimeMeridian::GREENWICH),
|
||||
cs::EllipsoidalCS::createLatitudeLongitude(
|
||||
common::UnitOfMeasure::DEGREE))
|
||||
sourceGeographicCRS->coordinateSystem())
|
||||
.as_nullable();
|
||||
}
|
||||
} else {
|
||||
@@ -4709,11 +4806,14 @@ BoundCRSNNPtr WKTParser::Private::buildBoundCRS(const WKTNodeNNPtr &node) {
|
||||
consumeParameters(abridgedNode, true, parameters, values, defaultLinearUnit,
|
||||
defaultAngularUnit);
|
||||
|
||||
auto interpolationCRS =
|
||||
dealWithEPSGCodeForInterpolationCRSParameter(parameters, values);
|
||||
|
||||
const auto sourceTransformationCRS(
|
||||
createBoundCRSSourceTransformationCRS(sourceCRS, targetCRS));
|
||||
auto transformation = Transformation::create(
|
||||
buildProperties(abridgedNode), sourceTransformationCRS,
|
||||
NN_NO_CHECK(targetCRS), nullptr, buildProperties(methodNode),
|
||||
NN_NO_CHECK(targetCRS), interpolationCRS, buildProperties(methodNode),
|
||||
parameters, values, std::vector<PositionalAccuracyNNPtr>());
|
||||
|
||||
return BoundCRS::create(buildProperties(node, false, false),
|
||||
@@ -6153,6 +6253,7 @@ DatumEnsembleNNPtr JSONParser::buildDatumEnsemble(const json &j) {
|
||||
"Unexpected type for value of a \"members\" member");
|
||||
}
|
||||
auto datumName(getName(memberJ));
|
||||
bool datumAdded = false;
|
||||
if (dbContext_ && memberJ.contains("id")) {
|
||||
auto id = getObject(memberJ, "id");
|
||||
auto authority = getString(id, "authority");
|
||||
@@ -6169,11 +6270,16 @@ DatumEnsembleNNPtr JSONParser::buildDatumEnsemble(const json &j) {
|
||||
}
|
||||
try {
|
||||
datums.push_back(authFactory->createDatum(codeStr));
|
||||
datumAdded = true;
|
||||
} catch (const std::exception &) {
|
||||
throw ParsingException("No Datum of code " + codeStr);
|
||||
// Silently ignore, as this isn't necessary an error.
|
||||
// If an older PROJ version parses a DatumEnsemble object of
|
||||
// a more recent PROJ version where the datum ensemble got
|
||||
// a new member, it might be unknown from the older PROJ.
|
||||
}
|
||||
continue;
|
||||
} else if (dbContext_) {
|
||||
}
|
||||
|
||||
if (dbContext_ && !datumAdded) {
|
||||
auto authFactory = AuthorityFactory::create(NN_NO_CHECK(dbContext_),
|
||||
std::string());
|
||||
auto list = authFactory->createObjectsFromName(
|
||||
@@ -6185,19 +6291,21 @@ DatumEnsembleNNPtr JSONParser::buildDatumEnsemble(const json &j) {
|
||||
throw ParsingException(
|
||||
"DatumEnsemble member is not a datum");
|
||||
datums.push_back(NN_NO_CHECK(datum));
|
||||
continue;
|
||||
datumAdded = true;
|
||||
}
|
||||
}
|
||||
|
||||
// Fallback if no db match
|
||||
if (hasEllipsoid) {
|
||||
datums.emplace_back(GeodeticReferenceFrame::create(
|
||||
buildProperties(memberJ),
|
||||
buildEllipsoid(getObject(j, "ellipsoid")),
|
||||
optional<std::string>(), PrimeMeridian::GREENWICH));
|
||||
} else {
|
||||
datums.emplace_back(
|
||||
VerticalReferenceFrame::create(buildProperties(memberJ)));
|
||||
if (!datumAdded) {
|
||||
// Fallback if no db match
|
||||
if (hasEllipsoid) {
|
||||
datums.emplace_back(GeodeticReferenceFrame::create(
|
||||
buildProperties(memberJ),
|
||||
buildEllipsoid(getObject(j, "ellipsoid")),
|
||||
optional<std::string>(), PrimeMeridian::GREENWICH));
|
||||
} else {
|
||||
datums.emplace_back(
|
||||
VerticalReferenceFrame::create(buildProperties(memberJ)));
|
||||
}
|
||||
}
|
||||
}
|
||||
return DatumEnsemble::create(
|
||||
@@ -8130,6 +8238,42 @@ const std::string &PROJStringFormatter::toString() const {
|
||||
}
|
||||
}
|
||||
|
||||
// detect a step and its inverse
|
||||
if (curStep.inverted != prevStep.inverted &&
|
||||
curStep.name == prevStep.name &&
|
||||
curStepParamCount == prevStepParamCount) {
|
||||
bool allSame = true;
|
||||
for (size_t j = 0; j < curStepParamCount; j++) {
|
||||
if (curStep.paramValues[j] != prevStep.paramValues[j]) {
|
||||
allSame = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (allSame) {
|
||||
deletePrevAndCurIter();
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
++iterCur;
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
auto iterCur = steps.begin();
|
||||
if (iterCur != steps.end()) {
|
||||
++iterCur;
|
||||
}
|
||||
while (iterCur != steps.end()) {
|
||||
|
||||
assert(iterCur != steps.begin());
|
||||
auto iterPrev = std::prev(iterCur);
|
||||
auto &prevStep = *iterPrev;
|
||||
auto &curStep = *iterCur;
|
||||
|
||||
const auto curStepParamCount = curStep.paramValues.size();
|
||||
const auto prevStepParamCount = prevStep.paramValues.size();
|
||||
|
||||
// +step +proj=hgridshift +grids=grid_A
|
||||
// +step +proj=vgridshift [...] <== curStep
|
||||
// +step +inv +proj=hgridshift +grids=grid_A
|
||||
@@ -8168,19 +8312,102 @@ const std::string &PROJStringFormatter::toString() const {
|
||||
}
|
||||
}
|
||||
|
||||
// detect a step and its inverse
|
||||
if (curStep.inverted != prevStep.inverted &&
|
||||
curStep.name == prevStep.name &&
|
||||
curStepParamCount == prevStepParamCount) {
|
||||
bool allSame = true;
|
||||
for (size_t j = 0; j < curStepParamCount; j++) {
|
||||
if (curStep.paramValues[j] != prevStep.paramValues[j]) {
|
||||
allSame = false;
|
||||
break;
|
||||
// +step +proj=unitconvert +xy_in=rad +xy_out=deg
|
||||
// +step +proj=axisswap +order=2,1
|
||||
// +step +proj=push +v_1 +v_2
|
||||
// +step +proj=axisswap +order=2,1
|
||||
// +step +proj=unitconvert +xy_in=deg +xy_out=rad
|
||||
// +step +proj=vgridshift ...
|
||||
// +step +proj=unitconvert +xy_in=rad +xy_out=deg
|
||||
// +step +proj=axisswap +order=2,1
|
||||
// +step +proj=pop +v_1 +v_2
|
||||
// ==>
|
||||
// +step +proj=vgridshift ...
|
||||
// +step +proj=unitconvert +xy_in=rad +xy_out=deg
|
||||
// +step +proj=axisswap +order=2,1
|
||||
if (prevStep.name == "unitconvert" && prevStepParamCount == 2 &&
|
||||
prevStep.paramValues[0].equals("xy_in", "rad") &&
|
||||
prevStep.paramValues[1].equals("xy_out", "deg") &&
|
||||
curStep.name == "axisswap" && curStepParamCount == 1 &&
|
||||
curStep.paramValues[0].equals("order", "2,1")) {
|
||||
auto iterNext = std::next(iterCur);
|
||||
bool ok = false;
|
||||
if (iterNext != steps.end()) {
|
||||
auto &nextStep = *iterNext;
|
||||
if (nextStep.name == "push" &&
|
||||
nextStep.paramValues.size() == 2 &&
|
||||
nextStep.paramValues[0].keyEquals("v_1") &&
|
||||
nextStep.paramValues[1].keyEquals("v_2")) {
|
||||
ok = true;
|
||||
iterNext = std::next(iterNext);
|
||||
}
|
||||
}
|
||||
if (allSame) {
|
||||
deletePrevAndCurIter();
|
||||
if (ok && iterNext != steps.end()) {
|
||||
ok = false;
|
||||
auto &nextStep = *iterNext;
|
||||
if (nextStep.name == "axisswap" &&
|
||||
nextStep.paramValues.size() == 1 &&
|
||||
nextStep.paramValues[0].equals("order", "2,1")) {
|
||||
ok = true;
|
||||
iterNext = std::next(iterNext);
|
||||
}
|
||||
}
|
||||
if (ok && iterNext != steps.end()) {
|
||||
ok = false;
|
||||
auto &nextStep = *iterNext;
|
||||
if (nextStep.name == "unitconvert" &&
|
||||
nextStep.paramValues.size() == 2 &&
|
||||
nextStep.paramValues[0].equals("xy_in", "deg") &&
|
||||
nextStep.paramValues[1].equals("xy_out", "rad")) {
|
||||
ok = true;
|
||||
iterNext = std::next(iterNext);
|
||||
}
|
||||
}
|
||||
auto iterVgridshift = iterNext;
|
||||
if (ok && iterNext != steps.end()) {
|
||||
ok = false;
|
||||
auto &nextStep = *iterNext;
|
||||
if (nextStep.name == "vgridshift") {
|
||||
ok = true;
|
||||
iterNext = std::next(iterNext);
|
||||
}
|
||||
}
|
||||
if (ok && iterNext != steps.end()) {
|
||||
ok = false;
|
||||
auto &nextStep = *iterNext;
|
||||
if (nextStep.name == "unitconvert" &&
|
||||
nextStep.paramValues.size() == 2 &&
|
||||
nextStep.paramValues[0].equals("xy_in", "rad") &&
|
||||
nextStep.paramValues[1].equals("xy_out", "deg")) {
|
||||
ok = true;
|
||||
iterNext = std::next(iterNext);
|
||||
}
|
||||
}
|
||||
if (ok && iterNext != steps.end()) {
|
||||
ok = false;
|
||||
auto &nextStep = *iterNext;
|
||||
if (nextStep.name == "axisswap" &&
|
||||
nextStep.paramValues.size() == 1 &&
|
||||
nextStep.paramValues[0].equals("order", "2,1")) {
|
||||
ok = true;
|
||||
iterNext = std::next(iterNext);
|
||||
}
|
||||
}
|
||||
if (ok && iterNext != steps.end()) {
|
||||
ok = false;
|
||||
auto &nextStep = *iterNext;
|
||||
if (nextStep.name == "pop" &&
|
||||
nextStep.paramValues.size() == 2 &&
|
||||
nextStep.paramValues[0].keyEquals("v_1") &&
|
||||
nextStep.paramValues[1].keyEquals("v_2")) {
|
||||
ok = true;
|
||||
}
|
||||
}
|
||||
if (ok) {
|
||||
steps.erase(iterPrev, iterVgridshift);
|
||||
steps.erase(iterNext, std::next(iterNext));
|
||||
iterPrev = std::prev(iterVgridshift);
|
||||
iterCur = iterVgridshift;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
@@ -9201,13 +9428,22 @@ PROJStringParser::Private::buildDatum(Step &step, const std::string &title) {
|
||||
PrimeMeridianNNPtr pm(buildPrimeMeridian(step));
|
||||
PropertyMap grfMap;
|
||||
|
||||
const auto &nadgrids = getParamValue(step, "nadgrids");
|
||||
const auto &towgs84 = getParamValue(step, "towgs84");
|
||||
std::string datumNameSuffix;
|
||||
if (!nadgrids.empty()) {
|
||||
datumNameSuffix = " using nadgrids=" + nadgrids;
|
||||
} else if (!towgs84.empty()) {
|
||||
datumNameSuffix = " using towgs84=" + towgs84;
|
||||
}
|
||||
|
||||
// It is arguable that we allow the prime meridian of a datum defined by
|
||||
// its name to be overridden, but this is found at least in a regression
|
||||
// test
|
||||
// of GDAL. So let's keep the ellipsoid part of the datum in that case and
|
||||
// use the specified prime meridian.
|
||||
const auto overridePmIfNeeded =
|
||||
[&pm](const GeodeticReferenceFrameNNPtr &grf) {
|
||||
[&pm, &datumNameSuffix](const GeodeticReferenceFrameNNPtr &grf) {
|
||||
if (pm->_isEquivalentTo(PrimeMeridian::GREENWICH.get())) {
|
||||
return grf;
|
||||
} else {
|
||||
@@ -9215,7 +9451,7 @@ PROJStringParser::Private::buildDatum(Step &step, const std::string &title) {
|
||||
PropertyMap().set(IdentifiedObject::NAME_KEY,
|
||||
"Unknown based on " +
|
||||
grf->ellipsoid()->nameStr() +
|
||||
" ellipsoid"),
|
||||
" ellipsoid" + datumNameSuffix),
|
||||
grf->ellipsoid(), grf->anchorDefinition(), pm);
|
||||
}
|
||||
};
|
||||
@@ -9232,7 +9468,7 @@ PROJStringParser::Private::buildDatum(Step &step, const std::string &title) {
|
||||
Length(R), guessBodyName(R));
|
||||
return GeodeticReferenceFrame::create(
|
||||
grfMap.set(IdentifiedObject::NAME_KEY,
|
||||
title.empty() ? "unknown" : title.c_str()),
|
||||
title.empty() ? "unknown" + datumNameSuffix : title),
|
||||
ellipsoid, optionalEmptyString, fixupPrimeMeridan(ellipsoid, pm));
|
||||
}
|
||||
|
||||
@@ -9281,21 +9517,23 @@ PROJStringParser::Private::buildDatum(Step &step, const std::string &title) {
|
||||
}
|
||||
|
||||
else if (!ellpsStr.empty()) {
|
||||
auto l_datum = [&ellpsStr, &title, &grfMap, &optionalEmptyString,
|
||||
&pm]() {
|
||||
auto l_datum = [&ellpsStr, &title, &grfMap, &optionalEmptyString, &pm,
|
||||
&datumNameSuffix]() {
|
||||
if (ellpsStr == "WGS84") {
|
||||
return GeodeticReferenceFrame::create(
|
||||
grfMap.set(IdentifiedObject::NAME_KEY,
|
||||
title.empty()
|
||||
? "Unknown based on WGS84 ellipsoid"
|
||||
: title.c_str()),
|
||||
? "Unknown based on WGS84 ellipsoid" +
|
||||
datumNameSuffix
|
||||
: title),
|
||||
Ellipsoid::WGS84, optionalEmptyString, pm);
|
||||
} else if (ellpsStr == "GRS80") {
|
||||
return GeodeticReferenceFrame::create(
|
||||
grfMap.set(IdentifiedObject::NAME_KEY,
|
||||
title.empty()
|
||||
? "Unknown based on GRS80 ellipsoid"
|
||||
: title.c_str()),
|
||||
? "Unknown based on GRS80 ellipsoid" +
|
||||
datumNameSuffix
|
||||
: title),
|
||||
Ellipsoid::GRS1980, optionalEmptyString, pm);
|
||||
} else {
|
||||
auto proj_ellps = proj_list_ellps();
|
||||
@@ -9331,7 +9569,7 @@ PROJStringParser::Private::buildDatum(Step &step, const std::string &title) {
|
||||
title.empty()
|
||||
? std::string("Unknown based on ") +
|
||||
proj_ellps[i].name +
|
||||
" ellipsoid"
|
||||
" ellipsoid" + datumNameSuffix
|
||||
: title),
|
||||
NN_NO_CHECK(ellipsoid), optionalEmptyString, pm);
|
||||
}
|
||||
@@ -9358,6 +9596,15 @@ PROJStringParser::Private::buildDatum(Step &step, const std::string &title) {
|
||||
}
|
||||
}
|
||||
|
||||
const auto createGRF = [&grfMap, &title, &optionalEmptyString,
|
||||
&datumNameSuffix,
|
||||
&pm](const EllipsoidNNPtr &ellipsoid) {
|
||||
return GeodeticReferenceFrame::create(
|
||||
grfMap.set(IdentifiedObject::NAME_KEY,
|
||||
title.empty() ? "unknown" + datumNameSuffix : title),
|
||||
ellipsoid, optionalEmptyString, fixupPrimeMeridan(ellipsoid, pm));
|
||||
};
|
||||
|
||||
if (a > 0 && (b > 0 || !bStr.empty())) {
|
||||
if (!bStr.empty()) {
|
||||
try {
|
||||
@@ -9370,10 +9617,7 @@ PROJStringParser::Private::buildDatum(Step &step, const std::string &title) {
|
||||
Ellipsoid::createTwoAxis(createMapWithUnknownName(), Length(a),
|
||||
Length(b), guessBodyName(a))
|
||||
->identify();
|
||||
return GeodeticReferenceFrame::create(
|
||||
grfMap.set(IdentifiedObject::NAME_KEY,
|
||||
title.empty() ? "unknown" : title.c_str()),
|
||||
ellipsoid, optionalEmptyString, fixupPrimeMeridan(ellipsoid, pm));
|
||||
return createGRF(ellipsoid);
|
||||
}
|
||||
|
||||
else if (a > 0 && (rf >= 0 || !rfStr.empty())) {
|
||||
@@ -9388,10 +9632,7 @@ PROJStringParser::Private::buildDatum(Step &step, const std::string &title) {
|
||||
createMapWithUnknownName(), Length(a), Scale(rf),
|
||||
guessBodyName(a))
|
||||
->identify();
|
||||
return GeodeticReferenceFrame::create(
|
||||
grfMap.set(IdentifiedObject::NAME_KEY,
|
||||
title.empty() ? "unknown" : title.c_str()),
|
||||
ellipsoid, optionalEmptyString, fixupPrimeMeridan(ellipsoid, pm));
|
||||
return createGRF(ellipsoid);
|
||||
}
|
||||
|
||||
else if (a > 0 && !fStr.empty()) {
|
||||
@@ -9405,10 +9646,7 @@ PROJStringParser::Private::buildDatum(Step &step, const std::string &title) {
|
||||
createMapWithUnknownName(), Length(a),
|
||||
Scale(f != 0.0 ? 1.0 / f : 0.0), guessBodyName(a))
|
||||
->identify();
|
||||
return GeodeticReferenceFrame::create(
|
||||
grfMap.set(IdentifiedObject::NAME_KEY,
|
||||
title.empty() ? "unknown" : title.c_str()),
|
||||
ellipsoid, optionalEmptyString, fixupPrimeMeridan(ellipsoid, pm));
|
||||
return createGRF(ellipsoid);
|
||||
}
|
||||
|
||||
else if (a > 0 && !eStr.empty()) {
|
||||
@@ -9424,10 +9662,7 @@ PROJStringParser::Private::buildDatum(Step &step, const std::string &title) {
|
||||
createMapWithUnknownName(), Length(a),
|
||||
Scale(f != 0.0 ? 1.0 / f : 0.0), guessBodyName(a))
|
||||
->identify();
|
||||
return GeodeticReferenceFrame::create(
|
||||
grfMap.set(IdentifiedObject::NAME_KEY,
|
||||
title.empty() ? "unknown" : title.c_str()),
|
||||
ellipsoid, optionalEmptyString, fixupPrimeMeridan(ellipsoid, pm));
|
||||
return createGRF(ellipsoid);
|
||||
}
|
||||
|
||||
else if (a > 0 && !esStr.empty()) {
|
||||
@@ -9442,10 +9677,7 @@ PROJStringParser::Private::buildDatum(Step &step, const std::string &title) {
|
||||
createMapWithUnknownName(), Length(a),
|
||||
Scale(f != 0.0 ? 1.0 / f : 0.0), guessBodyName(a))
|
||||
->identify();
|
||||
return GeodeticReferenceFrame::create(
|
||||
grfMap.set(IdentifiedObject::NAME_KEY,
|
||||
title.empty() ? "unknown" : title.c_str()),
|
||||
ellipsoid, optionalEmptyString, fixupPrimeMeridan(ellipsoid, pm));
|
||||
return createGRF(ellipsoid);
|
||||
}
|
||||
|
||||
// If only a is specified, create a sphere
|
||||
@@ -9453,10 +9685,7 @@ PROJStringParser::Private::buildDatum(Step &step, const std::string &title) {
|
||||
esStr.empty()) {
|
||||
auto ellipsoid = Ellipsoid::createSphere(createMapWithUnknownName(),
|
||||
Length(a), guessBodyName(a));
|
||||
return GeodeticReferenceFrame::create(
|
||||
grfMap.set(IdentifiedObject::NAME_KEY,
|
||||
title.empty() ? "unknown" : title.c_str()),
|
||||
ellipsoid, optionalEmptyString, fixupPrimeMeridan(ellipsoid, pm));
|
||||
return createGRF(ellipsoid);
|
||||
}
|
||||
|
||||
if (!bStr.empty() && aStr.empty()) {
|
||||
@@ -9834,8 +10063,9 @@ PROJStringParser::Private::buildBoundOrCompoundCRSIfNeeded(int iStep,
|
||||
|
||||
const auto &geoidgrids = getParamValue(step, "geoidgrids");
|
||||
if (!geoidgrids.empty()) {
|
||||
auto vdatum =
|
||||
VerticalReferenceFrame::create(createMapWithUnknownName());
|
||||
auto vdatum = VerticalReferenceFrame::create(
|
||||
PropertyMap().set(common::IdentifiedObject::NAME_KEY,
|
||||
"unknown using geoidgrids=" + geoidgrids));
|
||||
|
||||
const UnitOfMeasure unit = buildUnit(step, "vunits", "vto_meter");
|
||||
|
||||
|
||||