Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8fa1ec4c80 | ||
|
|
fba6618a77 | ||
|
|
0bbd172316 | ||
|
|
4c1d54eaea | ||
|
|
6e32ab522b | ||
|
|
4216ab1c91 | ||
|
|
8c473a0671 | ||
|
|
263993d95f | ||
|
|
0b766435ad | ||
|
|
e43eba3d88 | ||
|
|
0a34af2d7f | ||
|
|
70d9a59ab3 | ||
|
|
f196dbb0d1 | ||
|
|
b9db9c74e2 | ||
|
|
22654ce7c0 | ||
|
|
45a88fe245 | ||
|
|
fddc2e791b | ||
|
|
4aa56f2d0e | ||
|
|
ff63939f9b | ||
|
|
aea3d29de8 | ||
|
|
07754f7cae | ||
|
|
a035a83d03 | ||
|
|
a7a4d35816 | ||
|
|
71f6e3a21f | ||
|
|
ae168e009b | ||
|
|
30d6ec80fd | ||
|
|
3d75435aa9 | ||
|
|
cedc9789a1 | ||
|
|
e4d0c40f82 | ||
|
|
e03a9aacec | ||
|
|
a42b447021 | ||
|
|
0d96f25f2e | ||
|
|
79a93bcb21 | ||
|
|
4669819b87 | ||
|
|
f8423cb908 | ||
|
|
76973c9e56 | ||
|
|
734b698043 | ||
|
|
31ca31f3a7 | ||
|
|
45bea392cb | ||
|
|
5ca8e3cf6e | ||
|
|
c19c6606a2 | ||
|
|
3c202610d3 | ||
|
|
4f5df6999e | ||
|
|
f1635cec8d | ||
|
|
8cb60c89d8 | ||
|
|
c44e53dec5 | ||
|
|
62038f4a38 | ||
|
|
56449166e5 | ||
|
|
6355e5533b | ||
|
|
b73903790a | ||
|
|
89deef0171 | ||
|
|
752cb2a162 | ||
|
|
08c522c210 | ||
|
|
38e507c341 | ||
|
|
c5f2cc2c8c | ||
|
|
03b5f40edf | ||
|
|
9a7ee56058 | ||
|
|
eeb9fef28a | ||
|
|
6804e7dfc7 | ||
|
|
8e9239cfe4 | ||
|
|
0ef80def8c | ||
|
|
afc0af3afd | ||
|
|
b14fba9857 | ||
|
|
4e5f622590 | ||
|
|
7f0d6a0839 | ||
|
|
e77545c092 | ||
|
|
9263a33ef7 | ||
|
|
fda68193f0 | ||
|
|
9393831dce | ||
|
|
6293c434c6 | ||
|
|
f4bd832184 | ||
|
|
861ae257f4 | ||
|
|
b595edeaf0 | ||
|
|
0d90ce1834 | ||
|
|
acca996513 | ||
|
|
ce97e244e3 | ||
|
|
22f5eb4724 | ||
|
|
2299fa9e16 | ||
|
|
6651e97dae | ||
|
|
4075266be0 | ||
|
|
6f1a3c4648 | ||
|
|
339b71fa32 | ||
|
|
da406335b3 | ||
|
|
d7d5e48de5 | ||
|
|
d5e07c5399 | ||
|
|
5cf4ca197c | ||
|
|
ba9e15cc22 |
+1
-1
@@ -96,9 +96,9 @@ install_manifest.txt
|
||||
/data/for_tests/
|
||||
|
||||
# docs
|
||||
tmp_breathe
|
||||
/docs/.doxygen_up_to_date
|
||||
/docs/build
|
||||
/docs/plot/images
|
||||
/latex
|
||||
|
||||
# m4
|
||||
|
||||
@@ -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/8.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 (2021). PROJ coordinate transformation software
|
||||
library. Open Source Geospatial Foundation. URL https://proj.org/.
|
||||
|
||||
A BibTeX entry for LaTeX users is
|
||||
|
||||
+2
-2
@@ -110,9 +110,9 @@ message(STATUS "Configuring PROJ:")
|
||||
#PROJ version information
|
||||
################################################################################
|
||||
include(ProjVersion)
|
||||
proj_version(MAJOR 8 MINOR 0 PATCH 0)
|
||||
proj_version(MAJOR 8 MINOR 0 PATCH 1)
|
||||
set(PROJ_API_VERSION "22")
|
||||
set(PROJ_BUILD_VERSION "22.0.0")
|
||||
set(PROJ_BUILD_VERSION "22.1.0")
|
||||
|
||||
################################################################################
|
||||
# Build features and variants
|
||||
|
||||
@@ -601,7 +601,7 @@
|
||||
2010-03-16 Frank Warmerdam <warmerdam@pobox.com>
|
||||
|
||||
* src/pj_transform.c, src/pj_init.c, src/projects.h, src/pj_gridlist.c,
|
||||
src/pj_apply_gridshit.c: rework the translation of nadgrids parameters
|
||||
src/pj_apply_gridshift.c: rework the translation of nadgrids parameters
|
||||
into a list of gridshift files to avoid use of static "lastnadgrids"
|
||||
information which screws up multithreading. Changes the PJ structure.
|
||||
|
||||
|
||||
@@ -1033,13 +1033,6 @@ VERBATIM_HEADERS = YES
|
||||
|
||||
ALPHABETICAL_INDEX = YES
|
||||
|
||||
# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in
|
||||
# which the alphabetical index list will be split.
|
||||
# Minimum value: 1, maximum value: 20, default value: 5.
|
||||
# This tag requires that the tag ALPHABETICAL_INDEX is set to YES.
|
||||
|
||||
COLS_IN_ALPHA_INDEX = 5
|
||||
|
||||
# In case all classes in a project start with a common prefix, all classes will
|
||||
# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag
|
||||
# can be used to specify a prefix (or a list of prefixes) that should be ignored
|
||||
|
||||
@@ -1,3 +1,72 @@
|
||||
8.0.1 Release Notes
|
||||
-------------------
|
||||
|
||||
Updates
|
||||
-------
|
||||
|
||||
o Database: update to EPSG v10.018 (#2636)
|
||||
|
||||
o Add transformations for CHGeo2004, Swiss geoid model (#2604)
|
||||
|
||||
o Additions to the norwegian NKG2020 transformation (#2600)
|
||||
|
||||
Bug fixes
|
||||
---------
|
||||
|
||||
o pj_vlog(): fix buffer overflow in case of super lengthy error message (#2693)
|
||||
|
||||
o Revert "proj_create_crs_to_crs_from_pj(): do not use PROJ_SPATIAL_CRITERION_PARTIAL_INTERSECTION if area is specified" (#2679)
|
||||
|
||||
o UTM: error out when value of +zone= is not an integer (#2672)
|
||||
|
||||
o getCRSInfoList(): make result order deterministic (by increasing auth_name,
|
||||
code) (#2661)
|
||||
|
||||
o createOperation(): make sure no to discard deprecated operations if the
|
||||
replacement uses an unknow grid (#2623)
|
||||
|
||||
o Fix build on Solaris 11.4 (#2621)
|
||||
|
||||
o Add mapping of ESRI Equal_Area projection method to EPSG (#2612)
|
||||
|
||||
o Fix incorrect EPGS extent code for EPSG:7789>EPSG:4976 NKG transformation (#2599)
|
||||
|
||||
o fix wrong capitalization of CHENyx06_ETRS.gsb (#2597)
|
||||
|
||||
o createOperations(): improve handling of vertical transforms when
|
||||
when compound CRSs are used (#2592)
|
||||
|
||||
o CRS::promoteTo3D(): propagate the extent from the 2D CRS (#2589)
|
||||
|
||||
o createFromCRSCodesWithIntermediates(): improve performance when there is
|
||||
no match (#2583)
|
||||
|
||||
o Fix proj_clone() to work on 'meta' coordinate operation PJ* objects that
|
||||
can be returned by proj_create_crs_to_crs() (#2582)
|
||||
|
||||
o add PROJ_COMPUTE_VERSION, PROJ_VERSION_NUMBER,
|
||||
PROJ_AT_LEAST_VERSION macros (#2581)
|
||||
|
||||
o Make proj_lp_dist() and proj_geod() work on a PJ* CRS object (#2570)
|
||||
|
||||
o Fix gcc 11 -Wnonnull compilation warnings (#2559)
|
||||
|
||||
o Fix use of uninitialized memory in gie tests (#2558)
|
||||
|
||||
o createOperations(): fix incorrect height transformation between 3D promoted RGF93 and CH1903+ (#2555)
|
||||
|
||||
|
||||
THANKS TO
|
||||
---------
|
||||
|
||||
Dan Jacobson
|
||||
Sveinung Himle
|
||||
Mike Taves
|
||||
Javier Jimenez Shaw
|
||||
Kristian Evers
|
||||
Even Rouault
|
||||
|
||||
|
||||
8.0.0 Release Notes
|
||||
-------------------
|
||||
|
||||
@@ -62,7 +131,7 @@ tweaks in the underlying API.
|
||||
Bug fixes
|
||||
---------
|
||||
|
||||
o Do not restrict longitude to [-90;90] range in spherical transver Mercator
|
||||
o Do not restrict longitude to [-90;90] range in spherical transverse Mercator
|
||||
forward projection (#2471)
|
||||
|
||||
o createOperations(): fix Compound to Geog3D/Projected3D CRS with non-metre ellipsoidal height (#2500)
|
||||
@@ -338,7 +407,7 @@ tweaks in the underlying API.
|
||||
o Update to EPSG 9.8.12, ESRI 10.8.1 and import scope and remarks for
|
||||
conversion (#2238) (#2267)
|
||||
|
||||
o Map the Behrman projection to cae when converting ESRI CRSes (#1986)
|
||||
o Map the Behrmann projection to cae when converting ESRI CRSes (#1986)
|
||||
|
||||
o Support conversion of Flat_Polar_Quartic projection method (#1987)
|
||||
|
||||
@@ -1682,13 +1751,13 @@ o The PROJ.4 project also distributes the datum-grid package,
|
||||
o Return correct latitude when using negative northings in
|
||||
Transverse Mercator (tmerc). #138.
|
||||
|
||||
o Return correct result at origin in inverse Mod. Stererographic
|
||||
o Return correct result at origin in inverse Modified Stereographic
|
||||
of Alaska. #161.
|
||||
|
||||
o Return correct result at origin in inverse Mod. Stererographic
|
||||
o Return correct result at origin in inverse Modified Stereographic
|
||||
of 48 U.S. #162.
|
||||
|
||||
o Return correct result at origin in inverse Mod. Stererographic
|
||||
o Return correct result at origin in inverse Modified Stereographic
|
||||
of 50 U.S. #163.
|
||||
|
||||
o Return correct result at origin in inverse Lee Oblated
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
dnl Process this file with autoconf to produce a configure script.
|
||||
|
||||
AC_PREREQ(2.59)
|
||||
AC_INIT([PROJ], [8.0.0],
|
||||
AC_INIT([PROJ], [8.0.1],
|
||||
[https://github.com/OSGeo/PROJ/issues], proj, [https://proj.org])
|
||||
AC_CONFIG_MACRO_DIR([m4])
|
||||
AC_LANG(C)
|
||||
|
||||
@@ -18,6 +18,6 @@
|
||||
#
|
||||
<metadata> +origin=Swisstopo +lastupdate=2012-02-27
|
||||
# CH1903/LV03
|
||||
<1903_LV03> +proj=somerc +lat_0=46.95240555555556 +lon_0=7.439583333333333 +k_0=1 +x_0=600000 +y_0=200000 +ellps=bessel +units=m +nadgrids=CHENYX06_etrs.gsb +no_defs
|
||||
<1903_LV03> +proj=somerc +lat_0=46.95240555555556 +lon_0=7.439583333333333 +k_0=1 +x_0=600000 +y_0=200000 +ellps=bessel +units=m +nadgrids=CHENyx06_ETRS.gsb +no_defs
|
||||
# CH1903
|
||||
<1903> +proj=longlat +ellps=bessel +nadgrids=CHENYX06_etrs.gsb +no_defs <>
|
||||
<1903> +proj=longlat +ellps=bessel +nadgrids=CHENyx06_ETRS.gsb +no_defs <>
|
||||
|
||||
+2
-1
@@ -39,10 +39,11 @@ SQL_ORDERED_LIST = sql/begin.sql \
|
||||
sql/deprecation.sql \
|
||||
sql/esri.sql \
|
||||
sql/ignf.sql \
|
||||
sql/nkg.sql \
|
||||
sql/grid_alternatives.sql \
|
||||
sql/grid_alternatives_generated_noaa.sql \
|
||||
sql/customizations.sql \
|
||||
sql/nkg.sql \
|
||||
sql/nkg_post_customizations.sql \
|
||||
sql/commit.sql
|
||||
|
||||
EXTRA_DIST = proj.ini GL27 nad.lst nad27 nad83 \
|
||||
|
||||
+26
-5
@@ -620,6 +620,10 @@ INSERT INTO "alias_name" VALUES('vertical_datum','EPSG','1303','NVD 1992','EPSG'
|
||||
INSERT INTO "alias_name" VALUES('vertical_datum','EPSG','1301','CD Norway','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('vertical_datum','EPSG','1199','Greenland Vertical Reference 2000','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1304','REDGEOMIN','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('vertical_datum','EPSG','1297','EVRF2007-PL','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1305','ETRF2000-PL','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','6277','OSGB36','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','6277','OSGB 1936','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');
|
||||
@@ -2131,11 +2135,11 @@ INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2172','System 1965 zone
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2173','System 1965 zone III','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2174','System 1965 zone IV','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2175','System 1965 zone V','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2176','System 2000/15','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2177','System 2000/18','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2178','System 2000/21','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2179','System 2000/24','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2180','System 1992','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2176','PL-2000/15','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2177','PL-2000/18','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2178','PL-2000/21','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2179','PL-2000/24','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2180','PL-1992','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3120','System 1965 zone I','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3346','LKS94','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3346','LT_LKS94 / LT_TM','EPSG');
|
||||
@@ -7228,6 +7232,18 @@ INSERT INTO "alias_name" VALUES('projected_crs','EPSG','9680','WGS 84 / BUTM 201
|
||||
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6893','WGS 84 / World Mercator + EGM2008 height','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','7955','St. Helena Tritan / UTM zone 30S + Tritan 2011 height','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','7956','SHMG2015 + SHVD2015 height','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2176','ETRS89 / Poland CS2000 zone 5','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2177','ETRS89 / Poland CS2000 zone 6','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2178','ETRS89 / Poland CS2000 zone 7','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2179','ETRS89 / Poland CS2000 zone 8','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2180','ETRS89 / Poland CS92','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('vertical_crs','EPSG','9650','PL_KRON / NH','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('vertical_crs','EPSG','9650','Kronzstad 86','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('vertical_crs','EPSG','9650','Kronstadt 1986 height','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('vertical_crs','EPSG','9651','PL_AMST / NH','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('vertical_crs','EPSG','9651','PL-EVRF2007-NH','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','9700','PL-ETRF2000','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','9701','PL-ETRF2000','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','8401','748','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','8401','ETRF2014 - XYZ','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','8403','747','EPSG');
|
||||
@@ -7235,3 +7251,8 @@ INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','8403','ETRF2014 - LatLonE
|
||||
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','9069','746','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','9069','ETRF2014- LatLon','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('vertical_crs','EPSG','9672','CD Norway','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','9656','PL-ETRF2000 + Kronzstad 86','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','9657','PL-ETRF2000 + Kronzstad 86','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','4277','OSGB 1936','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','27700','OSGB 1936 / British National Grid','EPSG');
|
||||
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','9702','PL-ETRF2000','EPSG');
|
||||
|
||||
+8
-8
@@ -172,10 +172,6 @@ INSERT INTO "axis" VALUES('EPSG','63','Geodetic latitude','Lat','north','EPSG','
|
||||
INSERT INTO "axis" VALUES('EPSG','64','Geodetic longitude','Long','east','EPSG','6405',2,'EPSG','9102');
|
||||
INSERT INTO "axis" VALUES('EPSG','65','Geodetic latitude','Lat','north','EPSG','6406',1,'EPSG','9116');
|
||||
INSERT INTO "axis" VALUES('EPSG','66','Geodetic longitude','Long','east','EPSG','6406',2,'EPSG','9116');
|
||||
INSERT INTO "axis" VALUES('EPSG','69','Geodetic latitude','Lat','north','EPSG','6408',1,'EPSG','9115');
|
||||
INSERT INTO "axis" VALUES('EPSG','70','Geodetic longitude','Long','east','EPSG','6408',2,'EPSG','9115');
|
||||
INSERT INTO "axis" VALUES('EPSG','71','Geodetic latitude','Lat','north','EPSG','6409',1,'EPSG','9118');
|
||||
INSERT INTO "axis" VALUES('EPSG','72','Geodetic longitude','Long','east','EPSG','6409',2,'EPSG','9118');
|
||||
INSERT INTO "axis" VALUES('EPSG','106','Geodetic latitude','Lat','north','EPSG','6422',1,'EPSG','9122');
|
||||
INSERT INTO "axis" VALUES('EPSG','107','Geodetic longitude','Lon','east','EPSG','6422',2,'EPSG','9122');
|
||||
INSERT INTO "axis" VALUES('EPSG','115','Geocentric X','X','geocentricX','EPSG','6500',1,'EPSG','9001');
|
||||
@@ -204,10 +200,10 @@ INSERT INTO "axis" VALUES('EPSG','174','Plant North','y','northwest','EPSG','651
|
||||
INSERT INTO "axis" VALUES('EPSG','211','Plant East','x','east','EPSG','6512',1,'EPSG','9001');
|
||||
INSERT INTO "axis" VALUES('EPSG','212','Plant North','y','north','EPSG','6512',2,'EPSG','9001');
|
||||
INSERT INTO "axis" VALUES('EPSG','213','Local height','z','up','EPSG','6512',3,'EPSG','9001');
|
||||
INSERT INTO "axis" VALUES('EPSG','32763','Bin grid I','I','J-axis plus 90 degrees','EPSG','32760',1,NULL,NULL);
|
||||
INSERT INTO "axis" VALUES('EPSG','32764','Bin grid J','J','See associated operation','EPSG','32760',2,NULL,NULL);
|
||||
INSERT INTO "axis" VALUES('EPSG','32765','Bin grid I','I','J-axis minus 90 degrees','EPSG','32761',1,NULL,NULL);
|
||||
INSERT INTO "axis" VALUES('EPSG','32766','Bin grid J','J','See associated operation','EPSG','32761',2,NULL,NULL);
|
||||
INSERT INTO "axis" VALUES('EPSG','32845','Bin grid I','I','J-axis plus 90 degrees','EPSG','32760',1,NULL,NULL);
|
||||
INSERT INTO "axis" VALUES('EPSG','32846','Bin grid J','J','See associated operation','EPSG','32760',2,NULL,NULL);
|
||||
INSERT INTO "axis" VALUES('EPSG','32847','Bin grid I','I','J-axis minus 90 degrees','EPSG','32761',1,NULL,NULL);
|
||||
INSERT INTO "axis" VALUES('EPSG','32848','Bin grid J','J','See associated operation','EPSG','32761',2,NULL,NULL);
|
||||
INSERT INTO "axis" VALUES('EPSG','1082','Gravity-related height','H','up','EPSG','1030',1,'EPSG','9002');
|
||||
INSERT INTO "axis" VALUES('EPSG','1516','Depth','D','down','EPSG','1043',1,'EPSG','9003');
|
||||
INSERT INTO "axis" VALUES('EPSG','1051','Local depth','d','down','EPSG','1049',1,'EPSG','9001');
|
||||
@@ -224,6 +220,10 @@ INSERT INTO "axis" VALUES('EPSG','61','Spherical longitude','Long','east','EPSG'
|
||||
INSERT INTO "axis" VALUES('EPSG','62','Geocentric radius','R','up','EPSG','6404',3,'EPSG','9001');
|
||||
INSERT INTO "axis" VALUES('EPSG','67','Geodetic latitude','Lat','north','EPSG','6407',1,'EPSG','9117');
|
||||
INSERT INTO "axis" VALUES('EPSG','68','Geodetic longitude','Long','east','EPSG','6407',2,'EPSG','9117');
|
||||
INSERT INTO "axis" VALUES('EPSG','69','Geodetic latitude','Lat','north','EPSG','6408',1,'EPSG','9115');
|
||||
INSERT INTO "axis" VALUES('EPSG','70','Geodetic longitude','Long','east','EPSG','6408',2,'EPSG','9115');
|
||||
INSERT INTO "axis" VALUES('EPSG','71','Geodetic latitude','Lat','north','EPSG','6409',1,'EPSG','9118');
|
||||
INSERT INTO "axis" VALUES('EPSG','72','Geodetic longitude','Long','east','EPSG','6409',2,'EPSG','9118');
|
||||
INSERT INTO "axis" VALUES('EPSG','73','Geodetic latitude','Lat','north','EPSG','6410',1,'EPSG','9119');
|
||||
INSERT INTO "axis" VALUES('EPSG','74','Geodetic longitude','Long','east','EPSG','6410',2,'EPSG','9119');
|
||||
INSERT INTO "axis" VALUES('EPSG','75','Geodetic latitude','Lat','north','EPSG','6411',1,'EPSG','9107');
|
||||
|
||||
+17
-5
@@ -118,21 +118,32 @@ FOR EACH ROW BEGIN
|
||||
g.method_name LIKE 'Geographic3D to GravityRelatedHeight%' AND
|
||||
g.target_crs_auth_name || g.target_crs_code NOT IN
|
||||
(SELECT auth_name || code FROM vertical_crs));
|
||||
SELECT RAISE(ABORT, 'One grid_transformation with Geographic3D to GravityRelatedHeight has not its source_crs in geodetic_crs table with type = ''geographic 3D''')
|
||||
SELECT RAISE(ABORT, 'One grid_transformation with Geographic3D to GravityRelatedHeight or Geog3D to Geog2D+XXX has not its source_crs in geodetic_crs table with type = ''geographic 3D''')
|
||||
WHERE EXISTS (SELECT * FROM grid_transformation g WHERE
|
||||
g.deprecated = 0 AND
|
||||
g.method_name LIKE 'Geographic3D to GravityRelatedHeight%' AND
|
||||
NOT (g.auth_name = 'EPSG' AND g.code IN (7648, 7649, 7650)) AND -- those are wrongly registered as they use a geocentric CRS. Reported to EPSG
|
||||
(g.method_name LIKE 'Geographic3D to %' OR g.method_name LIKE 'Geog3D to %') AND
|
||||
g.source_crs_auth_name || g.source_crs_code NOT IN
|
||||
(SELECT auth_name || code FROM geodetic_crs
|
||||
WHERE type = 'geographic 3D'));
|
||||
|
||||
-- check that grids with 'Vertical Offset by Grid Interpolation' methods are properly registered
|
||||
SELECT RAISE(ABORT, 'One grid_transformation with Vertical Offset by Grid Interpolation has not its source_crs in vertical_crs table')
|
||||
WHERE EXISTS (SELECT * FROM grid_transformation g WHERE
|
||||
g.method_name LIKE 'Vertical Offset by Grid Interpolation%' AND
|
||||
g.source_crs_auth_name || g.source_crs_code NOT IN
|
||||
(SELECT auth_name || code FROM vertical_crs));
|
||||
SELECT RAISE(ABORT, 'One grid_transformation with Vertical Offset by Grid Interpolation has not its target_crs in vertical_crs table')
|
||||
WHERE EXISTS (SELECT * FROM grid_transformation g WHERE
|
||||
g.method_name LIKE 'Vertical Offset by Grid Interpolation%' AND
|
||||
g.target_crs_auth_name || g.target_crs_code NOT IN
|
||||
(SELECT auth_name || code FROM vertical_crs));
|
||||
|
||||
-- check that transformations intersect the area of use of their source/target CRS
|
||||
-- EPSG, ESRI and IGNF have cases where this does not hold.
|
||||
SELECT RAISE(ABORT, 'The area of use of at least one coordinate_operation does not intersect the one of its source CRS')
|
||||
WHERE EXISTS (SELECT * FROM coordinate_operation_view v, crs_view c, usage vu, extent ve, usage cu, extent ce WHERE
|
||||
v.deprecated = 0 AND
|
||||
v.auth_name NOT IN ('EPSG', 'ESRI', 'IGNF') AND
|
||||
(v.table_name = 'grid_transformation' OR v.auth_name NOT IN ('EPSG', 'ESRI', 'IGNF')) AND
|
||||
v.source_crs_auth_name = c.auth_name AND
|
||||
v.source_crs_code = c.code AND
|
||||
vu.object_table_name = v.table_name AND
|
||||
@@ -149,7 +160,8 @@ FOR EACH ROW BEGIN
|
||||
SELECT RAISE(ABORT, 'The area of use of at least one coordinate_operation does not intersect the one of its target CRS')
|
||||
WHERE EXISTS (SELECT * FROM coordinate_operation_view v, crs_view c, usage vu, extent ve, usage cu, extent ce WHERE
|
||||
v.deprecated = 0 AND
|
||||
v.auth_name NOT IN ('EPSG', 'ESRI', 'IGNF') AND
|
||||
((v.table_name = 'grid_transformation' AND NOT (v.auth_name = 'IGNF' AND v.code = 'TSG1185'))
|
||||
OR v.auth_name NOT IN ('EPSG', 'ESRI', 'IGNF')) AND
|
||||
v.target_crs_auth_name = c.auth_name AND
|
||||
v.target_crs_code = c.code AND
|
||||
vu.object_table_name = v.table_name AND
|
||||
|
||||
@@ -268,7 +268,7 @@ INSERT INTO "compound_crs" VALUES('EPSG','7403','NTF (Paris) / France III + NGF
|
||||
INSERT INTO "usage" VALUES('EPSG','5268','compound_crs','EPSG','7403','EPSG','1733','EPSG','1142');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','7404','RT90 + RH70 height',NULL,'EPSG','4124','EPSG','5718',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','5269','compound_crs','EPSG','7404','EPSG','3313','EPSG','1142');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','7405','OSGB 1936 / British National Grid + ODN height',NULL,'EPSG','27700','EPSG','5701',0);
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','7405','OSGB36 / British National Grid + ODN height',NULL,'EPSG','27700','EPSG','5701',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','5270','compound_crs','EPSG','7405','EPSG','2792','EPSG','1142');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','7406','NAD27 + NGVD29 height (ftUS)',NULL,'EPSG','4267','EPSG','5702',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','5271','compound_crs','EPSG','7406','EPSG','1323','EPSG','1142');
|
||||
@@ -690,6 +690,10 @@ INSERT INTO "compound_crs" VALUES('EPSG','9543','ITRF2005 + SA LLD height',NULL,
|
||||
INSERT INTO "usage" VALUES('EPSG','14522','compound_crs','EPSG','9543','EPSG','3309','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','9544','NAD83(CSRS)v6 + CGVD2013(CGG2013a) height',NULL,'EPSG','8252','EPSG','9245',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','14525','compound_crs','EPSG','9544','EPSG','1061','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','9656','ETRF2000-PL + Baltic 1986 height',NULL,'EPSG','9702','EPSG','9650',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15108','compound_crs','EPSG','9656','EPSG','3293','EPSG','1270');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','9657','ETRF2000-PL + EVRF2007-PL height',NULL,'EPSG','9702','EPSG','9651',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15109','compound_crs','EPSG','9657','EPSG','3293','EPSG','1270');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','9705','WGS 84 + MSL height',NULL,'EPSG','4326','EPSG','5714',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15089','compound_crs','EPSG','9705','EPSG','1262','EPSG','1026');
|
||||
INSERT INTO "compound_crs" VALUES('EPSG','9707','WGS 84 + EGM96 height',NULL,'EPSG','4326','EPSG','5773',0);
|
||||
|
||||
@@ -268,7 +268,6 @@ INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','6223','carthage','PROJ'
|
||||
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','6312','hermannskogel','PROJ');
|
||||
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','6299','ire65','PROJ');
|
||||
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','6272','nzgd49','PROJ');
|
||||
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','6277','OSGB36','PROJ');
|
||||
|
||||
-- Given that we have installed above a WGS84 alias to the datum, add also one
|
||||
-- to the EPSG:4326 CRS, as this is a common use case (https://github.com/OSGeo/PROJ/issues/2216)
|
||||
@@ -341,7 +340,9 @@ FROM grid_transformation gt
|
||||
JOIN compound_crs c ON gt.target_crs_code = c.code AND gt.target_crs_auth_name = c.auth_name
|
||||
JOIN geodetic_crs gcrs ON gt.source_crs_auth_name = gcrs.auth_name AND gt.source_crs_code = gcrs.code
|
||||
JOIN vertical_crs vcrs on vcrs.auth_name = c.vertical_crs_auth_name AND vcrs.code = c.vertical_crs_code
|
||||
WHERE method_auth_name = 'EPSG' AND method_code IN ('1088', '1089', '1090', '1091', '1092', '1093', '1094', '1095', '1096', '1097', '1098', '1103') AND gt.deprecated = 0;
|
||||
WHERE method_auth_name = 'EPSG' AND method_name LIKE 'Geog3D to Geog2D+%'
|
||||
AND NOT EXISTS (SELECT 1 FROM grid_transformation gt2 WHERE gt2.method_name LIKE 'Geographic3D to%' AND gt2.source_crs_auth_name = gt.source_crs_auth_name AND gt2.source_crs_code = gt.source_crs_code AND gt2.target_crs_auth_name = vcrs.auth_name AND gt2.target_crs_code = vcrs.code)
|
||||
AND gt.deprecated = 0;
|
||||
|
||||
INSERT INTO "usage"
|
||||
SELECT
|
||||
@@ -356,4 +357,5 @@ SELECT
|
||||
u.scope_code
|
||||
FROM grid_transformation gt
|
||||
JOIN usage u ON u.object_auth_name = gt.auth_name AND u.object_code = gt.code AND u.object_table_name = 'grid_transformation'
|
||||
WHERE method_auth_name = 'EPSG' AND method_code IN ('1088', '1089', '1090', '1091', '1092', '1093', '1094', '1095', '1096', '1097', '1098', '1103') AND gt.deprecated = 0;
|
||||
WHERE method_auth_name = 'EPSG' AND method_name LIKE 'Geog3D to Geog2D+%'
|
||||
AND EXISTS (SELECT 1 FROM grid_transformation gt2 WHERE gt2.auth_name = 'PROJ' AND gt2.code = gt.auth_name || '_' || gt.code || '_RESTRICTED_TO_VERTCRS');
|
||||
|
||||
+18
-6
@@ -8131,11 +8131,17 @@ INSERT INTO "projected_crs" VALUES('ESRI','53032','Sphere_Azimuthal_Equidistant'
|
||||
INSERT INTO "usage" VALUES('ESRI', 'PCRS_53032_USAGE','projected_crs','ESRI','53032','EPSG','1262','EPSG','1024');
|
||||
INSERT INTO "projected_crs" VALUES('ESRI','53034','Sphere_Cylindrical_Equal_Area',NULL,NULL,NULL,'EPSG','4035',NULL,NULL,'PROJCS["Sphere_Cylindrical_Equal_Area",GEOGCS["GCS_Sphere",DATUM["D_Sphere",SPHEROID["Sphere",6371000.0,0.0]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Cylindrical_Equal_Area"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",0.0],PARAMETER["Standard_Parallel_1",0.0],UNIT["Meter",1.0]]',0);
|
||||
INSERT INTO "usage" VALUES('ESRI', 'PCRS_53034_USAGE','projected_crs','ESRI','53034','EPSG','1262','EPSG','1024');
|
||||
INSERT INTO "projected_crs" VALUES('ESRI','53035','Sphere_Equal_Earth_Greenwich',NULL,NULL,NULL,'ESRI','104047',NULL,NULL,'PROJCS["Sphere_Equal_Earth_Greenwich",GEOGCS["GCS_Sphere_GRS_1980_Mean_Radius",DATUM["D_Sphere_GRS_1980_Mean_Radius",SPHEROID["Sphere_GRS_1980_Mean_Radius",6371008.7714,0.0]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Equal_Earth"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",0.0],UNIT["Meter",1.0]]',0);
|
||||
INSERT INTO "conversion" VALUES('ESRI','53035','unnamed',NULL,'EPSG','1078','Equal Earth','EPSG','8802','Longitude of natural origin',0.0,'EPSG','9102','EPSG','8806','False easting',0.0,'EPSG','9001','EPSG','8807','False northing',0.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,0);
|
||||
INSERT INTO "usage" VALUES('ESRI', 'CONV_53035_USAGE','conversion','ESRI','53035','EPSG','1262','EPSG','1024');
|
||||
INSERT INTO "projected_crs" VALUES('ESRI','53035','Sphere_Equal_Earth_Greenwich',NULL,'EPSG','4400','ESRI','104047','ESRI','53035',NULL,0);
|
||||
INSERT INTO "usage" VALUES('ESRI', 'PCRS_53035_USAGE','projected_crs','ESRI','53035','EPSG','1262','EPSG','1024');
|
||||
INSERT INTO "projected_crs" VALUES('ESRI','53036','Sphere_Equal_Earth_Americas',NULL,NULL,NULL,'ESRI','104047',NULL,NULL,'PROJCS["Sphere_Equal_Earth_Americas",GEOGCS["GCS_Sphere_GRS_1980_Mean_Radius",DATUM["D_Sphere_GRS_1980_Mean_Radius",SPHEROID["Sphere_GRS_1980_Mean_Radius",6371008.7714,0.0]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Equal_Earth"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-90.0],UNIT["Meter",1.0]]',0);
|
||||
INSERT INTO "conversion" VALUES('ESRI','53036','unnamed',NULL,'EPSG','1078','Equal Earth','EPSG','8802','Longitude of natural origin',-90.0,'EPSG','9102','EPSG','8806','False easting',0.0,'EPSG','9001','EPSG','8807','False northing',0.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,0);
|
||||
INSERT INTO "usage" VALUES('ESRI', 'CONV_53036_USAGE','conversion','ESRI','53036','EPSG','1262','EPSG','1024');
|
||||
INSERT INTO "projected_crs" VALUES('ESRI','53036','Sphere_Equal_Earth_Americas',NULL,'EPSG','4400','ESRI','104047','ESRI','53036',NULL,0);
|
||||
INSERT INTO "usage" VALUES('ESRI', 'PCRS_53036_USAGE','projected_crs','ESRI','53036','EPSG','1262','EPSG','1024');
|
||||
INSERT INTO "projected_crs" VALUES('ESRI','53037','Sphere_Equal_Earth_Asia_Pacific',NULL,NULL,NULL,'ESRI','104047',NULL,NULL,'PROJCS["Sphere_Equal_Earth_Asia_Pacific",GEOGCS["GCS_Sphere_GRS_1980_Mean_Radius",DATUM["D_Sphere_GRS_1980_Mean_Radius",SPHEROID["Sphere_GRS_1980_Mean_Radius",6371008.7714,0.0]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Equal_Earth"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",150.0],UNIT["Meter",1.0]]',0);
|
||||
INSERT INTO "conversion" VALUES('ESRI','53037','unnamed',NULL,'EPSG','1078','Equal Earth','EPSG','8802','Longitude of natural origin',150.0,'EPSG','9102','EPSG','8806','False easting',0.0,'EPSG','9001','EPSG','8807','False northing',0.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,0);
|
||||
INSERT INTO "usage" VALUES('ESRI', 'CONV_53037_USAGE','conversion','ESRI','53037','EPSG','1262','EPSG','1024');
|
||||
INSERT INTO "projected_crs" VALUES('ESRI','53037','Sphere_Equal_Earth_Asia_Pacific',NULL,'EPSG','4400','ESRI','104047','ESRI','53037',NULL,0);
|
||||
INSERT INTO "usage" VALUES('ESRI', 'PCRS_53037_USAGE','projected_crs','ESRI','53037','EPSG','1262','EPSG','1024');
|
||||
INSERT INTO "projected_crs" VALUES('ESRI','53042','Sphere_Winkel_Tripel_NGS',NULL,NULL,NULL,'EPSG','4035',NULL,NULL,'PROJCS["Sphere_Winkel_Tripel_NGS",GEOGCS["GCS_Sphere",DATUM["D_Sphere",SPHEROID["Sphere",6371000.0,0.0]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Winkel_Tripel"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",0.0],PARAMETER["Standard_Parallel_1",50.467],UNIT["Meter",1.0]]',0);
|
||||
INSERT INTO "usage" VALUES('ESRI', 'PCRS_53042_USAGE','projected_crs','ESRI','53042','EPSG','1262','EPSG','1024');
|
||||
@@ -8223,11 +8229,17 @@ INSERT INTO "projected_crs" VALUES('ESRI','54032','World_Azimuthal_Equidistant',
|
||||
INSERT INTO "usage" VALUES('ESRI', 'PCRS_54032_USAGE','projected_crs','ESRI','54032','EPSG','1262','EPSG','1024');
|
||||
INSERT INTO "projected_crs" VALUES('ESRI','54034','World_Cylindrical_Equal_Area',NULL,NULL,NULL,'EPSG','4326',NULL,NULL,'PROJCS["World_Cylindrical_Equal_Area",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Cylindrical_Equal_Area"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",0.0],PARAMETER["Standard_Parallel_1",0.0],UNIT["Meter",1.0]]',0);
|
||||
INSERT INTO "usage" VALUES('ESRI', 'PCRS_54034_USAGE','projected_crs','ESRI','54034','EPSG','1262','EPSG','1024');
|
||||
INSERT INTO "projected_crs" VALUES('ESRI','54035','WGS_1984_Equal_Earth_Greenwich',NULL,NULL,NULL,'EPSG','4326',NULL,NULL,'PROJCS["WGS_1984_Equal_Earth_Greenwich",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Equal_Earth"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",0.0],UNIT["Meter",1.0]]',1);
|
||||
INSERT INTO "conversion" VALUES('ESRI','54035','unnamed',NULL,'EPSG','1078','Equal Earth','EPSG','8802','Longitude of natural origin',0.0,'EPSG','9102','EPSG','8806','False easting',0.0,'EPSG','9001','EPSG','8807','False northing',0.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,1);
|
||||
INSERT INTO "usage" VALUES('ESRI', 'CONV_54035_USAGE','conversion','ESRI','54035','EPSG','1262','EPSG','1024');
|
||||
INSERT INTO "projected_crs" VALUES('ESRI','54035','WGS_1984_Equal_Earth_Greenwich',NULL,'EPSG','4400','EPSG','4326','ESRI','54035',NULL,1);
|
||||
INSERT INTO "usage" VALUES('ESRI', 'PCRS_54035_USAGE','projected_crs','ESRI','54035','EPSG','1262','EPSG','1024');
|
||||
INSERT INTO "projected_crs" VALUES('ESRI','54036','WGS_1984_Equal_Earth_Americas',NULL,NULL,NULL,'EPSG','4326',NULL,NULL,'PROJCS["WGS_1984_Equal_Earth_Americas",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Equal_Earth"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",-90.0],UNIT["Meter",1.0]]',1);
|
||||
INSERT INTO "conversion" VALUES('ESRI','54036','unnamed',NULL,'EPSG','1078','Equal Earth','EPSG','8802','Longitude of natural origin',-90.0,'EPSG','9102','EPSG','8806','False easting',0.0,'EPSG','9001','EPSG','8807','False northing',0.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,1);
|
||||
INSERT INTO "usage" VALUES('ESRI', 'CONV_54036_USAGE','conversion','ESRI','54036','EPSG','1262','EPSG','1024');
|
||||
INSERT INTO "projected_crs" VALUES('ESRI','54036','WGS_1984_Equal_Earth_Americas',NULL,'EPSG','4400','EPSG','4326','ESRI','54036',NULL,1);
|
||||
INSERT INTO "usage" VALUES('ESRI', 'PCRS_54036_USAGE','projected_crs','ESRI','54036','EPSG','1262','EPSG','1024');
|
||||
INSERT INTO "projected_crs" VALUES('ESRI','54037','WGS_1984_Equal_Earth_Asia_Pacific',NULL,NULL,NULL,'EPSG','4326',NULL,NULL,'PROJCS["WGS_1984_Equal_Earth_Asia_Pacific",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Equal_Earth"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",150.0],UNIT["Meter",1.0]]',1);
|
||||
INSERT INTO "conversion" VALUES('ESRI','54037','unnamed',NULL,'EPSG','1078','Equal Earth','EPSG','8802','Longitude of natural origin',150.0,'EPSG','9102','EPSG','8806','False easting',0.0,'EPSG','9001','EPSG','8807','False northing',0.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,1);
|
||||
INSERT INTO "usage" VALUES('ESRI', 'CONV_54037_USAGE','conversion','ESRI','54037','EPSG','1262','EPSG','1024');
|
||||
INSERT INTO "projected_crs" VALUES('ESRI','54037','WGS_1984_Equal_Earth_Asia_Pacific',NULL,'EPSG','4400','EPSG','4326','ESRI','54037',NULL,1);
|
||||
INSERT INTO "usage" VALUES('ESRI', 'PCRS_54037_USAGE','projected_crs','ESRI','54037','EPSG','1262','EPSG','1024');
|
||||
INSERT INTO "projected_crs" VALUES('ESRI','54042','World_Winkel_Tripel_NGS',NULL,NULL,NULL,'EPSG','4326',NULL,NULL,'PROJCS["World_Winkel_Tripel_NGS",GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Winkel_Tripel"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",0.0],PARAMETER["Standard_Parallel_1",50.467],UNIT["Meter",1.0]]',0);
|
||||
INSERT INTO "usage" VALUES('ESRI', 'PCRS_54042_USAGE','projected_crs','ESRI','54042','EPSG','1262','EPSG','1024');
|
||||
|
||||
+2
-1
@@ -240,7 +240,7 @@ INSERT INTO "extent" VALUES('EPSG','1260','Zambia','Zambia.',-18.08,-8.19,21.99,
|
||||
INSERT INTO "extent" VALUES('EPSG','1261','Zimbabwe','Zimbabwe.',-22.42,-15.61,25.23,33.08,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1262','World','World.',-90.0,90.0,-180.0,180.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1263','Not specified','Not specified.',-90.0,90.0,-180.0,180.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1264','UK - Great Britain; Isle of Man','United Kingdom (UK) - Great Britain - England and Wales onshore, Scotland onshore and Western Isles nearshore; Isle of Man onshore.',49.79,60.94,-8.82,1.92,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1264','UK - Great Britain onshore and nearshore; Isle of Man','United Kingdom (UK) - Great Britain - England and Wales onshore, Scotland onshore and Western Isles nearshore including Sea of the Hebrides and The Minch; Isle of Man onshore.',49.797,60.935,-8.818,1.92,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1265','Argentina - Comodoro Rivadavia','Argentina - Comodoro Rivadavia area.',-46.7,-45.19,-69.5,-67.1,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1266','Venezuela - Puerto La Cruz','Venezuela - Puerto La Cruz area.',10.0,10.31,-64.7,-64.5,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','1267','Venezuela - Barinas','Venezuela - Barinas area.',7.31,9.07,-71.49,-67.58,0);
|
||||
@@ -3591,3 +3591,4 @@ INSERT INTO "extent" VALUES('EPSG','4612','Canada - Newfoundland','Canada - Newf
|
||||
INSERT INTO "extent" VALUES('EPSG','4613','Europe - Lyon-Turin','France and Italy - on or related to the rail route from Lyon to Turin.',44.87236950014,45.88320957683,4.6505192204449,7.8772423467624,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4614','Argentina - Comodoro Rivadavia - west of 67.5°W','Argentina - Comodoro Rivadavia area west of 67°30''W.',-46.699998855591,-45.199998855591,-69.5,-67.5,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4615','Norway, Svalbard and Jan Mayen - offshore','Norway (offshore) and Svalbard and Jan Mayen (offshore).',56.087,84.723,-13.63,38.0,0);
|
||||
INSERT INTO "extent" VALUES('EPSG','4616','UK - Great Britain onshore; Isle of Man','United Kingdom (UK) - Great Britain - England, Scotland and Wales onshore; Isle of Man onshore.',49.815037348282,60.926651214189,-8.6861861839429,1.9002468741098,0);
|
||||
|
||||
@@ -434,7 +434,7 @@ INSERT INTO "geodetic_crs" VALUES('EPSG','4275','NTF',NULL,'geographic 2D','EPSG
|
||||
INSERT INTO "usage" VALUES('EPSG','3157','geodetic_crs','EPSG','4275','EPSG','3694','EPSG','1027');
|
||||
INSERT INTO "geodetic_crs" VALUES('EPSG','4276','NSWC 9Z-2',NULL,'geographic 2D','EPSG','6422','EPSG','6276',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','3158','geodetic_crs','EPSG','4276','EPSG','1262','EPSG','1027');
|
||||
INSERT INTO "geodetic_crs" VALUES('EPSG','4277','OSGB 1936',NULL,'geographic 2D','EPSG','6422','EPSG','6277',NULL,0);
|
||||
INSERT INTO "geodetic_crs" VALUES('EPSG','4277','OSGB36',NULL,'geographic 2D','EPSG','6422','EPSG','6277',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','3159','geodetic_crs','EPSG','4277','EPSG','4390','EPSG','1027');
|
||||
INSERT INTO "geodetic_crs" VALUES('EPSG','4278','OSGB70',NULL,'geographic 2D','EPSG','6422','EPSG','6278',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','3160','geodetic_crs','EPSG','4278','EPSG','1264','EPSG','1027');
|
||||
@@ -2120,3 +2120,9 @@ INSERT INTO "geodetic_crs" VALUES('EPSG','9695','REDGEOMIN',NULL,'geographic 3D'
|
||||
INSERT INTO "usage" VALUES('EPSG','14947','geodetic_crs','EPSG','9695','EPSG','1066','EPSG','1181');
|
||||
INSERT INTO "geodetic_crs" VALUES('EPSG','9696','REDGEOMIN',NULL,'geographic 2D','EPSG','6422','EPSG','1304',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','14949','geodetic_crs','EPSG','9696','EPSG','1066','EPSG','1183');
|
||||
INSERT INTO "geodetic_crs" VALUES('EPSG','9700','ETRF2000-PL',NULL,'geocentric','EPSG','6500','EPSG','1305',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15062','geodetic_crs','EPSG','9700','EPSG','1192','EPSG','1027');
|
||||
INSERT INTO "geodetic_crs" VALUES('EPSG','9701','ETRF2000-PL',NULL,'geographic 3D','EPSG','6423','EPSG','1305',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15063','geodetic_crs','EPSG','9701','EPSG','1192','EPSG','1027');
|
||||
INSERT INTO "geodetic_crs" VALUES('EPSG','9702','ETRF2000-PL',NULL,'geographic 2D','EPSG','6422','EPSG','1305',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15131','geodetic_crs','EPSG','9702','EPSG','1192','EPSG','1183');
|
||||
|
||||
@@ -328,6 +328,8 @@ INSERT INTO "geodetic_datum" VALUES('EPSG','1295','Lyon Turin Ferroviaire 2004',
|
||||
INSERT INTO "usage" VALUES('EPSG','14538','geodetic_datum','EPSG','1295','EPSG','4613','EPSG','1271');
|
||||
INSERT INTO "geodetic_datum" VALUES('EPSG','1304','Red Geodesica Para Mineria en Chile',NULL,'EPSG','7019','EPSG','8901','2019-01-01',2019.0,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15025','geodetic_datum','EPSG','1304','EPSG','1066','EPSG','1181');
|
||||
INSERT INTO "geodetic_datum" VALUES('EPSG','1305','ETRF2000 Poland',NULL,'EPSG','7019','EPSG','8901','2012-11-15',NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15061','geodetic_datum','EPSG','1305','EPSG','1192','EPSG','1180');
|
||||
INSERT INTO "geodetic_datum" VALUES('EPSG','6001','Not specified (based on Airy 1830 ellipsoid)',NULL,'EPSG','7001','EPSG','8901',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,0);
|
||||
@@ -718,7 +720,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,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','13617','geodetic_datum','EPSG','6276','EPSG','1262','EPSG','1245');
|
||||
INSERT INTO "geodetic_datum" VALUES('EPSG','6277','OSGB 1936',NULL,'EPSG','7001','EPSG','8901','1936-01-01',NULL,NULL,0);
|
||||
INSERT INTO "geodetic_datum" VALUES('EPSG','6277','Ordnance Survey of Great Britain 1936',NULL,'EPSG','7001','EPSG','8901','1936',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,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','13619','geodetic_datum','EPSG','6278','EPSG','1264','EPSG','1027');
|
||||
|
||||
@@ -85,6 +85,8 @@ VALUES
|
||||
-- ch_swisstopo - Swisstopo Federal Office of Topography
|
||||
('CHENyx06a.gsb','ch_swisstopo_CHENyx06a.tif','CHENyx06a.gsb','GTiff','hgridshift',0,NULL,'https://cdn.proj.org/ch_swisstopo_CHENyx06a.tif',1,1,NULL),
|
||||
('CHENyx06_ETRS.gsb','ch_swisstopo_CHENyx06_ETRS.tif','CHENyx06_ETRS.gsb','GTiff','hgridshift',0,NULL,'https://cdn.proj.org/ch_swisstopo_CHENyx06_ETRS.tif',1,1,NULL),
|
||||
('chgeo2004_ETRS.agr','ch_swisstopo_chgeo2004_ETRS89_LHN95.tif',NULL,'GTiff','geoid_like',0,NULL,'https://cdn.proj.org/ch_swisstopo_chgeo2004_ETRS89_LHN95.tif',1,1,NULL),
|
||||
('chgeo2004_htrans_ETRS.agr','ch_swisstopo_chgeo2004_ETRS89_LN02.tif',NULL,'GTiff','geoid_like',0,NULL,'https://cdn.proj.org/ch_swisstopo_chgeo2004_ETRS89_LN02.tif',1,1,NULL),
|
||||
|
||||
-- de_adv - Arbeitsgemeinschaft der Vermessungsverwaltungender der Länder der Bundesrepublik Deutschland (AdV)
|
||||
('BETA2007.gsb','de_adv_BETA2007.tif','BETA2007.gsb','GTiff','hgridshift',0,NULL,'https://cdn.proj.org/de_adv_BETA2007.tif',1,1,NULL),
|
||||
@@ -116,6 +118,10 @@ VALUES
|
||||
('EGM08_REDNAP.txt','es_ign_egm08-rednap.tif',NULL,'GTiff','geoid_like',0,NULL,'https://cdn.proj.org/es_ign_egm08-rednap.tif',1,1,NULL),
|
||||
('EGM08_REDNAP_Canarias.txt','es_ign_egm08-rednap-canarias.tif',NULL,'GTiff','geoid_like',0,NULL,'https://cdn.proj.org/es_ign_egm08-rednap-canarias.tif',1,1,NULL),
|
||||
|
||||
-- eur_nkg - Nordic Geodetic Commission
|
||||
('eur_nkg_nkgrf03vel_realigned.tif','eur_nkg_nkgrf03vel_realigned.tif',NULL,'GTiff','velocity_grid',0,NULL,'https://cdn.proj.org/eur_nkg_nkgrf03vel_realigned.tif',1,1,NULL),
|
||||
('eur_nkg_nkgrf17vel.tif','eur_nkg_nkgrf17vel.tif',NULL,'GTiff','velocity_grid',0,NULL,'https://cdn.proj.org/eur_nkg_nkgrf17vel.tif',1,1,NULL),
|
||||
|
||||
-- fi_nls - National Land Survey of Finland (MML)
|
||||
('fi_nls_n43_n60.json','fi_nls_n43_n60.json',NULL,'JSON','tinshift',0,NULL,'https://cdn.proj.org/fi_nls_n43_n60.json',1,1,NULL),
|
||||
('fi_nls_n60_n2000.json','fi_nls_n60_n2000.json',NULL,'JSON','tinshift',0,NULL,'https://cdn.proj.org/fi_nls_n60_n2000.json',1,1,NULL),
|
||||
@@ -184,6 +190,8 @@ VALUES
|
||||
-- Norwegian grids
|
||||
('HREF2018B_NN2000_EUREF89.gtx','no_kv_HREF2018B_NN2000_EUREF89.tif',NULL,'GTiff','geoid_like',0,NULL,'https://cdn.proj.org/no_kv_HREF2018B_NN2000_EUREF89.tif',1,1,NULL),
|
||||
('href2008a.gtx','no_kv_href2008a.tif',NULL,'GTiff','geoid_like',0,NULL,'https://cdn.proj.org/no_kv_href2008a.tif',1,1,NULL),
|
||||
('no_kv_NKGETRF14_EPSG7922_2000.tif','no_kv_NKGETRF14_EPSG7922_2000.tif',NULL,'GTiff','geocentricoffset',0,NULL,'https://cdn.proj.org/no_kv_NKGETRF14_EPSG7922_2000.tif',1,1,NULL),
|
||||
('no_kv_ETRS89NO_NGO48_TIN.json','no_kv_ETRS89NO_NGO48_TIN.json',NULL,'JSON','tinshift',0,NULL,'https://cdn.proj.org/no_kv_ETRS89NO_NGO48_TIN.json',1,1,NULL),
|
||||
|
||||
-- nz_linz - New Zealand
|
||||
('nzgd2kgrid0005.gsb','nz_linz_nzgd2kgrid0005.tif','nzgd2kgrid0005.gsb','GTiff','hgridshift',0,NULL,'https://cdn.proj.org/nz_linz_nzgd2kgrid0005.tif',1,1,NULL),
|
||||
|
||||
@@ -323,9 +323,9 @@ INSERT INTO "usage" VALUES('EPSG','9347','grid_transformation','EPSG','5334','EP
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','5335','ETRS89 to Malin Head height (1)','May be used for transformations from WGS 84 to Malin Head. Replaced by ETRS89 to Malin Head height (2) (code 7959).','EPSG','1045','Geographic3D to GravityRelatedHeight (OSGM02-Ire)','EPSG','4937','EPSG','5731',0.04,'EPSG','8666','Geoid (height correction) model file','OSGM02_RoI.txt',NULL,NULL,NULL,NULL,NULL,NULL,'OS-Ire',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','9348','grid_transformation','EPSG','5335','EPSG','1305','EPSG','1133');
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','5338','OSGB 1936 to ETRS89 (1)','Approximate alternative to official OSTN02 method (tfm code 7952). Accuracy at 2000 test points compared to OSTN02 (tfm code 1039): latitude 0.5mm av, 17mm max; longitude 0.8mm av, 23mm max. May be taken as approximate CT to WGS 84 - see code 5339.','EPSG','9615','NTv2','EPSG','4277','EPSG','4258',0.03,'EPSG','8656','Latitude and longitude difference file','OSTN02_NTv2.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'OSGB-UK Gbr02 NT',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','9349','grid_transformation','EPSG','5338','EPSG','1264','EPSG','1273');
|
||||
INSERT INTO "usage" VALUES('EPSG','9349','grid_transformation','EPSG','5338','EPSG','4616','EPSG','1273');
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','5339','OSGB 1936 to WGS 84 (7)','Parameter values taken from OSGB 1936 to ETRS89 (1) (tfm code 5338) assuming that ETRS89 is coincident with WGS 84 within the accuracy of the tfm. Within accuracy of the tfm equivalent to OSGB 1936 / British National Grid to WGS 84 (2) (tfm code 15956).','EPSG','9615','NTv2','EPSG','4277','EPSG','4326',1.0,'EPSG','8656','Latitude and longitude difference file','OSTN02_NTv2.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'OGP-UK Gbr02 NT',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','9350','grid_transformation','EPSG','5339','EPSG','1264','EPSG','1041');
|
||||
INSERT INTO "usage" VALUES('EPSG','9350','grid_transformation','EPSG','5339','EPSG','4616','EPSG','1041');
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','5409','NGVD29 height to NAVD88 height (1)','Interpolation within the gridded data file may be made using any of the horizontal CRSs NAD27, NAD83 or NAD83(HARN).','EPSG','9658','Vertical Offset by Grid Interpolation (VERTCON)','EPSG','5702','EPSG','5703',0.02,'EPSG','8732','Vertical offset file','vertconw.94',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-US Conus W',1);
|
||||
INSERT INTO "usage" VALUES('EPSG','9377','grid_transformation','EPSG','5409','EPSG','2950','EPSG','1255');
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','5410','NGVD29 height to NAVD88 height (2)','Interpolation within the gridded data file may be made using any of the horizontal CRSs NAD27, NAD83 or NAD83(HARN).','EPSG','9658','Vertical Offset by Grid Interpolation (VERTCON)','EPSG','5702','EPSG','5703',0.02,'EPSG','8732','Vertical offset file','vertconc.94',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-US Conus C',1);
|
||||
@@ -424,9 +424,9 @@ INSERT INTO "grid_transformation" VALUES('EPSG','7673','CH1903 to CHTRF95 (1)','
|
||||
INSERT INTO "usage" VALUES('EPSG','10205','grid_transformation','EPSG','7673','EPSG','1286','EPSG','1084');
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','7674','CH1903 to ETRS89 (2)','Replaces tfm code 1646. Equivalent to concatenation of transformations 15486 and 1647 to within 2cm. Also used as transformation between CH1903 and CHTRF95 (see code 7673). May be used as approximate tfm CH1903 to WGS 84 - see code 7788.','EPSG','9615','NTv2','EPSG','4149','EPSG','4258',0.25,'EPSG','8656','Latitude and longitude difference file','CHENyx06_ETRS.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'BfL-Che NTv2',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','10206','grid_transformation','EPSG','7674','EPSG','1286','EPSG','1083');
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','7709','OSGB 1936 to ETRS89 (2)','Approximate alternative to official OSTN15 method (tfm code 7953). May be taken as approximate transformation OSGB 1936 to WGS 84 - see code 7710. Replaces OSGB 1936 to ETRS89 (1) (tfm code 5338).','EPSG','9615','NTv2','EPSG','4277','EPSG','4258',0.03,'EPSG','8656','Latitude and longitude difference file','OSTN15_NTv2_OSGBtoETRS.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'OSGB-UK Gbr15 NT',0);
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','7709','OSGB36 to ETRS89 (2)','Approximate alternative to official OSTN15 method (tfm code 7953). May be taken as approximate transformation OSGB36 to WGS 84 - see code 7710. Replaces OSGB36 to ETRS89 (1) (tfm code 5338).','EPSG','9615','NTv2','EPSG','4277','EPSG','4258',0.03,'EPSG','8656','Latitude and longitude difference file','OSTN15_NTv2_OSGBtoETRS.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'OSGB-UK Gbr15 NT',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','10222','grid_transformation','EPSG','7709','EPSG','4390','EPSG','1273');
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','7710','OSGB 1936 to WGS 84 (9)','Parameter values taken from OSGB 1936 to ETRS89 (3) (tfm code 7709) assuming that ETRS89 is coincident with WGS 84 within the accuracy of the tfm. Replaces OSGB 1936 to WGS 84 (7) (tfm code 5339).','EPSG','9615','NTv2','EPSG','4277','EPSG','4326',1.0,'EPSG','8656','Latitude and longitude difference file','OSTN15_NTv2_OSGBtoETRS.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'OGP-UK Gbr15 NT',0);
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','7710','OSGB36 to WGS 84 (9)','Parameter values taken from OSGB36 to ETRS89 (3) (tfm code 7709) assuming that ETRS89 is coincident with WGS 84 within the accuracy of the tfm. Replaces OSGB36 to WGS 84 (7) (tfm code 5339).','EPSG','9615','NTv2','EPSG','4277','EPSG','4326',1.0,'EPSG','8656','Latitude and longitude difference file','OSTN15_NTv2_OSGBtoETRS.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'OGP-UK Gbr15 NT',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','10223','grid_transformation','EPSG','7710','EPSG','4390','EPSG','1252');
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','7711','ETRS89 to ODN height (2)','OSGM15 supersedes OSGM02 geoid model. Replaces ETRS89 to Newlyn height (1) (tfm code 10021). For reversible alternative to this transformation see ETRS89 to ETRS89 + ODN height (2) (code 9587).','EPSG','9663','Geographic3D to GravityRelatedHeight (OSGM-GB)','EPSG','4937','EPSG','5701',0.008,'EPSG','8666','Geoid (height correction) model file','OSTN15_OSGM15_GB.txt',NULL,NULL,NULL,NULL,NULL,NULL,'OS-UK Gbr 2015',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','14515','grid_transformation','EPSG','7711','EPSG','2792','EPSG','1133');
|
||||
@@ -1030,6 +1030,24 @@ INSERT INTO "grid_transformation" VALUES('EPSG','9648','RH2000 height to EVRF201
|
||||
INSERT INTO "usage" VALUES('EPSG','14697','grid_transformation','EPSG','9648','EPSG','3313','EPSG','1059');
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','9649','RH2000 height to EVRF2019 mean-tide height (1)','Determined at 3356 points, SD 0.016m. Offset: mean 0.036m, minimum 0.003m, maximum 0.071m.','EPSG','1085','Vertical Offset by Grid Interpolation (asc)','EPSG','5613','EPSG','9390',0.032,'EPSG','8732','Vertical offset file','se_2019m.asc',NULL,NULL,NULL,NULL,'EPSG','4258','EuG-Swe 2019m 2020-09',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','14778','grid_transformation','EPSG','9649','EPSG','3313','EPSG','1059');
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','9652','Baltic 1986 height to EVRF2019 height (1)','Determined at 300 points, SD 0.010m. Offset: mean 0.178m, minimum 0.144m, maximum 0.203m. May also use CRS 9702 (ETRF2000-PL) as interpolation CRS.','EPSG','1085','Vertical Offset by Grid Interpolation (asc)','EPSG','9650','EPSG','9389',0.02,'EPSG','8732','Vertical offset file','pl86_2019z.asc',NULL,NULL,NULL,NULL,'EPSG','4258','EuG-Pol 2019z 2020-09',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15035','grid_transformation','EPSG','9652','EPSG','3293','EPSG','1059');
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','9653','Baltic 1986 height to EVRF2019 mean-tide height (1)','Determined at 300 points, SD 0.010m. Offset: mean 0.176m, minimum 0.133m, maximum 0.201m. May also use CRS 9702 (ETRF2000-PL) as interpolation CRS.','EPSG','1085','Vertical Offset by Grid Interpolation (asc)','EPSG','9650','EPSG','9390',0.02,'EPSG','8732','Vertical offset file','pl86_2019m.asc',NULL,NULL,NULL,NULL,'EPSG','4258','EuG-Pol 2019m 2020-09',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15036','grid_transformation','EPSG','9653','EPSG','3293','EPSG','1059');
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','9654','EVRF2007-PL height to EVRF2019 height (1)','Determined at 319 points, SD 0.003m. Offset: mean 0.012m, minimum 0.002m, maximum 0.024m. May also use CRS 9702 (ETRF2000-PL) as interpolation CRS.','EPSG','1085','Vertical Offset by Grid Interpolation (asc)','EPSG','9651','EPSG','9389',0.006,'EPSG','8732','Vertical offset file','pl07_2019z.asc',NULL,NULL,NULL,NULL,'EPSG','4258','EuG-Pol 2019z 2020-09',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15037','grid_transformation','EPSG','9654','EPSG','3293','EPSG','1059');
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','9655','EVRF2000-PL height to EVRF2019 mean-tide height (1)','Determined at 319 points, SD 0.006m. Offset: mean 0.011m, minimum -0.006m, maximum 0.022m. May also use CRS 9702 (ETRF2000-PL) as interpolation CRS.','EPSG','1085','Vertical Offset by Grid Interpolation (asc)','EPSG','9651','EPSG','9390',0.012,'EPSG','8732','Vertical offset file','pl07_2019m.asc',NULL,NULL,NULL,NULL,'EPSG','4258','EuG-Pol 2019m 2020-09',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15038','grid_transformation','EPSG','9655','EPSG','3293','EPSG','1059');
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','9658','ETRF2000-PL to Baltic 1986 height (1)','For reversible alternative to this transformation see ETRF2000-PL to ETRF2000-PL + Baltic 1986 height (1) (code 9659).','EPSG','1099','Geographic3D to GravityRelatedHeight (PL txt)','EPSG','9702','EPSG','9650',0.03,'EPSG','8666','Geoid (height correction) model file','gugik-geoid2011-PL-KRON86-NH.txt',NULL,NULL,NULL,NULL,NULL,NULL,'GUGiK-Pol geoid11 KRON86',1);
|
||||
INSERT INTO "usage" VALUES('EPSG','15013','grid_transformation','EPSG','9658','EPSG','3293','EPSG','1133');
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','9659','ETRF2000-PL to ETRF2000-PL + Baltic 1986 height (1)','Reversible alternative to ETRF2000-PL to Baltic 1986 height (1) (code 9658).','EPSG','1100','Geog3D to Geog2D+GravityRelatedHeight (PL txt)','EPSG','9702','EPSG','9656',0.03,'EPSG','8666','Geoid (height correction) model file','gugik-geoid2011-PL-KRON86-NH.txt',NULL,NULL,NULL,NULL,'EPSG','9702','GUGiK-Pol geoid11 KRON86',1);
|
||||
INSERT INTO "usage" VALUES('EPSG','15106','grid_transformation','EPSG','9659','EPSG','3293','EPSG','1270');
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','9660','ETRF2000-PL to EVRF2007-PL height (1)','For reversible alternative to this transformation see ETRF2000-PL to ETRF2000-PL + EVRF2007-PL height (1) (code 9661).','EPSG','1099','Geographic3D to GravityRelatedHeight (PL txt)','EPSG','9702','EPSG','9651',0.03,'EPSG','8666','Geoid (height correction) model file','gugik-geoid2011-PL-EVRF2007-NH.txt',NULL,NULL,NULL,NULL,NULL,NULL,'GUGiK-Pol geoid11 EVRF07',1);
|
||||
INSERT INTO "usage" VALUES('EPSG','15039','grid_transformation','EPSG','9660','EPSG','3293','EPSG','1133');
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','9661','ETRF2000-PL to ETRF2000-PL + EVRF2007-PL height (1)','Reversible alternative to ETRF2000-PL to EVRF2007-PL height (1) (code 9660).','EPSG','1100','Geog3D to Geog2D+GravityRelatedHeight (PL txt)','EPSG','9702','EPSG','9657',0.03,'EPSG','8666','Geoid (height correction) model file','gugik-geoid2011-PL-EVRF2007-NH.txt',NULL,NULL,NULL,NULL,'EPSG','9702','GUGiK-Pol geoid11 EVRF07',1);
|
||||
INSERT INTO "usage" VALUES('EPSG','15107','grid_transformation','EPSG','9661','EPSG','3293','EPSG','1270');
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','9662','Baltic 1986 height to EVRF2007-PL height (1)','Gives same result as differencing quasi-geoid models geoid2011-KRON86 and geoid2011-EVRF2007 (transformations 9658 and 9660).','EPSG','1101','Vertical Offset by Grid Interpolation (PL txt)','EPSG','9650','EPSG','9651',0.04,'EPSG','8732','Vertical offset file','gugik-evrf2007.txt',NULL,NULL,NULL,NULL,'EPSG','9702','GUGiK-Pol',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15052','grid_transformation','EPSG','9662','EPSG','3293','EPSG','1059');
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','9664','EH2000 height to EVRF2019 height (1)','Determined at 367 points, SD 0.001m. Offset: mean 0.011m, minimum 0.008m, maximum 0.013m.','EPSG','1085','Vertical Offset by Grid Interpolation (asc)','EPSG','9663','EPSG','9389',0.002,'EPSG','8732','Vertical offset file','ee_2019z.asc',NULL,NULL,NULL,NULL,'EPSG','4258','EuG-Est 2019z 2020-09',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','14748','grid_transformation','EPSG','9664','EPSG','3246','EPSG','1059');
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','9665','EH2000 height to EVRF2019 mean-tide height (1)','Determined at 367 points, SD 0.002m. Offset: mean 0.041m, minimum 0.037m, maximum 0.045m.','EPSG','1085','Vertical Offset by Grid Interpolation (asc)','EPSG','9663','EPSG','9390',0.004,'EPSG','8732','Vertical offset file','ee_2019m.asc',NULL,NULL,NULL,NULL,'EPSG','4258','EuG-Est 2019m 2020-09',0);
|
||||
@@ -1056,6 +1074,14 @@ INSERT INTO "grid_transformation" VALUES('EPSG','9706','WGS 84 to WGS 84 + MSL h
|
||||
INSERT INTO "usage" VALUES('EPSG','15105','grid_transformation','EPSG','9706','EPSG','1262','EPSG','1270');
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','9708','WGS 84 to WGS 84 + EGM96 height (1)','Reversible alternative to WGS 84 to EGM96 height (1) (code 10084).','EPSG','1103','Geog3D to Geog2D+GravityRelatedHeight (EGM)','EPSG','4979','EPSG','9707',1.0,'EPSG','8666','Geoid (height correction) model file','WW15MGH.GRD',NULL,NULL,NULL,NULL,'EPSG','4326','NGA-World',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15101','grid_transformation','EPSG','9708','EPSG','1262','EPSG','1270');
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','9717','ETRF2000-PL to Baltic 1986 height (1)','For reversible alternative to this transformation see ETRF2000-PL to ETRF2000-PL + Baltic 1986 height (1) (code 9718).','EPSG','1099','Geographic3D to GravityRelatedHeight (PL txt)','EPSG','9701','EPSG','9650',0.03,'EPSG','8666','Geoid (height correction) model file','gugik-geoid2011-PL-KRON86-NH.txt',NULL,NULL,NULL,NULL,NULL,NULL,'GUGiK-Pol geoid11 KRON86',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15236','grid_transformation','EPSG','9717','EPSG','3293','EPSG','1133');
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','9718','ETRF2000-PL to ETRF2000-PL + Baltic 1986 height (1)','Reversible alternative to ETRF2000-PL to Baltic 1986 height (1) (code 9717).','EPSG','1100','Geog3D to Geog2D+GravityRelatedHeight (PL txt)','EPSG','9701','EPSG','9656',0.03,'EPSG','8666','Geoid (height correction) model file','gugik-geoid2011-PL-KRON86-NH.txt',NULL,NULL,NULL,NULL,'EPSG','9702','GUGiK-Pol geoid11 KRON86',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15237','grid_transformation','EPSG','9718','EPSG','3293','EPSG','1270');
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','9719','ETRF2000-PL to EVRF2007-PL height (1)','For reversible alternative to this transformation see ETRF2000-PL to ETRF2000-PL + EVRF2007-PL height (1) (code 9720).','EPSG','1099','Geographic3D to GravityRelatedHeight (PL txt)','EPSG','9701','EPSG','9651',0.03,'EPSG','8666','Geoid (height correction) model file','gugik-geoid2011-PL-EVRF2007-NH.txt',NULL,NULL,NULL,NULL,NULL,NULL,'GUGiK-Pol geoid11 EVRF07',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15238','grid_transformation','EPSG','9719','EPSG','3293','EPSG','1133');
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','9720','ETRF2000-PL to ETRF2000-PL + EVRF2007-PL height (1)','Reversible alternative to ETRF2000-PL to EVRF2007-PL height (1) (code 9719).','EPSG','1100','Geog3D to Geog2D+GravityRelatedHeight (PL txt)','EPSG','9701','EPSG','9657',0.03,'EPSG','8666','Geoid (height correction) model file','gugik-geoid2011-PL-EVRF2007-NH.txt',NULL,NULL,NULL,NULL,'EPSG','9702','GUGiK-Pol geoid11 EVRF07',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15239','grid_transformation','EPSG','9720','EPSG','3293','EPSG','1270');
|
||||
INSERT INTO "grid_transformation" VALUES('EPSG','10000','RGF93 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 to NGF-IGN69 height (1) (code 10000) assuming that RGF93 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);
|
||||
|
||||
@@ -169,3 +169,45 @@ INSERT INTO "usage" VALUES(
|
||||
'EPSG','3263', -- area of use: Japan - onshore mainland
|
||||
'EPSG','1024' -- unknown
|
||||
);
|
||||
|
||||
-- Switzerland
|
||||
|
||||
INSERT INTO "grid_transformation" VALUES(
|
||||
'PROJ','EPSG_4937_TO_EPSG_5729','ETRS89 to LHN95 height',
|
||||
NULL,
|
||||
'EPSG','9665','Geographic3D to GravityRelatedHeight (gtx)',
|
||||
'EPSG','4937', -- source CRS (ETRS89)
|
||||
'EPSG','5729', -- target CRS (LHN95 height)
|
||||
NULL,
|
||||
'EPSG','8666','Geoid (height correction) model file','chgeo2004_ETRS.agr',
|
||||
NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
|
||||
INSERT INTO "usage" VALUES(
|
||||
'PROJ',
|
||||
'EPSG_4937_TO_EPSG_5729_USAGE',
|
||||
'grid_transformation',
|
||||
'PROJ',
|
||||
'EPSG_4937_TO_EPSG_5729',
|
||||
'EPSG','1286', -- area of use: Europe - Liechtenstein and Switzerland
|
||||
'EPSG','1024' -- unknown
|
||||
);
|
||||
|
||||
INSERT INTO "grid_transformation" VALUES(
|
||||
'PROJ','EPSG_4937_TO_EPSG_5728','ETRS89 to LN02 height',
|
||||
NULL,
|
||||
'EPSG','9665','Geographic3D to GravityRelatedHeight (gtx)',
|
||||
'EPSG','4937', -- source CRS (ETRS89)
|
||||
'EPSG','5728', -- target CRS (LN02 height)
|
||||
NULL,
|
||||
'EPSG','8666','Geoid (height correction) model file','chgeo2004_htrans_ETRS.agr',
|
||||
NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
|
||||
INSERT INTO "usage" VALUES(
|
||||
'PROJ',
|
||||
'EPSG_4937_TO_EPSG_5728_USAGE',
|
||||
'grid_transformation',
|
||||
'PROJ',
|
||||
'EPSG_4937_TO_EPSG_5728',
|
||||
'EPSG','1286', -- area of use: Europe - Liechtenstein and Switzerland
|
||||
'EPSG','1024' -- unknown
|
||||
);
|
||||
|
||||
@@ -272,15 +272,15 @@ INSERT INTO "helmert_transformation" VALUES('EPSG','1193','NTF to WGS 84 (1)','T
|
||||
INSERT INTO "usage" VALUES('EPSG','8114','helmert_transformation','EPSG','1193','EPSG','3694','EPSG','1042');
|
||||
INSERT INTO "helmert_transformation" VALUES('EPSG','1194','MGI to WGS 84 (8)','May be taken as approximate transformation MGI to ETRS89 assuming ETRS89 is equivalent to WGS 84 within the accuracy of the transformation - see tfm code 1024. Information source gives scale as -2.388739 ppm.','EPSG','9607','Coordinate Frame rotation (geog2D domain)','EPSG','4312','EPSG','4326',0.5,601.705,84.263,485.227,'EPSG','9001',-4.7354,-1.3145,-5.393,'EPSG','9104',-2.3887,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'LBD-Aut Sty',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','8115','helmert_transformation','EPSG','1194','EPSG','1543','EPSG','1035');
|
||||
INSERT INTO "helmert_transformation" VALUES('EPSG','1195','OSGB 1936 to WGS 84 (1)','Derived at 38 stations. Accuracy 10m, 10m and 15m in X, Y and Z axes.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4277','EPSG','4326',21.0,375.0,-111.0,431.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,'DMA-Gbr',0);
|
||||
INSERT INTO "helmert_transformation" VALUES('EPSG','1195','OSGB36 to WGS 84 (1)','Derived at 38 stations. Accuracy 10m, 10m and 15m in X, Y and Z axes.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4277','EPSG','4326',21.0,375.0,-111.0,431.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,'DMA-Gbr',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','8116','helmert_transformation','EPSG','1195','EPSG','1264','EPSG','1160');
|
||||
INSERT INTO "helmert_transformation" VALUES('EPSG','1196','OSGB 1936 to WGS 84 (2)','Derived at 24 stations. Accuracy 5m, 5m and 6m in X, Y and Z axes.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4277','EPSG','4326',10.0,371.0,-112.0,434.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,'DMA-Gbr Eng',0);
|
||||
INSERT INTO "helmert_transformation" VALUES('EPSG','1196','OSGB36 to WGS 84 (2)','Derived at 24 stations. Accuracy 5m, 5m and 6m in X, Y and Z axes.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4277','EPSG','4326',10.0,371.0,-112.0,434.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,'DMA-Gbr Eng',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','8117','helmert_transformation','EPSG','1196','EPSG','2395','EPSG','1160');
|
||||
INSERT INTO "helmert_transformation" VALUES('EPSG','1197','OSGB 1936 to WGS 84 (3)','Derived at 25 stations. Accuracy 10m, 10m and 15m in X, Y and Z axes.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4277','EPSG','4326',21.0,371.0,-111.0,434.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,'DMA-Gbr E&W',0);
|
||||
INSERT INTO "helmert_transformation" VALUES('EPSG','1197','OSGB36 to WGS 84 (3)','Derived at 25 stations. Accuracy 10m, 10m and 15m in X, Y and Z axes.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4277','EPSG','4326',21.0,371.0,-111.0,434.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,'DMA-Gbr E&W',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','8118','helmert_transformation','EPSG','1197','EPSG','2396','EPSG','1160');
|
||||
INSERT INTO "helmert_transformation" VALUES('EPSG','1198','OSGB 1936 to WGS 84 (4)','Derived at 13 stations. Accuracy 10m in each axis.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4277','EPSG','4326',18.0,384.0,-111.0,425.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,'DMA-Gbr Sco',0);
|
||||
INSERT INTO "helmert_transformation" VALUES('EPSG','1198','OSGB36 to WGS 84 (4)','Derived at 13 stations. Accuracy 10m in each axis.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4277','EPSG','4326',18.0,384.0,-111.0,425.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,'DMA-Gbr Sco',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','8119','helmert_transformation','EPSG','1198','EPSG','2397','EPSG','1160');
|
||||
INSERT INTO "helmert_transformation" VALUES('EPSG','1199','OSGB 1936 to WGS 84 (5)','Derived at 3 stations. Accuracy 20m in each axis.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4277','EPSG','4326',35.0,370.0,-108.0,434.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,'DMA-Gbr Wal',0);
|
||||
INSERT INTO "helmert_transformation" VALUES('EPSG','1199','OSGB36 to WGS 84 (5)','Derived at 3 stations. Accuracy 20m in each axis.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4277','EPSG','4326',35.0,370.0,-108.0,434.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,'DMA-Gbr Wal',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','8120','helmert_transformation','EPSG','1199','EPSG','2398','EPSG','1160');
|
||||
INSERT INTO "helmert_transformation" VALUES('EPSG','1200','Pointe Noire to WGS 84 (1)','Derived at 1 station. Accuracy 25m in each axis.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4282','EPSG','4326',44.0,-148.0,51.0,-291.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,'DMA-Cog',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','8121','helmert_transformation','EPSG','1200','EPSG','1072','EPSG','1160');
|
||||
@@ -475,11 +475,11 @@ INSERT INTO "helmert_transformation" VALUES('EPSG','1309','DHDN to ETRS89 (1)','
|
||||
INSERT INTO "usage" VALUES('EPSG','8230','helmert_transformation','EPSG','1309','EPSG','2326','EPSG','1045');
|
||||
INSERT INTO "helmert_transformation" VALUES('EPSG','1310','Pulkovo 1942 to ETRS89 (1)','Mean of 20 stations.','EPSG','9607','Coordinate Frame rotation (geog2D domain)','EPSG','4284','EPSG','4258',2.0,24.0,-123.0,-94.0,'EPSG','9001',-0.02,0.25,0.13,'EPSG','9104',1.1,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'IfAG-Deu E',1);
|
||||
INSERT INTO "usage" VALUES('EPSG','8231','helmert_transformation','EPSG','1310','EPSG','1343','EPSG','1042');
|
||||
INSERT INTO "helmert_transformation" VALUES('EPSG','1311','ED50 to WGS 84 (18)','Recommended transformation for UKCS and IrishCS petroleum purposes. Based on ED50 to WGS72 (precise ephemeris) 6-nations agreement of 1981 to which precise to broadcast and broadcast to WGS 84 transformations have been concatenated.','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','4230','EPSG','4326',1.0,-89.5,-93.8,-123.1,'EPSG','9001',0.0,0.0,-0.156,'EPSG','9104',1.2,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'UKOOA-CO',0);
|
||||
INSERT INTO "helmert_transformation" VALUES('EPSG','1311','ED50 to WGS 84 (18)','Recommended CT for UKCS and IrishCS petroleum purposes, known as "Common Offshore". Based on ED50 to WGS 72 (precise ephemeris) 6-nations agreement of 1981 with which precise to broadcast and broadcast to WGS 84 transformations have been concatenated.','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','4230','EPSG','4326',1.0,-89.5,-93.8,-123.1,'EPSG','9001',0.0,0.0,-0.156,'EPSG','9104',1.2,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'UKOOA-CO',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','8232','helmert_transformation','EPSG','1311','EPSG','2342','EPSG','1136');
|
||||
INSERT INTO "helmert_transformation" VALUES('EPSG','1314','OSGB 1936 to WGS 84 (6)','For a more accurate transformation see ETRS89 to OSGB 1936 / British National Grid (3) (code 7953).','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','4277','EPSG','4326',2.0,446.448,-125.157,542.06,'EPSG','9001',0.15,0.247,0.842,'EPSG','9104',-20.489,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'UKOOA-Pet',0);
|
||||
INSERT INTO "helmert_transformation" VALUES('EPSG','1314','OSGB36 to WGS 84 (6)','Commonly referred to as the "OSGB Petroleum transformation". For a more accurate transformation see ETRS89 to OSGB36 / British National Grid (3) (code 7953).','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','4277','EPSG','4326',2.0,446.448,-125.157,542.06,'EPSG','9001',0.15,0.247,0.842,'EPSG','9104',-20.489,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'UKOOA-Pet',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','8235','helmert_transformation','EPSG','1314','EPSG','1264','EPSG','1136');
|
||||
INSERT INTO "helmert_transformation" VALUES('EPSG','1315','OSGB 1936 to ED50 (UKOOA)','This transformation is concatenated from OSGB36 to WGS 84 (Petroleum) (code 1314) minus ED50 to WGS 84 (Common Offshore) (code 1311). Accuracy better than 4m and generally better than 2m.','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','4277','EPSG','4230',2.0,535.948,-31.357,665.16,'EPSG','9001',0.15,0.247,0.998,'EPSG','9104',-21.689,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'UKOOA-UKCS',0);
|
||||
INSERT INTO "helmert_transformation" VALUES('EPSG','1315','OSGB36 to ED50 (1)','Known as the "UKOOA landward/seaward transformation". This transformation is concatenated from OSGB36 to WGS 84 (6) (Petroleum) (code 1314) minus ED50 to WGS 84 (18) (Common Offshore) (code 1311). Accuracy better than 4m and generally better than 2m.','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','4277','EPSG','4230',2.0,535.948,-31.357,665.16,'EPSG','9001',0.15,0.247,0.998,'EPSG','9104',-21.689,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'UKOOA-UKCS',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','8236','helmert_transformation','EPSG','1315','EPSG','1264','EPSG','1136');
|
||||
INSERT INTO "helmert_transformation" VALUES('EPSG','1316','Manoca to WGS 84 (1)','','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4260','EPSG','4326',999.0,-70.9,-151.8,-41.4,'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,'SCS-Cmr',1);
|
||||
INSERT INTO "usage" VALUES('EPSG','8237','helmert_transformation','EPSG','1316','EPSG','1060','EPSG','1025');
|
||||
@@ -1589,7 +1589,7 @@ INSERT INTO "helmert_transformation" VALUES('EPSG','5590','UCS-2000 to WGS 84 (1
|
||||
INSERT INTO "usage" VALUES('EPSG','9476','helmert_transformation','EPSG','5590','EPSG','1242','EPSG','1045');
|
||||
INSERT INTO "helmert_transformation" VALUES('EPSG','5599','FEH2010 to WGS 84 (1)','','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','5593','EPSG','4326',1.0,0.0,0.0,0.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,'OGP-Dnk-Deu Feh',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','9479','helmert_transformation','EPSG','5599','EPSG','3889','EPSG','1252');
|
||||
INSERT INTO "helmert_transformation" VALUES('EPSG','5622','OSGB 1936 to WGS 84 (8)','Derived by CGG for 1994 3D seismic survey.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4277','EPSG','4326',3.0,370.936,-108.938,435.682,'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,'bp-Gbr WytchF',0);
|
||||
INSERT INTO "helmert_transformation" VALUES('EPSG','5622','OSGB36 to WGS 84 (8)','Derived by CGG for 1994 3D seismic survey.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4277','EPSG','4326',3.0,370.936,-108.938,435.682,'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,'bp-Gbr WytchF',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','9480','helmert_transformation','EPSG','5622','EPSG','3893','EPSG','1136');
|
||||
INSERT INTO "helmert_transformation" VALUES('EPSG','5630','Nord Sahara 1959 to WGS 84 (8)','Derived at 1 station (L38).','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4307','EPSG','4326',5.0,-168.52,-72.05,304.3,'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,'Tot-Dza Ahnet',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','9482','helmert_transformation','EPSG','5630','EPSG','3917','EPSG','1136');
|
||||
@@ -2424,6 +2424,8 @@ INSERT INTO "helmert_transformation" VALUES('EPSG','9688','GDA94 to WGS 84 (2)',
|
||||
INSERT INTO "usage" VALUES('EPSG','14921','helmert_transformation','EPSG','9688','EPSG','4177','EPSG','1275');
|
||||
INSERT INTO "helmert_transformation" VALUES('EPSG','9690','WGS 84 to GDA2020 (3)','Concatenation of CTs 1150 and 8048 through GDA94. Scale difference in ppb where 1/billion = 1E-9. See WGS 84 to GDA2020 (4) (CT code 9691) for alternative for Australia including distortion model.','EPSG','9607','Coordinate Frame rotation (geog2D domain)','EPSG','4326','EPSG','7844',3.0,61.55,-10.87,-40.19,'EPSG','1025',-39.4924,-32.7221,-32.8979,'EPSG','1031',-9.994,'EPSG','1028',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'ICSM-Aus Conf',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','14920','helmert_transformation','EPSG','9690','EPSG','4177','EPSG','1276');
|
||||
INSERT INTO "helmert_transformation" VALUES('EPSG','9703','ETRF2000-PL to ETRS89 (1)','','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','9702','EPSG','4258',0.0,0.0,0.0,0.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,'IOGP-Pol',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15011','helmert_transformation','EPSG','9703','EPSG','1192','EPSG','1161');
|
||||
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);
|
||||
|
||||
@@ -9,5 +9,5 @@
|
||||
INSERT INTO "metadata" VALUES('DATABASE.LAYOUT.VERSION.MAJOR', 1);
|
||||
INSERT INTO "metadata" VALUES('DATABASE.LAYOUT.VERSION.MINOR', 0);
|
||||
|
||||
INSERT INTO "metadata" VALUES('EPSG.VERSION', 'v10.015');
|
||||
INSERT INTO "metadata" VALUES('EPSG.DATE', '2021-02-11');
|
||||
INSERT INTO "metadata" VALUES('EPSG.VERSION', 'v10.018');
|
||||
INSERT INTO "metadata" VALUES('EPSG.DATE', '2021-04-02');
|
||||
|
||||
+179
-14
@@ -2,19 +2,6 @@ INSERT INTO "metadata" VALUES('NKG.SOURCE', 'https://github.com/NordicGeodesy/No
|
||||
INSERT INTO "metadata" VALUES('NKG.VERSION', '1.0.0');
|
||||
INSERT INTO "metadata" VALUES('NKG.DATE', '2020-12-21');
|
||||
|
||||
-- Append NKG to authority references
|
||||
UPDATE
|
||||
authority_to_authority_preference
|
||||
SET
|
||||
allowed_authorities = allowed_authorities || ',NKG'
|
||||
WHERE
|
||||
source_auth_name = 'EPSG' AND target_auth_name = 'EPSG';
|
||||
|
||||
INSERT INTO "authority_to_authority_preference"
|
||||
(source_auth_name,target_auth_name, allowed_authorities)
|
||||
VALUES
|
||||
('NKG', 'EPSG', 'NKG,PROJ,EPSG');
|
||||
|
||||
-- extent for NKG2008 transformations
|
||||
INSERT INTO "extent" VALUES(
|
||||
'NKG','EXTENT_2008', -- extend auth+code
|
||||
@@ -693,7 +680,75 @@ INSERT INTO "usage" VALUES (
|
||||
'NKG', 'SCOPE_GENERIC' -- scope
|
||||
);
|
||||
|
||||
-- NO
|
||||
INSERT INTO "helmert_transformation" VALUES (
|
||||
'NKG','PAR_2020_NO', -- operation auth+code
|
||||
'NKG_ETRF14 to ETRF93@2000.0', -- name
|
||||
'Transformation from NKG_ETRF14 to ETRF93, at transformation reference epoch 2000.0', -- description / remark
|
||||
'EPSG','1033', -- method auth+code
|
||||
'Position Vector transformation (geocentric domain)',
|
||||
'NKG','ETRF14', -- source auth+code
|
||||
'EPSG','7922', -- target auth+code
|
||||
0.01, -- accuracy
|
||||
-0.05172, -- x
|
||||
0.13747, -- y
|
||||
-0.01648, -- z
|
||||
'EPSG','9001',
|
||||
0.00268452, -- rx
|
||||
0.00329165, -- ry
|
||||
-0.00116569, -- rz
|
||||
'EPSG','9104',
|
||||
0.002583, -- s
|
||||
'EPSG','9202',
|
||||
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,
|
||||
'NKG 2020', -- operation version
|
||||
0
|
||||
);
|
||||
|
||||
INSERT INTO "usage" VALUES (
|
||||
'NKG', '5041', -- usage auth+code
|
||||
'helmert_transformation', -- object_table_name
|
||||
'NKG','PAR_2020_NO', -- object auth+code
|
||||
'EPSG', '1352', -- extent: Norway - onshore
|
||||
'NKG', 'SCOPE_GENERIC' -- scope
|
||||
);
|
||||
|
||||
INSERT INTO "other_transformation" (
|
||||
auth_name,
|
||||
code,
|
||||
name,
|
||||
description,
|
||||
method_auth_name,
|
||||
method_code,
|
||||
method_name,
|
||||
source_crs_auth_name,
|
||||
source_crs_code,
|
||||
target_crs_auth_name,
|
||||
target_crs_code,
|
||||
accuracy,
|
||||
operation_version,
|
||||
deprecated
|
||||
)
|
||||
VALUES(
|
||||
'NKG', 'NKG_ETRF14_ETRF93_2000', -- object auth+code
|
||||
'NKG_ETRF14 to ETRF93@2000.0', -- name
|
||||
'Transformation from NKG_ETRF14 to ETRF93, at transformation reference epoch 2000.0', -- description / remark
|
||||
'PROJ', 'PROJString',
|
||||
'+proj=xyzgridshift +grids=no_kv_NKGETRF14_EPSG7922_2000.tif',
|
||||
'NKG','ETRF14', -- source auth+code
|
||||
'EPSG','7922', -- target auth+code
|
||||
0.005, -- accuracy
|
||||
'NKG 2020', -- operation_version
|
||||
0 -- deprecated
|
||||
);
|
||||
|
||||
INSERT INTO "usage" VALUES (
|
||||
'NKG', '5064',
|
||||
'other_transformation',
|
||||
'NKG', 'NKG_ETRF14_ETRF93_2000',
|
||||
'EPSG', '1352',
|
||||
'NKG', 'SCOPE_GENERIC'
|
||||
);
|
||||
|
||||
-- SE
|
||||
INSERT INTO "helmert_transformation" VALUES (
|
||||
@@ -2056,6 +2111,116 @@ INSERT INTO "supersession" VALUES (
|
||||
);
|
||||
|
||||
|
||||
-------------------------------------------------------
|
||||
-- Transformation: NKG_ETRF14 -> ETRF93@1995.0 (NO)
|
||||
-------------------------------------------------------
|
||||
|
||||
INSERT INTO "other_transformation" (
|
||||
auth_name,
|
||||
code,
|
||||
name,
|
||||
description,
|
||||
method_auth_name,
|
||||
method_code,
|
||||
method_name,
|
||||
source_crs_auth_name,
|
||||
source_crs_code,
|
||||
target_crs_auth_name,
|
||||
target_crs_code,
|
||||
accuracy,
|
||||
operation_version,
|
||||
deprecated
|
||||
)
|
||||
VALUES(
|
||||
'NKG', 'NO_2020_INTRAPLATE', -- object auth+code
|
||||
'ETRF93@2000.0 to ETRF93@1995.0', -- name
|
||||
NULL, -- description
|
||||
'PROJ', 'PROJString', -- method auth+cod
|
||||
'+proj=deformation +dt=-5 +grids=eur_nkg_nkgrf17vel.tif',
|
||||
'EPSG','7922', -- source_crs: ETRF93@2000.0
|
||||
'EPSG','4936', -- target_crs: ETRS89 (NO)
|
||||
0.005, -- accuracy
|
||||
'NKG 2020', -- operation_version
|
||||
0 -- deprecated
|
||||
);
|
||||
|
||||
INSERT INTO "usage" VALUES (
|
||||
'NKG', '5058', -- usage auth+code
|
||||
'other_transformation', -- object_table_name
|
||||
'NKG', 'NO_2020_INTRAPLATE', -- object auth+code
|
||||
'EPSG', '1352', -- extent: Norway - onshore and offshore
|
||||
'NKG', 'SCOPE_GENERIC' -- scope
|
||||
);
|
||||
|
||||
INSERT INTO "concatenated_operation" VALUES(
|
||||
'NKG', 'ETRF14_TO_NO', -- operation auth+code
|
||||
'NKG_ETRF14 to ETRS89(NO)', -- name
|
||||
'Transformation from NKG_ETRF14@2000.0 to ETRF93@1995.0', -- description
|
||||
'NKG', 'ETRF14',-- source_crs: NKG_ETRF00
|
||||
'EPSG','4936', -- target_crs: ETRS89 (NO)
|
||||
0.01, -- accuracy
|
||||
'NKG 2020', -- operation_version
|
||||
0 -- deprecated
|
||||
);
|
||||
|
||||
INSERT INTO "concatenated_operation_step" (
|
||||
operation_auth_name, operation_code, step_number, step_auth_name, step_code
|
||||
) VALUES
|
||||
('NKG', 'ETRF14_TO_NO', 1, 'NKG', 'PAR_2020_NO'),
|
||||
('NKG', 'ETRF14_TO_NO', 2, 'NKG', 'NO_2020_INTRAPLATE')
|
||||
;
|
||||
|
||||
INSERT INTO "usage" VALUES (
|
||||
'NKG', '5059', -- usage auth+code
|
||||
'concatenated_operation', -- object_table_name
|
||||
'NKG', 'ETRF14_TO_NO', -- object auth+code
|
||||
'EPSG', '1352', -- extent: Norway - onshore and offshore
|
||||
'NKG', 'SCOPE_GENERIC' -- scope auth+code
|
||||
);
|
||||
|
||||
|
||||
-------------------------------------------------------
|
||||
-- Transformation: ITRF2014 -> ETRF93@1995.0 (NO)
|
||||
-------------------------------------------------------
|
||||
|
||||
INSERT INTO "concatenated_operation" VALUES (
|
||||
'NKG', 'ITRF2014_TO_NO', -- operation auth+code
|
||||
'ITRF2014 to ETRS89(NO)', -- name
|
||||
'Time-dependent transformation from ITRF2014 to ETRS89(NO)', -- description
|
||||
'EPSG', '7789', -- source_crs: ITRF2014
|
||||
'EPSG', '4936', -- target_crs: ETRS89(NO)
|
||||
0.01, -- accuracy
|
||||
'NKG 2020', -- operation_version
|
||||
0 -- deprecated
|
||||
);
|
||||
|
||||
INSERT INTO "concatenated_operation_step" (
|
||||
operation_auth_name, operation_code, step_number, step_auth_name, step_code
|
||||
) VALUES
|
||||
('NKG', 'ITRF2014_TO_NO', 1, 'EPSG', '8366'), -- ITRF2014 -> ETRF2014
|
||||
('NKG', 'ITRF2014_TO_NO', 2, 'NKG', 'NKG_ETRF14_TO_ETRF2014'),
|
||||
('NKG', 'ITRF2014_TO_NO', 3, 'NKG', 'NKG_ETRF14_ETRF93_2000'),
|
||||
('NKG', 'ITRF2014_TO_NO', 4, 'NKG', 'NO_2020_INTRAPLATE')
|
||||
;
|
||||
|
||||
INSERT INTO "usage" VALUES (
|
||||
'NKG', '5060', -- usage auth+code
|
||||
'concatenated_operation', -- object_table_name
|
||||
'NKG', 'ITRF2014_TO_NO', -- object auth+code
|
||||
'EPSG', '1352', -- extent: Norway - onshore and offshore
|
||||
'NKG', 'SCOPE_GENERIC' -- scope auth+code
|
||||
);
|
||||
|
||||
INSERT INTO "supersession" VALUES (
|
||||
'concatenated_operation',
|
||||
'NKG', 'ITRF2000_TO_NO',
|
||||
'concatenated_operation',
|
||||
'NKG', 'ITRF2014_TO_NO',
|
||||
'NKG',
|
||||
0
|
||||
);
|
||||
|
||||
|
||||
-------------------------------------------------------
|
||||
-- Transformation: NKG_ETRF14 -> ETRF97@1999.5 (SE)
|
||||
-------------------------------------------------------
|
||||
@@ -2157,7 +2322,7 @@ INSERT INTO "usage" VALUES (
|
||||
'NKG', '5063', -- usage auth+code
|
||||
'concatenated_operation', -- object_table_name
|
||||
'NKG', 'ITRF2014_TO_SE', -- object auth+code
|
||||
'EPSG', '1352', -- extent: Sweden - onshore and offshore
|
||||
'EPSG', '1225', -- extent: Sweden - onshore and offshore
|
||||
'NKG', 'SCOPE_GENERIC' -- scope auth+code
|
||||
);
|
||||
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
|
||||
-- Append NKG to authority references
|
||||
UPDATE
|
||||
authority_to_authority_preference
|
||||
SET
|
||||
allowed_authorities = allowed_authorities || ',NKG'
|
||||
WHERE
|
||||
source_auth_name = 'EPSG' AND target_auth_name = 'EPSG';
|
||||
|
||||
INSERT INTO "authority_to_authority_preference"
|
||||
(source_auth_name,target_auth_name, allowed_authorities)
|
||||
VALUES
|
||||
('NKG', 'EPSG', 'NKG,PROJ,EPSG');
|
||||
@@ -1,5 +1,21 @@
|
||||
-- This file is hand generated.
|
||||
|
||||
-- Norway triangulated files
|
||||
|
||||
INSERT INTO other_transformation VALUES(
|
||||
'PROJ','NGO48_TO_ETRS89NO','NGO 1948 to ETRS89 (2)',
|
||||
'Transformation based on a triangulated irregular network',
|
||||
'PROJ','PROJString',
|
||||
'+proj=pipeline ' ||
|
||||
'+step +proj=axisswap +order=2,1 ' ||
|
||||
'+step +proj=tinshift +file=no_kv_ETRS89NO_NGO48_TIN.json +inv ' ||
|
||||
'+step +proj=axisswap +order=2,1',
|
||||
'EPSG','4273',
|
||||
'EPSG','4258',
|
||||
0.1,
|
||||
NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('PROJ','NGO48_TO_ETRS89NO_USAGE','other_transformation','PROJ','NGO48_TO_ETRS89NO','EPSG','1352','EPSG','1031');
|
||||
|
||||
-- Finland triangulated files
|
||||
|
||||
INSERT INTO other_transformation VALUES(
|
||||
|
||||
@@ -1089,7 +1089,7 @@ CREATE TABLE grid_alternatives(
|
||||
proj_grid_name TEXT NOT NULL, -- PROJ >= 7 grid name (e.g us_nga_egm08_25.tif)
|
||||
old_proj_grid_name TEXT, -- PROJ < 7 grid name (e.g egm08_25.gtx)
|
||||
proj_grid_format TEXT NOT NULL, -- 'GTiff', 'GTX', 'NTv2', JSON
|
||||
proj_method TEXT NOT NULL, -- hgridshift, vgridshift, geoid_like, geocentricoffset or tinshift
|
||||
proj_method TEXT NOT NULL, -- hgridshift, vgridshift, geoid_like, geocentricoffset, tinshift or velocity_grid
|
||||
inverse_direction BOOLEAN NOT NULL CHECK (inverse_direction IN (0, 1)), -- whether the PROJ grid direction is reversed w.r.t to the authority one (TRUE in that case)
|
||||
package_name TEXT, -- no longer used. Must be NULL
|
||||
url TEXT, -- optional URL where to download the PROJ grid
|
||||
@@ -1099,7 +1099,7 @@ CREATE TABLE grid_alternatives(
|
||||
|
||||
CONSTRAINT fk_grid_alternatives_grid_packages FOREIGN KEY (package_name) REFERENCES grid_packages(package_name),
|
||||
CONSTRAINT check_grid_alternatives_grid_fromat CHECK (proj_grid_format IN ('GTiff', 'GTX', 'NTv2', 'JSON')),
|
||||
CONSTRAINT check_grid_alternatives_proj_method CHECK (proj_method IN ('hgridshift', 'vgridshift', 'geoid_like', 'geocentricoffset', 'tinshift')),
|
||||
CONSTRAINT check_grid_alternatives_proj_method CHECK (proj_method IN ('hgridshift', 'vgridshift', 'geoid_like', 'geocentricoffset', 'tinshift', 'velocity_grid')),
|
||||
CONSTRAINT check_grid_alternatives_inverse_direction CHECK (NOT(proj_method = 'geoid_like' AND inverse_direction = 1)),
|
||||
CONSTRAINT check_grid_alternatives_package_name CHECK (package_name IS NULL),
|
||||
CONSTRAINT check_grid_alternatives_direct_download_url CHECK (NOT(direct_download IS NULL AND url IS NOT NULL)),
|
||||
|
||||
@@ -352,15 +352,15 @@ INSERT INTO "projected_crs" VALUES('EPSG','2174','Pulkovo 1942(58) / Poland zone
|
||||
INSERT INTO "usage" VALUES('EPSG','1198','projected_crs','EPSG','2174','EPSG','1518','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','2175','Pulkovo 1942(58) / Poland zone V',NULL,'EPSG','4530','EPSG','4179','EPSG','18285',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','1199','projected_crs','EPSG','2175','EPSG','1519','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','2176','ETRS89 / Poland CS2000 zone 5',NULL,'EPSG','4531','EPSG','4258','EPSG','18305',NULL,0);
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','2176','ETRF2000-PL / CS2000/15',NULL,'EPSG','4531','EPSG','9702','EPSG','18305',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','1200','projected_crs','EPSG','2176','EPSG','1520','EPSG','1061');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','2177','ETRS89 / Poland CS2000 zone 6',NULL,'EPSG','4531','EPSG','4258','EPSG','18306',NULL,0);
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','2177','ETRF2000-PL / CS2000/18',NULL,'EPSG','4531','EPSG','9702','EPSG','18306',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','1201','projected_crs','EPSG','2177','EPSG','1521','EPSG','1061');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','2178','ETRS89 / Poland CS2000 zone 7',NULL,'EPSG','4531','EPSG','4258','EPSG','18307',NULL,0);
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','2178','ETRF2000-PL / CS2000/21',NULL,'EPSG','4531','EPSG','9702','EPSG','18307',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','1202','projected_crs','EPSG','2178','EPSG','1522','EPSG','1061');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','2179','ETRS89 / Poland CS2000 zone 8',NULL,'EPSG','4531','EPSG','4258','EPSG','18308',NULL,0);
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','2179','ETRF2000-PL / CS2000/24',NULL,'EPSG','4531','EPSG','9702','EPSG','18308',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','1203','projected_crs','EPSG','2179','EPSG','1523','EPSG','1061');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','2180','ETRS89 / Poland CS92',NULL,'EPSG','4531','EPSG','4258','EPSG','18300',NULL,0);
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','2180','ETRF2000-PL / CS92',NULL,'EPSG','4531','EPSG','9702','EPSG','18300',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','1204','projected_crs','EPSG','2180','EPSG','1192','EPSG','1210');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','2188','Azores Occidental 1939 / UTM zone 25N',NULL,'EPSG','4400','EPSG','4182','EPSG','16025',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','1205','projected_crs','EPSG','2188','EPSG','1344','EPSG','1153');
|
||||
@@ -8667,7 +8667,7 @@ INSERT INTO "projected_crs" VALUES('EPSG','27593','NTF (Paris) / Sud France',NUL
|
||||
INSERT INTO "usage" VALUES('EPSG','6852','projected_crs','EPSG','27593','EPSG','1733','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','27594','NTF (Paris) / Corse',NULL,'EPSG','4499','EPSG','4807','EPSG','18094',NULL,1);
|
||||
INSERT INTO "usage" VALUES('EPSG','6853','projected_crs','EPSG','27594','EPSG','1327','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','27700','OSGB 1936 / British National Grid',NULL,'EPSG','4400','EPSG','4277','EPSG','19916',NULL,0);
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','27700','OSGB36 / British National Grid',NULL,'EPSG','4400','EPSG','4277','EPSG','19916',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','6854','projected_crs','EPSG','27700','EPSG','4390','EPSG','1142');
|
||||
INSERT INTO "projected_crs" VALUES('EPSG','28191','Palestine 1923 / Palestine Grid',NULL,'EPSG','4400','EPSG','4281','EPSG','18201',NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','6855','projected_crs','EPSG','28191','EPSG','1356','EPSG','1142');
|
||||
|
||||
@@ -484,6 +484,10 @@ INSERT INTO "vertical_crs" VALUES('EPSG','9458','AVWS height',NULL,'EPSG','6499'
|
||||
INSERT INTO "usage" VALUES('EPSG','14231','vertical_crs','EPSG','9458','EPSG','4177','EPSG','1264');
|
||||
INSERT INTO "vertical_crs" VALUES('EPSG','9471','INAGeoid2020 height',NULL,'EPSG','6499','EPSG','1294',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','14153','vertical_crs','EPSG','9471','EPSG','1122','EPSG','1178');
|
||||
INSERT INTO "vertical_crs" VALUES('EPSG','9650','Baltic 1986 height',NULL,'EPSG','6499','EPSG','1296',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15032','vertical_crs','EPSG','9650','EPSG','3293','EPSG','1178');
|
||||
INSERT INTO "vertical_crs" VALUES('EPSG','9651','EVRF2007-PL height',NULL,'EPSG','6499','EPSG','1297',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15034','vertical_crs','EPSG','9651','EPSG','3293','EPSG','1178');
|
||||
INSERT INTO "vertical_crs" VALUES('EPSG','9663','EH2000 height',NULL,'EPSG','6499','EPSG','1298',0);
|
||||
INSERT INTO "usage" VALUES('EPSG','14747','vertical_crs','EPSG','9663','EPSG','3246','EPSG','1178');
|
||||
INSERT INTO "vertical_crs" VALUES('EPSG','9666','LAS07 height',NULL,'EPSG','6499','EPSG','1299',0);
|
||||
|
||||
@@ -208,6 +208,10 @@ INSERT INTO "vertical_datum" VALUES('EPSG','1292','Australian Vertical Working S
|
||||
INSERT INTO "usage" VALUES('EPSG','14134','vertical_datum','EPSG','1292','EPSG','4177','EPSG','1264');
|
||||
INSERT INTO "vertical_datum" VALUES('EPSG','1294','Indonesian Geoid 2020',NULL,'2020-01-01',NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','14149','vertical_datum','EPSG','1294','EPSG','1122','EPSG','1178');
|
||||
INSERT INTO "vertical_datum" VALUES('EPSG','1296','Baltic 1986',NULL,'1986-01-01',NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','14975','vertical_datum','EPSG','1296','EPSG','3293','EPSG','1178');
|
||||
INSERT INTO "vertical_datum" VALUES('EPSG','1297','European Vertical Reference Frame 2007 Poland',NULL,'2019-01-01',NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','15033','vertical_datum','EPSG','1297','EPSG','3293','EPSG','1178');
|
||||
INSERT INTO "vertical_datum" VALUES('EPSG','1298','Estonian Height System 2000',NULL,'2005-07-01',NULL,NULL,0);
|
||||
INSERT INTO "usage" VALUES('EPSG','14743','vertical_datum','EPSG','1298','EPSG','3246','EPSG','1178');
|
||||
INSERT INTO "vertical_datum" VALUES('EPSG','1299','Lithuanian Height System 2007',NULL,'2005-07-01',NULL,NULL,0);
|
||||
|
||||
@@ -32,9 +32,10 @@ set(SQL_FILES
|
||||
"${SQL_DIR}/deprecation.sql"
|
||||
"${SQL_DIR}/esri.sql"
|
||||
"${SQL_DIR}/ignf.sql"
|
||||
"${SQL_DIR}/nkg.sql"
|
||||
"${SQL_DIR}/grid_alternatives.sql"
|
||||
"${SQL_DIR}/grid_alternatives_generated_noaa.sql"
|
||||
"${SQL_DIR}/customizations.sql"
|
||||
"${SQL_DIR}/nkg.sql"
|
||||
"${SQL_DIR}/nkg_post_customizations.sql"
|
||||
"${SQL_DIR}/commit.sql"
|
||||
)
|
||||
|
||||
@@ -48,6 +48,8 @@ jobs:
|
||||
run: |
|
||||
python3 --version
|
||||
sphinx-build --version
|
||||
python3 -m pip list --not-required --format=columns
|
||||
|
||||
- uses: actions/download-artifact@v2
|
||||
name: Images
|
||||
with:
|
||||
+1
-3
@@ -32,10 +32,8 @@ html: .doxygen_up_to_date
|
||||
# Undoes the hack done in scripts/doxygen.sh
|
||||
@sed "s/io::Convention_/io::Convention/g" < $(BUILDDIR)/html/development/reference/cpp/io.html | sed "s/>Convention_/>Convention/g" | sed "s/_WKT2/WKT2/g" | sed "s/_WKT1/WKT1/g" > $(BUILDDIR)/html/development/reference/cpp/io.html.tmp
|
||||
@mv $(BUILDDIR)/html/development/reference/cpp/io.html.tmp $(BUILDDIR)/html/development/reference/cpp/io.html
|
||||
# Undoes the hacks of scripts/generate_breathe_friendly_general_doc.py
|
||||
@sed "s/<em class=\"property\">namespace <\/em>//g" < $(BUILDDIR)/html/development/reference/cpp/cpp_general.html > $(BUILDDIR)/html/development/reference/cpp/cpp_general.html.tmp
|
||||
@mv $(BUILDDIR)/html/development/reference/cpp/cpp_general.html.tmp $(BUILDDIR)/html/development/reference/cpp/cpp_general.html
|
||||
@cp -r ../schemas $(BUILDDIR)/html/schemas
|
||||
@cp ../data/triangulation.schema.json $(BUILDDIR)/html/schemas
|
||||
@echo
|
||||
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
|
||||
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
name: proj
|
||||
channels:
|
||||
- conda-forge
|
||||
dependencies:
|
||||
- descartes
|
||||
- doxygen = 1.9.1
|
||||
- geojson
|
||||
- matplotlib
|
||||
- shapely < 1.8
|
||||
- pip
|
||||
- pip:
|
||||
- breathe
|
||||
- pybtex
|
||||
- sphinx-rtd-theme
|
||||
- sphinxcontrib-bibtex
|
||||
- sphinxcontrib-spelling
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 14 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 16 KiB |
@@ -1,86 +0,0 @@
|
||||
name: proj
|
||||
channels:
|
||||
- defaults
|
||||
dependencies:
|
||||
- blas=1.0=mkl
|
||||
- bzip2=1.0.6=h1de35cc_5
|
||||
- ca-certificates=2018.03.07=0
|
||||
- cairo=1.14.12=hc4e6be7_4
|
||||
- certifi=2018.8.24=py37_1
|
||||
- click=6.7=py37_0
|
||||
- click-plugins=1.0.3=py37_1
|
||||
- cligj=0.4.0=py37_1
|
||||
- curl=7.61.0=ha441bb4_0
|
||||
- cycler=0.10.0=py37_0
|
||||
- descartes=1.1.0=py37_0
|
||||
- expat=2.2.6=h0a44026_0
|
||||
- fiona=1.7.12=py37h0dff353_0
|
||||
- fontconfig=2.13.0=h5d5b041_1
|
||||
- freetype=2.9.1=hb4e5f40_0
|
||||
- freexl=1.0.5=h1de35cc_0
|
||||
- gdal=2.2.4=py37h6440ff4_1
|
||||
- geos=3.6.2=h5470d99_2
|
||||
- gettext=0.19.8.1=h15daf44_3
|
||||
- giflib=5.1.4=h1de35cc_1
|
||||
- glib=2.56.2=hd9629dc_0
|
||||
- hdf4=4.2.13=h39711bb_2
|
||||
- hdf5=1.10.2=hfa1e0ec_1
|
||||
- icu=58.2=h4b95b61_1
|
||||
- intel-openmp=2019.0=118
|
||||
- jpeg=9b=he5867d9_2
|
||||
- json-c=0.13.1=h3efe00b_0
|
||||
- kealib=1.4.7=h40e48e4_6
|
||||
- kiwisolver=1.0.1=py37h0a44026_0
|
||||
- krb5=1.16.1=h24a3359_6
|
||||
- libboost=1.67.0=hebc422b_4
|
||||
- libcurl=7.61.0=hf30b1f0_0
|
||||
- libcxx=4.0.1=h579ed51_0
|
||||
- libcxxabi=4.0.1=hebd6815_0
|
||||
- libdap4=3.19.1=h3d3e54a_0
|
||||
- libedit=3.1.20170329=hb402a30_2
|
||||
- libffi=3.2.1=h475c297_4
|
||||
- libgdal=2.2.4=h7b1ea53_1
|
||||
- libgfortran=3.0.1=h93005f0_2
|
||||
- libiconv=1.15=hdd342a3_7
|
||||
- libkml=1.3.0=hbe12b63_4
|
||||
- libnetcdf=4.6.1=h4e6abe9_1
|
||||
- libpng=1.6.34=he12f830_0
|
||||
- libpq=10.5=hf30b1f0_0
|
||||
- libspatialite=4.3.0a=ha12ebda_19
|
||||
- libssh2=1.8.0=h322a93b_4
|
||||
- libtiff=4.0.9=hcb84e12_2
|
||||
- libuuid=1.0.3=h6bb4b03_2
|
||||
- libxml2=2.9.8=hab757c2_1
|
||||
- matplotlib=2.2.3=py37h54f8f79_0
|
||||
- mkl=2019.0=118
|
||||
- mkl_fft=1.0.4=py37h5d10147_1
|
||||
- mkl_random=1.0.1=py37h5d10147_1
|
||||
- munch=2.3.2=py37_0
|
||||
- ncurses=6.1=h0a44026_0
|
||||
- numpy=1.15.1=py37h6a91979_0
|
||||
- numpy-base=1.15.1=py37h8a80b8c_0
|
||||
- openjpeg=2.3.0=hb95cd4c_1
|
||||
- openssl=1.0.2p=h1de35cc_0
|
||||
- pcre=8.42=h378b8a2_0
|
||||
- pip=10.0.1=py37_0
|
||||
- pixman=0.34.0=hca0a616_3
|
||||
- poppler=0.65.0=ha097c24_1
|
||||
- poppler-data=0.4.9=0
|
||||
- proj4=5.0.1=h1de35cc_0
|
||||
- pyparsing=2.2.0=py37_1
|
||||
- python=3.7.0=hc167b69_0
|
||||
- python-dateutil=2.7.3=py37_0
|
||||
- pytz=2018.5=py37_0
|
||||
- readline=7.0=h1de35cc_5
|
||||
- setuptools=40.2.0=py37_0
|
||||
- shapely=1.6.4=py37h20de77a_0
|
||||
- six=1.11.0=py37_1
|
||||
- sqlite=3.24.0=ha441bb4_0
|
||||
- tk=8.6.8=ha441bb4_0
|
||||
- tornado=5.1=py37h1de35cc_0
|
||||
- wheel=0.31.1=py37_0
|
||||
- xerces-c=3.2.1=h44e365a_0
|
||||
- xz=5.2.4=h1de35cc_4
|
||||
- zlib=1.2.11=hf3cbc9b_2
|
||||
prefix: /usr/local/miniconda3/envs/proj
|
||||
|
||||
Regular → Executable
+91
-54
@@ -1,5 +1,6 @@
|
||||
#!/usr/bin/env python3
|
||||
'''
|
||||
Plot map data in different projections supported by PROJ.4
|
||||
Plot map data in different projections supported by PROJ.
|
||||
|
||||
Call with:
|
||||
|
||||
@@ -41,30 +42,28 @@ or "line". The rest of the inputs are fairly free form.
|
||||
Change PROJ to path on your local system before running the script.
|
||||
'''
|
||||
|
||||
from __future__ import print_function
|
||||
from __future__ import division
|
||||
|
||||
import argparse
|
||||
import os
|
||||
import os.path
|
||||
import shutil
|
||||
import sys
|
||||
import json
|
||||
import subprocess
|
||||
import functools
|
||||
from pathlib import Path
|
||||
|
||||
import geojson
|
||||
import numpy as np
|
||||
import matplotlib.pyplot as plt
|
||||
from matplotlib.patches import Polygon
|
||||
import fiona
|
||||
from shapely.geometry import Polygon
|
||||
from shapely.geometry import MultiPolygon
|
||||
from shapely.geometry import MultiPolygon, Polygon, box as Box
|
||||
from shapely.geometry import shape
|
||||
from shapely.ops import transform
|
||||
from descartes import PolygonPatch
|
||||
|
||||
PROJ_COMMAND = os.environ.get('PROJ_EXE', '../../src/proj')
|
||||
if not os.path.exists(PROJ_COMMAND):
|
||||
PROJ = shutil.which(PROJ_COMMAND)
|
||||
PROJ = shutil.which('proj')
|
||||
if PROJ is None:
|
||||
raise ValueError("specify PROJ_EXE or modify PATH to find proj")
|
||||
else:
|
||||
PROJ = PROJ_COMMAND
|
||||
PROJ_LIB = os.environ.get('PROJ_LIB', '../../data')
|
||||
@@ -240,31 +239,46 @@ 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.
|
||||
'''
|
||||
axes = plt.axes()
|
||||
|
||||
bounds = (plotdef['lonmin'], plotdef['latmin'], plotdef['lonmax'], plotdef['latmax'])
|
||||
for geom in data.filter(bbox=bounds):
|
||||
temp_pol = shape(geom['geometry'])
|
||||
|
||||
box = Polygon([
|
||||
(plotdef['lonmin'], plotdef['latmin']),
|
||||
(plotdef['lonmin'], plotdef['latmax']),
|
||||
(plotdef['lonmax'], plotdef['latmax']),
|
||||
(plotdef['lonmax'], plotdef['latmin']),
|
||||
])
|
||||
try:
|
||||
temp_pol = temp_pol.intersection(box)
|
||||
except Exception as e:
|
||||
box = Box(
|
||||
plotdef['lonmin'], plotdef['latmin'],
|
||||
plotdef['lonmax'], plotdef['latmax'])
|
||||
for feat in data["features"]:
|
||||
geom = shape(feat["geometry"])
|
||||
if not geom.intersects(box):
|
||||
continue
|
||||
|
||||
temp_pol = geom.intersection(box)
|
||||
|
||||
if plotdef['type'] == 'poly':
|
||||
if isinstance(temp_pol, MultiPolygon):
|
||||
polys = [resample_polygon(polygon) for polygon in temp_pol]
|
||||
polys = [resample_polygon(polygon) for polygon in temp_pol.geoms]
|
||||
pol = MultiPolygon(polys)
|
||||
else:
|
||||
pol = resample_polygon(temp_pol)
|
||||
@@ -282,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 = [
|
||||
@@ -293,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'],
|
||||
@@ -307,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')
|
||||
@@ -326,9 +363,12 @@ def plotproj(plotdef, data, outdir):
|
||||
# Make sure the plot is not stretched
|
||||
axes.set_aspect('equal')
|
||||
|
||||
if not os.path.exists(outdir):
|
||||
os.makedirs(outdir)
|
||||
plt.savefig(outdir + '/' + plotdef['filename'],
|
||||
outdir = Path(outdir)
|
||||
if not outdir.exists():
|
||||
outdir.mkdir(parents=True)
|
||||
if not outdir.is_dir():
|
||||
raise OSError("outdir is not a directory")
|
||||
plt.savefig(outdir / plotdef['filename'],
|
||||
dpi=400,
|
||||
bbox_inches='tight')
|
||||
|
||||
@@ -338,36 +378,22 @@ def plotproj(plotdef, data, outdir):
|
||||
plt.close()
|
||||
|
||||
|
||||
def main():
|
||||
def main(plotdefs, outdir, plots=[]):
|
||||
'''
|
||||
Main function of plotting script.
|
||||
|
||||
Parses json-file with plot setups and runs the plotting
|
||||
for each plot setup.
|
||||
'''
|
||||
plotdefs = json.loads(Path(plotdefs).read_text())
|
||||
|
||||
data = {
|
||||
('line', 'low'): fiona.open(LINE_LOW),
|
||||
('line', 'med'): fiona.open(LINE_MED),
|
||||
('poly', 'low'): fiona.open(POLY_LOW),
|
||||
('poly', 'med'): fiona.open(POLY_MED),
|
||||
('line', 'low'): geojson.loads(Path(LINE_LOW).read_text()),
|
||||
('line', 'med'): geojson.loads(Path(LINE_MED).read_text()),
|
||||
('poly', 'low'): geojson.loads(Path(POLY_LOW).read_text()),
|
||||
('poly', 'med'): geojson.loads(Path(POLY_MED).read_text()),
|
||||
}
|
||||
|
||||
if os.path.exists(sys.argv[1]):
|
||||
# first argument is the JSON plot definition setup file
|
||||
with open(sys.argv[1]) as plotsetup:
|
||||
plotdefs = json.load(plotsetup)
|
||||
else:
|
||||
raise ValueError('No plot definition file entered')
|
||||
|
||||
plots = []
|
||||
# second argument is the output dir
|
||||
outdir = sys.argv[2]
|
||||
|
||||
# subsecond arguments are (optional) names of plot in plotdef.json
|
||||
if len(sys.argv) > 3:
|
||||
plots = sys.argv[3:len(sys.argv)]
|
||||
|
||||
for i, plotdef in enumerate(plotdefs):
|
||||
if plots != [] and plotdef['name'] not in plots:
|
||||
continue
|
||||
@@ -379,9 +405,20 @@ def main():
|
||||
|
||||
plotproj(plotdef, data[(plotdef['type'], plotdef['res'])], outdir)
|
||||
|
||||
for key in data:
|
||||
data[key].close()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
sys.exit(main())
|
||||
parser = argparse.ArgumentParser(
|
||||
description=__doc__,
|
||||
formatter_class=argparse.RawDescriptionHelpFormatter)
|
||||
parser.add_argument(
|
||||
'plotdefs',
|
||||
help='A JSON file with setup for each auto-generated plot')
|
||||
parser.add_argument(
|
||||
'outdir',
|
||||
help='Directory to put the plots in.')
|
||||
parser.add_argument(
|
||||
'plots', nargs='*',
|
||||
help='A list of plot names within the plotdefs file. '
|
||||
'More than one plotname can be given at once.')
|
||||
args = parser.parse_args()
|
||||
sys.exit(main(**vars(args)))
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
|
||||
python3 plot.py plotdefs.json images/
|
||||
Executable
+12
@@ -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/
|
||||
Executable
+16
@@ -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}
|
||||
Executable
+9
@@ -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
|
||||
@@ -25,7 +25,7 @@ by :c:func:`proj_create`, provided it expresses a coordinate operation
|
||||
- a proj-string,
|
||||
- a WKT string,
|
||||
- an object code (like "EPSG:1671" "urn:ogc:def:coordinateOperation:EPSG::1671"),
|
||||
- an object name. e.g "ITRF2014 to ETRF2014 (1)". In that case as
|
||||
- an object name. e.g. "ITRF2014 to ETRF2014 (1)". In that case as
|
||||
uniqueness is not guaranteed, heuristics are applied to determine the appropriate best match.
|
||||
- a OGC URN combining references for concatenated operations
|
||||
(e.g. "urn:ogc:def:coordinateOperation,coordinateOperation:EPSG::3895,coordinateOperation:EPSG::1618")
|
||||
@@ -242,13 +242,4 @@ Hence, in honour of *cct* (the geodesist) this is :program:`cct` (the program).
|
||||
|
||||
**proj(1)**, **cs2cs(1)**, **geod(1)**, **gie(1)**, **projinfo(1)**, **projsync(1)**
|
||||
|
||||
Bugs
|
||||
****
|
||||
|
||||
A list of know bugs can be found at https://github.com/OSGeo/PROJ/issues
|
||||
where new bug reports can be submitted to.
|
||||
|
||||
Home page
|
||||
*********
|
||||
|
||||
https://proj.org/
|
||||
.. include:: common_man.rst
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
.. only:: man
|
||||
|
||||
Bugs
|
||||
****
|
||||
|
||||
A list of known bugs can be found at https://github.com/OSGeo/PROJ/issues
|
||||
where new bug reports can be submitted to.
|
||||
|
||||
Home page
|
||||
*********
|
||||
|
||||
https://proj.org/
|
||||
@@ -317,13 +317,4 @@ outputs
|
||||
|
||||
**proj(1)**, **cct(1)**, **geod(1)**, **gie(1)**, **projinfo(1)**, **projsync(1)**
|
||||
|
||||
Bugs
|
||||
****
|
||||
|
||||
A list of know bugs can be found at https://github.com/OSGeo/PROJ/issues
|
||||
where new bug reports can be submitted to.
|
||||
|
||||
Home page
|
||||
*********
|
||||
|
||||
https://proj.org/
|
||||
.. include:: common_man.rst
|
||||
|
||||
@@ -55,19 +55,17 @@ The following command-line options can appear in any order:
|
||||
.. option:: -lu
|
||||
|
||||
Gives a listing of all the units that may be selected with the *+units=*
|
||||
option.
|
||||
option. (Default units are meters.)
|
||||
|
||||
.. option:: -f <format>
|
||||
|
||||
Where *format* is a printf format string to control the output form of the
|
||||
geographic coordinate values. The default mode is DMS for geographic
|
||||
coordinates and ``"%.3f"`` for distance.
|
||||
geographic coordinate values. The default mode is DMS.
|
||||
|
||||
.. option:: -F <format>
|
||||
|
||||
Where *format* is a printf format string to control the output form of the distance
|
||||
value (``-F``). The default mode is DMS for geographic coordinates and
|
||||
``"%.3f"`` for distance.
|
||||
value. The default mode is ``"%.3f"``.
|
||||
|
||||
.. option:: -w<n>
|
||||
|
||||
@@ -202,13 +200,4 @@ Further reading
|
||||
|
||||
**proj(1)**, **cs2cs(1)**, **cct(1)**, **gie(1)**, **projinfo(1)**, **projsync(1)**
|
||||
|
||||
Bugs
|
||||
****
|
||||
|
||||
A list of know bugs can be found at https://github.com/OSGeo/PROJ/issues
|
||||
where new bug reports can be submitted to.
|
||||
|
||||
Home page
|
||||
*********
|
||||
|
||||
https://proj.org/
|
||||
.. include:: common_man.rst
|
||||
|
||||
@@ -395,13 +395,4 @@ So in honour, and hopefully also in the spirit, of Gerald Ian Evenden
|
||||
|
||||
**proj(1)**, **cs2cs(1)**, **cct(1)**, **geod(1)**, **projinfo(1)**, **projsync(1)**
|
||||
|
||||
Bugs
|
||||
****
|
||||
|
||||
A list of know bugs can be found at https://github.com/OSGeo/PROJ/issues
|
||||
where new bug reports can be submitted to.
|
||||
|
||||
Home page
|
||||
*********
|
||||
|
||||
https://proj.org/
|
||||
.. include:: common_man.rst
|
||||
|
||||
@@ -216,13 +216,4 @@ data will appear as three lines of::
|
||||
|
||||
**cs2cs(1)**, **cct(1)**, **geod(1)**, **gie(1)**, **projinfo(1)**, **projsync(1)**
|
||||
|
||||
Bugs
|
||||
****
|
||||
|
||||
A list of know bugs can be found at https://github.com/OSGeo/PROJ/issues
|
||||
where new bug reports can be submitted to.
|
||||
|
||||
Home page
|
||||
*********
|
||||
|
||||
https://proj.org/
|
||||
.. include:: common_man.rst
|
||||
|
||||
+102
-14
@@ -134,7 +134,7 @@ The following control parameters can appear in any order:
|
||||
Specify how the area of use of coordinate operations found in the database
|
||||
are compared to the area of use specified explicitly with :option:`--area` or :option:`--bbox`,
|
||||
or derived implicitly from the area of use of the source and target CRS.
|
||||
By default, projinfo will only keep coordinate operations whose are of use
|
||||
By default, :program:`projinfo` will only keep coordinate operations whose are of use
|
||||
is strictly within the area of interest (``contains`` strategy).
|
||||
If using the ``intersects`` strategy, the spatial test is relaxed, and any
|
||||
coordinate operation whose area of use at least partly intersects the
|
||||
@@ -184,7 +184,7 @@ The following control parameters can appear in any order:
|
||||
|
||||
Determine if intermediate (pivot) CRS can be used when researching coordinate
|
||||
operation between 2 CRS. A typical example is the WGS84 pivot. By default,
|
||||
projinfo will consider any potential pivot if there is no direct transformation
|
||||
:program:`projinfo` will consider any potential pivot if there is no direct transformation
|
||||
( ``if_no_direct_transformation``). If using the ``never`` strategy,
|
||||
only direct transformations between the source and target CRS will be
|
||||
used. If using the ``always`` strategy, intermediate CRS will be considered
|
||||
@@ -239,8 +239,8 @@ The following control parameters can appear in any order:
|
||||
|
||||
.. option:: --main-db-path path
|
||||
|
||||
Specify the name and path of the database to be used by projinfo. The
|
||||
default is proj.db in the PROJ resource directories.
|
||||
Specify the name and path of the database to be used by :program:`projinfo`.
|
||||
The default is :file:`proj.db` in the PROJ resource directories.
|
||||
|
||||
.. option:: --aux-db-path path
|
||||
|
||||
@@ -442,6 +442,103 @@ Output:
|
||||
}
|
||||
}
|
||||
|
||||
.. _projinfo_aux_db_example:
|
||||
|
||||
4. Exporting the SQL statements to insert a new CRS in an auxiliary database.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
# Get the SQL statements for a custom CRS
|
||||
projinfo "+proj=merc +lat_ts=5 +datum=WGS84 +type=crs +title=my_crs" --output-id HOBU:MY_CRS -o SQL -q > my_crs.sql
|
||||
cat my_crs.sql
|
||||
|
||||
# Initialize an auxiliary database with the schema of the reference database
|
||||
echo ".schema" | sqlite3 /path/to/proj.db | sqlite3 aux.db
|
||||
|
||||
# Append the content of the definition of HOBU:MY_CRS
|
||||
sqlite3 aux.db < my_crs.db
|
||||
|
||||
# Check that everything works OK
|
||||
projinfo --aux-db-path aux.db HOBU:MY_CRS
|
||||
|
||||
or more simply:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
# Create an auxiliary database with the definition of a custom CRS.
|
||||
projinfo "+proj=merc +lat_ts=5 +datum=WGS84 +type=crs +title=my_crs" --output-id HOBU:MY_CRS --dump-db-structure | sqlite3 aux.db
|
||||
|
||||
# Check that everything works OK
|
||||
projinfo --aux-db-path aux.db HOBU:MY_CRS
|
||||
|
||||
Output:
|
||||
|
||||
.. code-block:: sql
|
||||
|
||||
INSERT INTO geodetic_crs VALUES('HOBU','GEODETIC_CRS_MY_CRS','unknown','','geographic 2D','EPSG','6424','EPSG','6326',NULL,0);
|
||||
INSERT INTO usage VALUES('HOBU','USAGE_GEODETIC_CRS_MY_CRS','geodetic_crs','HOBU','GEODETIC_CRS_MY_CRS','PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
|
||||
INSERT INTO conversion VALUES('HOBU','CONVERSION_MY_CRS','unknown','','EPSG','9805','Mercator (variant B)','EPSG','8823','Latitude of 1st standard parallel',5,'EPSG','9122','EPSG','8802','Longitude of natural origin',0,'EPSG','9122','EPSG','8806','False easting',0,'EPSG','9001','EPSG','8807','False northing',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('HOBU','USAGE_CONVERSION_MY_CRS','conversion','HOBU','CONVERSION_MY_CRS','PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
|
||||
INSERT INTO projected_crs VALUES('HOBU','MY_CRS','my_crs','','EPSG','4400','HOBU','GEODETIC_CRS_MY_CRS','HOBU','CONVERSION_MY_CRS',NULL,0);
|
||||
INSERT INTO usage VALUES('HOBU','USAGE_PROJECTED_CRS_MY_CRS','projected_crs','HOBU','MY_CRS','PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
|
||||
|
||||
::
|
||||
|
||||
PROJ.4 string:
|
||||
+proj=merc +lat_ts=5 +lon_0=0 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs +type=crs
|
||||
|
||||
WKT2:2019 string:
|
||||
PROJCRS["my_crs",
|
||||
BASEGEOGCRS["unknown",
|
||||
ENSEMBLE["World Geodetic System 1984 ensemble",
|
||||
MEMBER["World Geodetic System 1984 (Transit)"],
|
||||
MEMBER["World Geodetic System 1984 (G730)"],
|
||||
MEMBER["World Geodetic System 1984 (G873)"],
|
||||
MEMBER["World Geodetic System 1984 (G1150)"],
|
||||
MEMBER["World Geodetic System 1984 (G1674)"],
|
||||
MEMBER["World Geodetic System 1984 (G1762)"],
|
||||
ELLIPSOID["WGS 84",6378137,298.257223563,
|
||||
LENGTHUNIT["metre",1]],
|
||||
ENSEMBLEACCURACY[2.0]],
|
||||
PRIMEM["Greenwich",0,
|
||||
ANGLEUNIT["degree",0.0174532925199433]],
|
||||
ID["HOBU","GEODETIC_CRS_MY_CRS"]],
|
||||
CONVERSION["unknown",
|
||||
METHOD["Mercator (variant B)",
|
||||
ID["EPSG",9805]],
|
||||
PARAMETER["Latitude of 1st standard parallel",5,
|
||||
ANGLEUNIT["degree",0.0174532925199433],
|
||||
ID["EPSG",8823]],
|
||||
PARAMETER["Longitude of natural origin",0,
|
||||
ANGLEUNIT["degree",0.0174532925199433],
|
||||
ID["EPSG",8802]],
|
||||
PARAMETER["False easting",0,
|
||||
LENGTHUNIT["metre",1],
|
||||
ID["EPSG",8806]],
|
||||
PARAMETER["False northing",0,
|
||||
LENGTHUNIT["metre",1],
|
||||
ID["EPSG",8807]]],
|
||||
CS[Cartesian,2],
|
||||
AXIS["(E)",east,
|
||||
ORDER[1],
|
||||
LENGTHUNIT["metre",1]],
|
||||
AXIS["(N)",north,
|
||||
ORDER[2],
|
||||
LENGTHUNIT["metre",1]],
|
||||
ID["HOBU","MY_CRS"]]
|
||||
|
||||
5. Get the WKT representation of EPSG:25832 in the WKT1:GDAL output format and on a single line
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
projinfo -o WKT1:GDAL --single-line EPSG:25832
|
||||
|
||||
Output:
|
||||
|
||||
::
|
||||
|
||||
WKT1:GDAL string:
|
||||
PROJCS["ETRS89 / UTM zone 32N",GEOGCS["ETRS89",DATUM["European_Terrestrial_Reference_System_1989",SPHEROID["GRS 1980",6378137,298.257222101,AUTHORITY["EPSG","7019"]],AUTHORITY["EPSG","6258"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4258"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",9],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["EPSG","25832"]]
|
||||
|
||||
.. only:: man
|
||||
|
||||
@@ -450,13 +547,4 @@ Output:
|
||||
|
||||
**cs2cs(1)**, **cct(1)**, **geod(1)**, **gie(1)**, **proj(1)**, **projsync(1)**
|
||||
|
||||
Bugs
|
||||
****
|
||||
|
||||
A list of know bugs can be found at https://github.com/OSGeo/PROJ/issues
|
||||
where new bug reports can be submitted to.
|
||||
|
||||
Home page
|
||||
*********
|
||||
|
||||
https://proj.org/
|
||||
.. include:: common_man.rst
|
||||
|
||||
@@ -39,13 +39,13 @@ The following control parameters can appear in any order:
|
||||
|
||||
.. option:: --endpoint URL
|
||||
|
||||
Defines the URL where to download the master ``files.geojson`` file and then
|
||||
Defines the URL where to download the master :file:`files.geojson` file and then
|
||||
the resource files. Defaults to the value set in :ref:`proj-ini`
|
||||
|
||||
.. option:: --local-geojson-file FILENAME
|
||||
|
||||
Defines the filename for the master GeoJSON files that references resources.
|
||||
Defaults to ${endpoint}/files.geojson
|
||||
Defaults to ``${endpoint}/files.geojson``
|
||||
|
||||
.. option:: --user-writable-directory
|
||||
|
||||
@@ -149,7 +149,7 @@ Examples
|
||||
Bugs
|
||||
****
|
||||
|
||||
A list of know bugs can be found at https://github.com/OSGeo/PROJ/issues
|
||||
A list of known bugs can be found at https://github.com/OSGeo/PROJ/issues
|
||||
where new bug reports can be submitted to.
|
||||
Bugs specific to resource files should be submitted to
|
||||
https://github.com/OSGeo/PROJ-data/issues
|
||||
|
||||
@@ -139,7 +139,7 @@ Build under scan-build:
|
||||
If CSA finds errors, they will be emitted during the build. And in which case,
|
||||
at the end of the build process, scan-build will emit a warning message
|
||||
indicating errors have been found and how to display the error report. This
|
||||
is with someling like
|
||||
is with something like
|
||||
|
||||
::
|
||||
|
||||
|
||||
@@ -20,13 +20,13 @@ contributor the community is always very welcoming.
|
||||
Conference
|
||||
----------
|
||||
|
||||
.. image:: ../../images/foss4g2020.png
|
||||
:alt: FOSS4G 2020
|
||||
:target: https://2020.foss4g.org/
|
||||
.. image:: ../../images/foss4g2021.jpg
|
||||
:alt: FOSS4G 2021
|
||||
:target: https://2021.foss4g.org/
|
||||
|
||||
`FOSS4G 2020 <https://2020.foss4g.org/>`_ is the leading annual conference for
|
||||
`FOSS4G 2021 <https://2021.foss4g.org/>`_ is the leading annual conference for
|
||||
free and open source geospatial software. It will include presentations related
|
||||
to PROJ, and some of the PROJ development community will be attending. It is the
|
||||
event for those interested in PROJ, other FOSS geospatial technologies and the
|
||||
community around them. The conference will be held in Calgary, Canada,
|
||||
August 24th - August 29th, 2020.
|
||||
community around them. The conference will due to COVID-19 be held in a virtual
|
||||
setting September 27th - October 2nd, 2021.
|
||||
|
||||
@@ -157,7 +157,7 @@ all classes, except the CoordinateOperation class that point to CRS for
|
||||
sourceCRS and targetCRS members, whereas DerivedCRS point to a Conversion
|
||||
instance (which derives from CoordinateOperation). This issue was detected in
|
||||
the ISO-19111 standard. The solution adopted here is to use std::weak_ptr
|
||||
in the CoordinateOperation class to avoid the cycle. This design artifact is
|
||||
in the CoordinateOperation class to avoid the cycle. This design artefact is
|
||||
transparent to users.
|
||||
|
||||
Another important design point is that all ISO19111 objects are immutable after
|
||||
@@ -215,12 +215,12 @@ On the algorithmic side, a somewhat involved logic is the
|
||||
CoordinateOperationFactory::createOperations() in `coordinateoperation.cpp`_
|
||||
that takes a pair of source and target CRS and returns a set of possible
|
||||
`coordinate operations`_ (either single operations like a Conversion or a
|
||||
Transformation, or concatenated operations). It uses the intrinsinc structure
|
||||
Transformation, or concatenated operations). It uses the intrinsic structure
|
||||
of those objects to create the coordinate operation pipeline. That is, if
|
||||
going from a ProjectedCRS to another one, by doing first the inverse conversion
|
||||
from the source ProjectedCRS to its base GeographicCRS, then finding the
|
||||
appropriate transformation(s) from this base GeographicCRS to the base
|
||||
GeographicCRS of the target CRS, and then appyling the conversion from this
|
||||
GeographicCRS of the target CRS, and then applying the conversion from this
|
||||
base GeographicCRS to the target ProjectedCRS. At each step, it queries the
|
||||
database to find if one or several transformations are available. The
|
||||
resulting coordinate operations are filtered, and sorted, with user provided hints:
|
||||
@@ -238,7 +238,7 @@ resulting coordinate operations are filtered, and sorted, with user provided hin
|
||||
compared. By default, only transformations whose area of use is fully
|
||||
contained in the desired area of use are selected. It is also possible
|
||||
to relax this test by specifying that only an intersection test must be used.
|
||||
- whether `PROJ transformation grid`_ names should be susbstituted to the
|
||||
- whether `PROJ transformation grid`_ names should be substituted to the
|
||||
official names, when a match is found in the `grid_alternatives` table
|
||||
of the database. Defaults to true
|
||||
- whether the availability of those grids should be used to filter and sort
|
||||
@@ -636,7 +636,7 @@ Impacted files
|
||||
--------------
|
||||
|
||||
New files (excluding makefile.am, CMakeLists.txt and other build infrastructure
|
||||
artifacts):
|
||||
artefacts):
|
||||
|
||||
* include/proj/: Public installed C++ headers
|
||||
- `common.hpp`_: declarations of osgeo::proj::common namespace.
|
||||
@@ -853,7 +853,7 @@ Doxygen.
|
||||
.. _`Spaghetti inheritance diagram`: http://even.rouault.free.fr/proj_cpp_api/html/inherits.html
|
||||
|
||||
A basic integration of the Doxygen XML output into the general PROJ
|
||||
documentation (using reStructuredText format) has been done with the the
|
||||
documentation (using reStructuredText format) has been done with the
|
||||
Sphinx extension `Breathe`_, producing:
|
||||
|
||||
* `One section with the C++ API`_
|
||||
|
||||
@@ -50,7 +50,7 @@ Background
|
||||
|
||||
PROJ has traditionally been written in C89. Until recently, no formal
|
||||
requirements of e.g. build systems has been defined and formally accepted by
|
||||
the project. :ref:RFC2 <rfc2>` formally introduces dependencies on C++11 and
|
||||
the project. :ref:`RFC2 <rfc2>` formally introduces dependencies on C++11 and
|
||||
SQLite 3.7.
|
||||
|
||||
In this RFC a rolling update of version or standard requirements is described.
|
||||
@@ -94,7 +94,7 @@ PROJ uses C89 and C++11. For C, that means that the used standard is three
|
||||
iterations behind the most recent standard. C++ is two iterations behind.
|
||||
Following the rules in this RFC the required C standard used in PROJ is at
|
||||
allowed to be two iterations behind the most recent standard. That means that a
|
||||
change to C99 is possible, as long as the PROJ PSC aknowledges such a change.
|
||||
change to C99 is possible, as long as the PROJ PSC acknowledges such a change.
|
||||
|
||||
When a new standard for either C or C++ is released PROJ should consider
|
||||
changing its requirement to the next standard in the line. For C++ that means a
|
||||
|
||||
@@ -89,7 +89,7 @@ can build with rather ancient libcurl for similar functionality, we can aim for
|
||||
libcurl >= 7.29.0 (as being available in RHEL 7).
|
||||
|
||||
An alternate pluggable network interface can also be set by the user in case
|
||||
suppot for libcurl was not built in, or if for the desired context of use, the
|
||||
support for libcurl was not built in, or if for the desired context of use, the
|
||||
user wishes to provide the network implementation (a typical use case could be
|
||||
QGIS that would use its QT-based networking facilities to solve issues with
|
||||
SSL, proxy, authentication, etc.)
|
||||
@@ -223,7 +223,7 @@ to limit the number of HTTP GET requests and minimize latency caused by network
|
||||
access. This is very similar to the behavior of the GDAL
|
||||
`/vsicurl/ <https://gdal.org/user/virtual_file_systems.html#vsicurl-http-https-ftp-files-random-access>`_
|
||||
I/O layer. The plan is to mostly copy GDAL's vsicurl implementation inside PROJ, with
|
||||
needed adjustmeents and proper namespacing of it.
|
||||
needed adjustments and proper namespacing of it.
|
||||
|
||||
A retry strategy (typically a delay with an exponential back-off and some random
|
||||
jitter) will be added to account for intermittent network or server-side failure.
|
||||
@@ -403,7 +403,7 @@ and ${LOCALAPPDATA} on Windows builds. Exact details to be sorted out, but
|
||||
https://github.com/ActiveState/appdirs/blob/a54ea98feed0a7593475b94de3a359e9e1fe8fdb/appdirs.py#L45-L97
|
||||
can be a good reference.
|
||||
|
||||
As this database might be accesse by several threads or processes at the same
|
||||
As this database might be accessed by several threads or processes at the same
|
||||
time, the code accessing to it will carefully honour SQLite3 errors regarding
|
||||
to locks, to do appropriate retries if another thread/process is currently
|
||||
locking the database. Accesses requiring a modification of the database will
|
||||
@@ -546,7 +546,7 @@ Strong points:
|
||||
|
||||
* TIFF can be tiled.
|
||||
|
||||
* TIFF can be compressed. Commonly found compression formats arre DEFLATE, LZW,
|
||||
* TIFF can be compressed. Commonly found compression formats are DEFLATE, LZW,
|
||||
combined with differential integer or floating point predictors
|
||||
|
||||
* A TIFF image can contain a configurable number of channels/bands/samples.
|
||||
@@ -602,7 +602,7 @@ Weak points:
|
||||
* Multi-samples variables are located in different sections of the files
|
||||
(correspond to TIFF PlanarConfiguration = Separate)
|
||||
|
||||
* No natural way of having hiearchical / multigrids. They must be encoded as
|
||||
* No natural way of having hierarchical / multigrids. They must be encoded as
|
||||
separate variables
|
||||
|
||||
* georeferencing in netCDF is somewhat less standardized than TIFF/GeoTIFF.
|
||||
@@ -704,7 +704,7 @@ document.
|
||||
Tooling
|
||||
+++++++
|
||||
|
||||
A script will be deveoped to accept a list of individual grids to combine
|
||||
A script will be developed to accept a list of individual grids to combine
|
||||
together into a single file.
|
||||
|
||||
A ntv2_to_gtiff.py convenience script will be created to convert NTv2 grids,
|
||||
|
||||
@@ -22,7 +22,7 @@ as https://github.com/OSGeo/proj-datumgrid converted in GeoTIFF files. In the
|
||||
current state, we could have a somewhat inconsistency between users relying on
|
||||
the proj-datumgrid, proj-datumgrid-[world,northamerica,oceania,europe] packages
|
||||
of mostly NTv2 and GTX files, and what is shipped through the CDN. Maintaining
|
||||
two repositories is also a maintaince burden in the long term.
|
||||
two repositories is also a maintenance burden in the long term.
|
||||
|
||||
It is thus desirable to have a single source of truth, and we propose it to be
|
||||
based on the GeoTIFF grids.
|
||||
@@ -44,14 +44,14 @@ Summary of work planned by this RFC and related decisions
|
||||
- Each file will be named according to the following pattern
|
||||
``${agency_name}_${filename}[.ext]``. For example fr_ign_ntf_r93.tif
|
||||
This convention should allow packagers, if the need arise, to be able to
|
||||
split the monolothic package in smaller ones, based on criterion related to
|
||||
split the monolithic package in smaller ones, based on criterion related to
|
||||
the country.
|
||||
|
||||
The agency name is the one you can see from the directory names at
|
||||
https://github.com/OSGeo/PROJ-data/.
|
||||
``${agency_name}`` itself is structure like ``${two_letter_country_code_of_agency_nationality}_${some_abbreviation}``
|
||||
(with the exception of eur_nkg, for the Nordic Geodetic Commission which
|
||||
isn't affiliated to a single country but to some european countries, and
|
||||
isn't affiliated to a single country but to some European countries, and
|
||||
follows the general scheme)
|
||||
|
||||
- https://github.com/OSGeo/proj-datumgrid and related packages will only be
|
||||
|
||||
+23
-17
@@ -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
|
||||
@@ -43,6 +42,14 @@ extensions = [
|
||||
# Add any paths that contain templates here, relative to this directory.
|
||||
templates_path = ['_templates']
|
||||
|
||||
# BibTeX configuration
|
||||
bibtex_bibfiles = ['references.bib']
|
||||
|
||||
# Spelling configuration
|
||||
spelling_lang = tokenizer_lang = 'en_GB'
|
||||
spelling_show_suggestions = False
|
||||
spelling_ignore_importable_modules = False
|
||||
|
||||
# The suffix(es) of source filenames.
|
||||
# You can specify multiple suffix as a list of string:
|
||||
# source_suffix = ['.rst', '.md']
|
||||
@@ -62,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-2021'
|
||||
|
||||
# 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 = '8.0.0'
|
||||
data_version = '1.5'
|
||||
|
||||
# use same |release| as |version|
|
||||
release = version
|
||||
version = '8.0'
|
||||
release = '8.0.1'
|
||||
data_version = '1.6'
|
||||
|
||||
# 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 = 'May 2021'
|
||||
# Else, today_fmt is used as the format for a strftime call.
|
||||
#today_fmt = '%B %d, %Y'
|
||||
|
||||
@@ -188,16 +191,16 @@ html_favicon = '../images/favicon.png'
|
||||
# so a file named "default.css" will overwrite the builtin "default.css".
|
||||
html_static_path = ['_static']
|
||||
|
||||
htm_css_files = [
|
||||
'theme_overrides.css', # override wide tables in RTD theme
|
||||
]
|
||||
|
||||
html_context = {
|
||||
'display_github': True,
|
||||
'theme_vcs_pageview_mode': 'edit',
|
||||
'github_user': 'OSGeo',
|
||||
'github_repo': 'PROJ',
|
||||
# TODO: edit when switching active branch
|
||||
'github_version': '/7.2/docs/source/',
|
||||
'css_files': [
|
||||
'_static/theme_overrides.css', # override wide tables in RTD theme
|
||||
],
|
||||
'github_version': '/8.0/docs/source/',
|
||||
}
|
||||
|
||||
# Add any extra paths that contain custom files (such as robots.txt or
|
||||
@@ -270,6 +273,8 @@ preamble = r"""
|
||||
\ifdefined\DeclareUnicodeCharacter
|
||||
\DeclareUnicodeCharacter{2032}{$'$}% prime
|
||||
\fi
|
||||
|
||||
\usepackage[notbib]{tocbibind}
|
||||
"""
|
||||
|
||||
latex_elements = {
|
||||
@@ -281,7 +286,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',
|
||||
|
||||
@@ -27,7 +27,7 @@ are maintained in a `separate git repository <https://github.com/OSGeo/proj-datu
|
||||
|
||||
.. attention::
|
||||
|
||||
The ``projects.h`` header and the functions related to it is considered
|
||||
The :file:`projects.h` header and the functions related to it is considered
|
||||
deprecated from version 5.0.0 and onwards. The header has been removed
|
||||
PROJ in version 6.0.0 released February 1st 2019.
|
||||
|
||||
@@ -38,7 +38,7 @@ are maintained in a `separate git repository <https://github.com/OSGeo/proj-datu
|
||||
|
||||
.. attention::
|
||||
|
||||
The ``proj_api.h`` header and the functions related to it is
|
||||
The :file:`proj_api.h` header and the functions related to it is
|
||||
considered deprecated from version 5.0.0 and onwards. The header has been
|
||||
removed in version 8.0.0 released March 1st 2021.
|
||||
|
||||
|
||||
@@ -109,58 +109,58 @@ Function mapping from old to new API
|
||||
+---------------------------------------+-------------------------------------------------+
|
||||
| Old API functions | New API functions |
|
||||
+=======================================+=================================================+
|
||||
| pj_fwd | :c:func:`proj_trans` |
|
||||
| ``pj_fwd`` | :c:func:`proj_trans` |
|
||||
+---------------------------------------+-------------------------------------------------+
|
||||
| pj_inv | :c:func:`proj_trans` |
|
||||
| ``pj_inv`` | :c:func:`proj_trans` |
|
||||
+---------------------------------------+-------------------------------------------------+
|
||||
| pj_fwd3 | :c:func:`proj_trans` |
|
||||
| ``pj_fwd3`` | :c:func:`proj_trans` |
|
||||
+---------------------------------------+-------------------------------------------------+
|
||||
| pj_inv3 | :c:func:`proj_trans` |
|
||||
| ``pj_inv3`` | :c:func:`proj_trans` |
|
||||
+---------------------------------------+-------------------------------------------------+
|
||||
| pj_transform | :c:func:`proj_create_crs_to_crs` |
|
||||
| ``pj_transform`` | :c:func:`proj_create_crs_to_crs` |
|
||||
| | or :c:func:`proj_create_crs_to_crs_from_pj` + |
|
||||
| | (:c:func:`proj_normalize_for_visualization` +) |
|
||||
| | :c:func:`proj_trans`, |
|
||||
| | :c:func:`proj_trans_array` or |
|
||||
| | :c:func:`proj_trans_generic` |
|
||||
+---------------------------------------+-------------------------------------------------+
|
||||
| pj_init | :c:func:`proj_create` / |
|
||||
| ``pj_init`` | :c:func:`proj_create` / |
|
||||
| | :c:func:`proj_create_crs_to_crs` |
|
||||
+---------------------------------------+-------------------------------------------------+
|
||||
| pj_init | :c:func:`proj_create` / |
|
||||
| ``pj_init`` | :c:func:`proj_create` / |
|
||||
| | :c:func:`proj_create_crs_to_crs` |
|
||||
+---------------------------------------+-------------------------------------------------+
|
||||
| pj_free | :c:func:`proj_destroy` |
|
||||
| ``pj_free`` | :c:func:`proj_destroy` |
|
||||
+---------------------------------------+-------------------------------------------------+
|
||||
| pj_is_latlong | :c:func:`proj_get_type` |
|
||||
| ``pj_is_latlong`` | :c:func:`proj_get_type` |
|
||||
+---------------------------------------+-------------------------------------------------+
|
||||
| pj_is_geocent | :c:func:`proj_get_type` |
|
||||
| ``pj_is_geocent`` | :c:func:`proj_get_type` |
|
||||
+---------------------------------------+-------------------------------------------------+
|
||||
| pj_get_def | :c:func:`proj_pj_info` |
|
||||
| ``pj_get_def`` | :c:func:`proj_pj_info` |
|
||||
+---------------------------------------+-------------------------------------------------+
|
||||
| pj_latlong_from_proj | *No direct equivalent*, but can be accomplished |
|
||||
| ``pj_latlong_from_proj`` | *No direct equivalent*, but can be accomplished |
|
||||
| | by chaining :c:func:`proj_create`, |
|
||||
| | :c:func:`proj_crs_get_horizontal_datum` and |
|
||||
| | :c:func:`proj_create_geographic_crs_from_datum` |
|
||||
+---------------------------------------+-------------------------------------------------+
|
||||
| pj_set_finder | :c:func:`proj_context_set_file_finder` |
|
||||
| ``pj_set_finder`` | :c:func:`proj_context_set_file_finder` |
|
||||
+---------------------------------------+-------------------------------------------------+
|
||||
| pj_set_searchpath | :c:func:`proj_context_set_search_paths` |
|
||||
| ``pj_set_searchpath`` | :c:func:`proj_context_set_search_paths` |
|
||||
+---------------------------------------+-------------------------------------------------+
|
||||
| pj_deallocate_grids | *No equivalent* |
|
||||
| ``pj_deallocate_grids`` | *No equivalent* |
|
||||
+---------------------------------------+-------------------------------------------------+
|
||||
| pj_strerrno | *No equivalent* |
|
||||
| ``pj_strerrno`` | *No equivalent* |
|
||||
+---------------------------------------+-------------------------------------------------+
|
||||
| pj_get_errno_ref | :c:func:`proj_errno` |
|
||||
| ``pj_get_errno_ref`` | :c:func:`proj_errno` |
|
||||
+---------------------------------------+-------------------------------------------------+
|
||||
| pj_get_release | :c:func:`proj_info` |
|
||||
| ``pj_get_release`` | :c:func:`proj_info` |
|
||||
+---------------------------------------+-------------------------------------------------+
|
||||
|
||||
|
||||
Backward incompatibilities
|
||||
###############################################################################
|
||||
|
||||
Access to the proj_api.h is still possible but requires to define the
|
||||
Access to the :file:`proj_api.h` is still possible but requires to define the
|
||||
``ACCEPT_USE_OF_DEPRECATED_PROJ_API_H`` macro.
|
||||
|
||||
The emulation of the now deprecated ``+init=epsg:XXXX`` syntax in PROJ 6 is not
|
||||
@@ -234,9 +234,9 @@ how to use it. First note that in order to go from system A to system B, the old
|
||||
starts by doing an **inverse** transformation from system A to WGS84, then does a
|
||||
**forward** transformation from WGS84 to system B.
|
||||
|
||||
With ``cs2cs`` being the command line interface to the old API, and ``cct`` being the same
|
||||
for the new, this example of doing the same thing in both world views will should give
|
||||
an idea of the differences:
|
||||
With :program:`cs2cs` being the command line interface to the old API, and
|
||||
:program:`cct` being the same for the new, this example of doing the same
|
||||
thing in both world views will should give an idea of the differences:
|
||||
|
||||
::
|
||||
|
||||
@@ -348,39 +348,40 @@ Function mapping from old to new API
|
||||
+---------------------------------------+---------------------------------------+
|
||||
| Old API functions | New API functions |
|
||||
+=======================================+=======================================+
|
||||
| pj_fwd | :c:func:`proj_trans` |
|
||||
| ``pj_fwd`` | :c:func:`proj_trans` |
|
||||
+---------------------------------------+---------------------------------------+
|
||||
| pj_inv | :c:func:`proj_trans` |
|
||||
| ``pj_inv`` | :c:func:`proj_trans` |
|
||||
+---------------------------------------+---------------------------------------+
|
||||
| pj_fwd3 | :c:func:`proj_trans` |
|
||||
| ``pj_fwd3`` | :c:func:`proj_trans` |
|
||||
+---------------------------------------+---------------------------------------+
|
||||
| pj_inv3 | :c:func:`proj_trans` |
|
||||
| ``pj_inv3`` | :c:func:`proj_trans` |
|
||||
+---------------------------------------+---------------------------------------+
|
||||
| pj_transform | proj_trans_array or proj_trans_generic|
|
||||
| ``pj_transform`` | :c:func:`proj_trans_array` or |
|
||||
| | :c:func:`proj_trans_generic` |
|
||||
+---------------------------------------+---------------------------------------+
|
||||
| pj_init | :c:func:`proj_create` |
|
||||
| ``pj_init`` | :c:func:`proj_create` |
|
||||
+---------------------------------------+---------------------------------------+
|
||||
| pj_init_plus | :c:func:`proj_create` |
|
||||
| ``pj_init_plus`` | :c:func:`proj_create` |
|
||||
+---------------------------------------+---------------------------------------+
|
||||
| pj_free | :c:func:`proj_destroy` |
|
||||
| ``pj_free`` | :c:func:`proj_destroy` |
|
||||
+---------------------------------------+---------------------------------------+
|
||||
| pj_is_latlong | :c:func:`proj_angular_output` |
|
||||
| ``pj_is_latlong`` | :c:func:`proj_angular_output` |
|
||||
+---------------------------------------+---------------------------------------+
|
||||
| pj_is_geocent | :c:func:`proj_angular_output` |
|
||||
| ``pj_is_geocent`` | :c:func:`proj_angular_output` |
|
||||
+---------------------------------------+---------------------------------------+
|
||||
| pj_get_def | :c:func:`proj_pj_info` |
|
||||
| ``pj_get_def`` | :c:func:`proj_pj_info` |
|
||||
+---------------------------------------+---------------------------------------+
|
||||
| pj_latlong_from_proj | *No equivalent* |
|
||||
| ``pj_latlong_from_proj`` | *No equivalent* |
|
||||
+---------------------------------------+---------------------------------------+
|
||||
| pj_set_finder | *No equivalent* |
|
||||
| ``pj_set_finder`` | *No equivalent* |
|
||||
+---------------------------------------+---------------------------------------+
|
||||
| pj_set_searchpath | *No equivalent* |
|
||||
| ``pj_set_searchpath`` | *No equivalent* |
|
||||
+---------------------------------------+---------------------------------------+
|
||||
| pj_deallocate_grids | *No equivalent* |
|
||||
| ``pj_deallocate_grids`` | *No equivalent* |
|
||||
+---------------------------------------+---------------------------------------+
|
||||
| pj_strerrno | *No equivalent* |
|
||||
| ``pj_strerrno`` | *No equivalent* |
|
||||
+---------------------------------------+---------------------------------------+
|
||||
| pj_get_errno_ref | :c:func:`proj_errno` |
|
||||
| ``pj_get_errno_ref`` | :c:func:`proj_errno` |
|
||||
+---------------------------------------+---------------------------------------+
|
||||
| pj_get_release | :c:func:`proj_info` |
|
||||
| ``pj_get_release`` | :c:func:`proj_info` |
|
||||
+---------------------------------------+---------------------------------------+
|
||||
|
||||
@@ -12,8 +12,8 @@ be seen at the end of the section.
|
||||
See the following sections for more in-depth descriptions of different parts of
|
||||
the PROJ API or consult the :doc:`API reference <reference/index>` for specifics.
|
||||
|
||||
Before the PROJ API can be used it is necessary to include the ``proj.h`` header
|
||||
file. Here ``stdio.h`` is also included so we can print some text to the screen:
|
||||
Before the PROJ API can be used it is necessary to include the :file:`proj.h` header
|
||||
file. Here :file:`stdio.h` is also included so we can print some text to the screen:
|
||||
|
||||
.. literalinclude:: ../../../examples/pj_obs_api_mini_demo.c
|
||||
:language: c
|
||||
@@ -45,7 +45,7 @@ a string that describes the target CRS and an optional description of the area o
|
||||
use.
|
||||
The strings for the source or target CRS may be PROJ strings (``+proj=longlat +datum=WGS84``),
|
||||
CRS identified by their code (``EPSG:4326`` or ``urn:ogc:def:crs:EPSG::4326``) or
|
||||
by a well-known text (WKT) string (
|
||||
by a well-known text (WKT) string:
|
||||
::
|
||||
|
||||
GEOGCRS["WGS 84",
|
||||
@@ -67,7 +67,6 @@ by a well-known text (WKT) string (
|
||||
BBOX[-90,-180,90,180]],
|
||||
ID["EPSG",4326]]
|
||||
|
||||
).
|
||||
The use of PROJ strings to describe a CRS is considered as legacy (one of the
|
||||
main weakness of PROJ strings is their inability to describe a geodetic datum,
|
||||
other than the few ones hardcoded in the ``+datum`` parameter).
|
||||
@@ -115,7 +114,7 @@ projected CRS.
|
||||
|
||||
PROJ uses its own data structures for handling coordinates. Here we use a
|
||||
:c:type:`PJ_COORD` which is easily assigned with the function :c:func:`proj_coord`.
|
||||
When using +proj=longlat, the order of coordinates is longitude, latitude,
|
||||
When using ``+proj=longlat``, the order of coordinates is longitude, latitude,
|
||||
and values are expressed in degrees. If you used instead a EPSG geographic CRS,
|
||||
like EPSG:4326 (WGS84), it would be latitude, longitude.
|
||||
|
||||
|
||||
@@ -3,5 +3,5 @@
|
||||
General documentation
|
||||
---------------------
|
||||
|
||||
.. doxygenfile:: general_doc.dox.reworked.h
|
||||
.. doxygenpage:: general_doc
|
||||
:project: doxygen_api
|
||||
|
||||
@@ -571,7 +571,7 @@ List structures
|
||||
|
||||
.. c:member:: const char *ell
|
||||
|
||||
Elliptical parameter, e.g. `rf=298.257` or `b=6356772.2`.
|
||||
Elliptical parameter, e.g. ``rf=298.257`` or ``b=6356772.2``.
|
||||
|
||||
.. c:member:: const char *name
|
||||
|
||||
@@ -670,8 +670,9 @@ Info structures
|
||||
|
||||
Search path for PROJ. List of directories separated by
|
||||
semicolons (Windows) or colons (non-Windows), e.g.
|
||||
"C:\\Users\\doctorwho;C:\\OSGeo4W64\\share\\proj".
|
||||
Grids and init files are looked for in directories in the search path.
|
||||
``C:\\Users\\doctorwho;C:\\OSGeo4W64\\share\\proj``.
|
||||
Grids and :ref:`init files <init_files>` are looked for in
|
||||
directories in the search path.
|
||||
|
||||
.. c:type:: PJ_PROJ_INFO
|
||||
|
||||
@@ -694,7 +695,7 @@ Info structures
|
||||
.. c:member:: const char *PJ_PROJ_INFO.id
|
||||
|
||||
Short ID of the operation the :c:type:`PJ` object is based on, that is,
|
||||
what comes afther the ``+proj=`` in a proj-string, e.g. "*merc*".
|
||||
what comes after the ``+proj=`` in a proj-string, e.g. "*merc*".
|
||||
|
||||
.. c:member:: const char *PJ_PROJ_INFO.description
|
||||
|
||||
@@ -757,7 +758,7 @@ Info structures
|
||||
|
||||
.. c:member:: int PJ_GRID_INFO.n_lat
|
||||
|
||||
Number of grid cells in the latitudianl direction.
|
||||
Number of grid cells in the latitudinal direction.
|
||||
|
||||
.. c:member:: double PJ_GRID_INFO.cs_lon
|
||||
|
||||
@@ -793,7 +794,7 @@ Info structures
|
||||
|
||||
.. c:member:: char PJ_INIT_INFO.version[32]
|
||||
|
||||
Version number of init-file, e.g. "*9.0.0*"
|
||||
Version number of init file, e.g. "*9.0.0*"
|
||||
|
||||
.. c:member:: char PJ_INIT_INFO.origin[32]
|
||||
|
||||
@@ -801,7 +802,7 @@ Info structures
|
||||
|
||||
.. c:member:: char PJ_INIT_INFO.lastupdate
|
||||
|
||||
Date of last update of the init-file.
|
||||
Date of last update of the init file.
|
||||
|
||||
|
||||
.. _error_codes:
|
||||
@@ -829,7 +830,7 @@ Errors in class PROJ_ERR_INVALID_OP
|
||||
|
||||
.. note:: some of them can also be emitted during coordinate transformation,
|
||||
like PROJ_ERR_INVALID_OP_FILE_NOT_FOUND_OR_INVALID in case the resource loading
|
||||
is differed until it is really needed.
|
||||
is deferred until it is really needed.
|
||||
|
||||
.. c:macro:: PROJ_ERR_INVALID_OP_WRONG_SYNTAX
|
||||
|
||||
@@ -860,16 +861,16 @@ Errors in class PROJ_ERR_COORD_TRANSFM
|
||||
|
||||
.. c:macro:: PROJ_ERR_COORD_TRANSFM_INVALID_COORD
|
||||
|
||||
Invalid input coordinate. e.g a latitude > 90°.
|
||||
Invalid input coordinate. e.g. a latitude > 90°.
|
||||
|
||||
.. c:macro:: PROJ_ERR_COORD_TRANSFM_OUTSIDE_PROJECTION_DOMAIN
|
||||
|
||||
Coordinate is outside of the projection domain. e.g approximate mercator with \|longitude - lon_0\| > 90°,
|
||||
or iterative convergence method failed.
|
||||
Coordinate is outside of the projection domain. e.g. approximate mercator
|
||||
with \|longitude - lon_0\| > 90°, or iterative convergence method failed.
|
||||
|
||||
.. c:macro:: PROJ_ERR_COORD_TRANSFM_NO_OPERATION
|
||||
|
||||
No operation found, e.g if no match the required accuracy, or if ballpark transformations
|
||||
No operation found, e.g. if no match the required accuracy, or if ballpark transformations
|
||||
were asked to not be used and they would be only such candidate.
|
||||
|
||||
.. c:macro:: PROJ_ERR_COORD_TRANSFM_OUTSIDE_GRID
|
||||
|
||||
@@ -33,7 +33,7 @@ Transformation setup
|
||||
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
The objects returned by the functions defined in this section have minimal
|
||||
interaction with the the functions of the
|
||||
interaction with the functions of the
|
||||
`C API for ISO-19111 functionality`_, and vice versa. See its introduction
|
||||
paragraph for more details.
|
||||
|
||||
@@ -623,7 +623,13 @@ Distances
|
||||
Calculate geodesic distance between two points in geodetic coordinates. The
|
||||
calculated distance is between the two points located on the ellipsoid.
|
||||
|
||||
:param P: Transformation object
|
||||
The coordinates in :c:data:`a` and :c:data:`b` needs to be given as longitude
|
||||
and latitude in radians. Note that the axis order of the :c:data:`P` object
|
||||
is not taken into account in this function, so even though a CRS object comes
|
||||
with axis ordering latitude/longitude coordinates used in this function should
|
||||
be reordered as longitude/latitude.
|
||||
|
||||
:param P: Transformation or CRS object
|
||||
:type P: const :c:type:`PJ` *
|
||||
:param PJ_COORD a: Coordinate of first point
|
||||
:param PJ_COORD b: Coordinate of second point
|
||||
@@ -635,7 +641,13 @@ Distances
|
||||
Similar to :c:func:`proj_lp_dist` but also takes the height above the ellipsoid
|
||||
into account.
|
||||
|
||||
:param P: Transformation object
|
||||
The coordinates in :c:data:`a` and :c:data:`b` needs to be given as longitude
|
||||
and latitude in radians. Note that the axis order of the :c:data:`P` object
|
||||
is not taken into account in this function, so even though a CRS object comes
|
||||
with axis ordering latitude/longitude coordinates used in this function should
|
||||
be reordered as longitude/latitude.
|
||||
|
||||
:param P: Transformation or CRS object
|
||||
:type P: const :c:type:`PJ` *
|
||||
:param PJ_COORD a: Coordinate of first point
|
||||
:param PJ_COORD b: Coordinate of second point
|
||||
@@ -657,6 +669,27 @@ Distances
|
||||
:param PJ_COORD b: Second coordinate
|
||||
:returns: `double` Distance between :c:data:`a` and :c:data:`b` in meters.
|
||||
|
||||
.. c:function:: PJ_COORD proj_geod(const PJ *P, PJ_COORD a, PJ_COORD b)
|
||||
|
||||
Calculate the geodesic distance as well as forward and reverse azimuth
|
||||
between two points on the ellipsoid.
|
||||
|
||||
The coordinates in :c:data:`a` and :c:data:`b` needs to be given as longitude
|
||||
and latitude in radians. Note that the axis order of the :c:data:`P` object
|
||||
is not taken into account in this function, so even though a CRS object comes
|
||||
with axis ordering latitude/longitude coordinates used in this function should
|
||||
be reordered as longitude/latitude.
|
||||
|
||||
:param P: Transformation or CRS object
|
||||
:type P: const :c:type:`PJ` *
|
||||
:param PJ_COORD a: Coordinate of first point
|
||||
:param PJ_COORD b: Coordinate of second point
|
||||
:returns: `PJ_COORD` where the first value is the distance between :c:data:`a`
|
||||
and :c:data:`b` in meters, the second value is the forward azimuth
|
||||
and the third value is the reverse azimuth. The fourth coordinate
|
||||
value is unused.
|
||||
|
||||
|
||||
|
||||
Various
|
||||
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
@@ -897,7 +930,7 @@ The PJ* objects returned by :c:func:`proj_create_from_wkt`,
|
||||
:c:func:`proj_create_from_database` and other functions in that section
|
||||
will have generally minimal interaction with the functions declared in the
|
||||
previous sections (calling those functions on those objects
|
||||
will either return an error or default/non-sensical values). The exception is
|
||||
will either return an error or default/nonsensical values). The exception is
|
||||
for ISO19111 objects of type CoordinateOperation that can be exported as a
|
||||
valid PROJ pipeline. In this case, objects will work for example with
|
||||
:c:func:`proj_trans_generic`.
|
||||
|
||||
@@ -7,6 +7,7 @@ Reference
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
|
||||
macros
|
||||
datatypes
|
||||
functions
|
||||
cpp/index.rst
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
.. _macros:
|
||||
|
||||
================================================================================
|
||||
Macros
|
||||
================================================================================
|
||||
|
||||
.. c:macro:: PROJ_VERSION_MAJOR
|
||||
|
||||
Major version number, e.g. 8 for PROJ 8.0.1
|
||||
|
||||
.. c:macro:: PROJ_VERSION_MINOR
|
||||
|
||||
Minor version number, e.g. 0 for PROJ 8.0.1
|
||||
|
||||
.. c:macro:: PROJ_VERSION_PATCH
|
||||
|
||||
Patch version number, e.g. 1 for PROJ 8.0.1
|
||||
|
||||
.. c:macro:: PROJ_COMPUTE_VERSION(maj,min,patch)
|
||||
|
||||
.. versionadded:: 8.0.1
|
||||
|
||||
Compute the version number from the major, minor and patch numbers.
|
||||
|
||||
.. c:macro:: PROJ_VERSION_NUMBER
|
||||
|
||||
.. versionadded:: 8.0.1
|
||||
|
||||
Total version number, equal to
|
||||
``PROJ_COMPUTE_VERSION(PROJ_VERSION_MAJOR, PROJ_VERSION_MINOR, PROJ_VERSION_PATCH)``
|
||||
|
||||
.. c:macro:: PROJ_AT_LEAST_VERSION(maj,min,patch)
|
||||
|
||||
.. versionadded:: 8.0.1
|
||||
|
||||
Macro that returns true if the current PROJ version is at least the version
|
||||
specified by (maj,min,patch)
|
||||
|
||||
Equivalent to ``PROJ_VERSION_NUMBER >= PROJ_COMPUTE_VERSION(maj,min,patch)``
|
||||
@@ -13,9 +13,8 @@ distribution of the source code and various resource file archives. See
|
||||
Current Release
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
* **2021-03-01** `proj-8.0.0.tar.gz`_ (`md5`_)
|
||||
* **2021-03-01** `proj-data-1.5.tar.gz`_
|
||||
* **PDF Manual** `proj.pdf`_
|
||||
* **2021-05-05** `proj-8.0.1.tar.gz`_ (`md5`_)
|
||||
* **2021-05-05** `proj-data-1.6.tar.gz`_
|
||||
|
||||
.. note::
|
||||
|
||||
@@ -28,6 +27,7 @@ Current Release
|
||||
Past Releases
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
* **2021-03-01** `proj-8.0.0.tar.gz`_
|
||||
* **2021-01-01** `proj-7.2.1.tar.gz`_
|
||||
* **2020-11-01** `proj-7.2.0.tar.gz`_
|
||||
* **2020-09-01** `proj-7.1.1.tar.gz`_
|
||||
@@ -50,6 +50,7 @@ Past Releases
|
||||
* **2015-09-13** `proj-4.9.2.tar.gz`_
|
||||
* **2015-03-04** `proj-4.9.1.tar.gz`_
|
||||
|
||||
* **2021-03-01** `proj-data-1.5.tar.gz`_
|
||||
* **2021-01-01** `proj-data-1.4.tar.gz`_
|
||||
* **2020-11-01** `proj-data-1.3.tar.gz`_
|
||||
* **2020-09-01** `proj-data-1.2.tar.gz`_
|
||||
@@ -76,8 +77,9 @@ Past Releases
|
||||
* **2018-03-01** `proj-datumgrid-oceania-1.1.zip`_
|
||||
* **2018-03-01** `proj-datumgrid-oceania-1.0.zip`_
|
||||
|
||||
.. _`proj-8.0.1.tar.gz`: https://download.osgeo.org/proj/proj-8.0.1.tar.gz
|
||||
.. _`md5`: https://download.osgeo.org/proj/proj-8.0.1.tar.gz.md5
|
||||
.. _`proj-8.0.0.tar.gz`: https://download.osgeo.org/proj/proj-8.0.0.tar.gz
|
||||
.. _`md5`: https://download.osgeo.org/proj/proj-8.0.0.tar.gz.md5
|
||||
.. _`proj-7.2.1.tar.gz`: https://download.osgeo.org/proj/proj-7.2.1.tar.gz
|
||||
.. _`proj-7.2.0.tar.gz`: https://download.osgeo.org/proj/proj-7.2.0.tar.gz
|
||||
.. _`proj-7.1.1.tar.gz`: https://download.osgeo.org/proj/proj-7.1.1.tar.gz
|
||||
@@ -100,6 +102,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.6.tar.gz`: https://download.osgeo.org/proj/proj-data-1.6.tar.gz
|
||||
.. _`proj-data-1.5.tar.gz`: https://download.osgeo.org/proj/proj-data-1.5.tar.gz
|
||||
.. _`proj-data-1.4.tar.gz`: https://download.osgeo.org/proj/proj-data-1.4.tar.gz
|
||||
.. _`proj-data-1.3.tar.gz`: https://download.osgeo.org/proj/proj-data-1.3.tar.gz
|
||||
@@ -126,4 +129,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
|
||||
|
||||
+7
-5
@@ -39,13 +39,15 @@ ETRS89/UTM32N (EPSG:25832) and ETRS89/DKTM1 (EPSG:4093):
|
||||
$ ./projinfo -s EPSG:25832 -t EPSG:4093 -o PROJ
|
||||
Candidate operations found: 1
|
||||
-------------------------------------
|
||||
Operation n°1:
|
||||
Operation No. 1:
|
||||
|
||||
unknown id, Inverse of UTM zone 32N + DKTM1, 0 m, World
|
||||
|
||||
PROJ string:
|
||||
+proj=pipeline +step +inv +proj=utm +zone=32 +ellps=GRS80
|
||||
+step +proj=tmerc +lat_0=0 +lon_0=9 +k=0.99998 +x_0=200000 +y_0=-5000000 +ellps=GRS80
|
||||
+proj=pipeline
|
||||
+step +inv +proj=utm +zone=32 +ellps=GRS80
|
||||
+step +proj=tmerc +lat_0=0 +lon_0=9 +k=0.99998 +x_0=200000 +y_0=-5000000
|
||||
+ellps=GRS80
|
||||
|
||||
See the :program:`projinfo` :ref:`documentation <projinfo>` for more info on
|
||||
how to use it.
|
||||
@@ -125,7 +127,7 @@ input ordered as latitude/longitude (typically with the EPSG dataset), however,
|
||||
internally PROJ expects an longitude/latitude ordering for all projections. This
|
||||
is generally hidden for users but in a few cases it is exposed at the surface
|
||||
level of PROJ, most prominently in the :program:`proj` utility which expects
|
||||
longitude/latitude ordering of input date (unless :program:`proj -r` is used).
|
||||
longitude/latitude ordering of input date (unless :option:`proj -r` is used).
|
||||
|
||||
In case of doubt about the axis order of a specific CRS :program:`projinfo` is
|
||||
able to provide an answer. Simply look up the CRS and examine the axis specification
|
||||
@@ -181,7 +183,7 @@ was simply known as PROJ. Eventually a new version was released, known
|
||||
as PROJ.2 in order to distinguish between the two versions. Later on both
|
||||
PROJ.3 and PROJ.4 was released. By the time PROJ.4 was released the
|
||||
software had matured enough that a new major version release wasn't an
|
||||
immediate necesity. PROJ.4 was around for more than 25 years before it
|
||||
immediate necessity. PROJ.4 was around for more than 25 years before it
|
||||
again became time for an update. This left the project in a bit of a
|
||||
conundrum regarding the name. For the majority of the life-time of the product it was known as PROJ.4, but with the release of version 5 the name
|
||||
was no longer aligned with the version number. As a consequence, it was
|
||||
|
||||
@@ -51,12 +51,8 @@ PROJ incorporates `C library for Geodesics
|
||||
<https://geographiclib.sourceforge.io>`_. This library provides
|
||||
routines to solve the direct and inverse geodesic problems. Full double
|
||||
precision accuracy is maintained provided that
|
||||
:math:`\lvert f\rvert<\frac1{50}`. Refer
|
||||
to the
|
||||
|
||||
`application programming interface
|
||||
<https://geographiclib.sourceforge.io/1.49/C/geodesic_8h.html>`_
|
||||
|
||||
:math:`\lvert f\rvert<\frac1{50}`. Refer to the `application programming interface
|
||||
<https://geographiclib.sourceforge.io/1.49/C/geodesic_8h.html>`_
|
||||
for full documentation. A brief summary of the routines is given in
|
||||
geodesic(3).
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ Glossary
|
||||
For a transformation between two geographic CRS, a ballpark
|
||||
transformation is a coordinate operation that only takes into account
|
||||
potential difference of axis orders (long-lat vs lat-long),
|
||||
units (degree vs grads) and prime meridian (Greewich vs Paris/Rome/other
|
||||
units (degree vs grads) and prime meridian (Greenwich vs Paris/Rome/other
|
||||
historic prime meridians). It does not attempt any datum shift, hence
|
||||
the "ballpark" qualifier in its name. Its accuracy is unknown, and could
|
||||
lead in some cases to errors of a few hundreds of metres.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -58,8 +58,10 @@ software packages. After installation you can use PROJ from the OSGeo4W shell.
|
||||
To install PROJ do the following:
|
||||
|
||||
.. note::
|
||||
If you have already installed software via OSGeo4W on your computer it is
|
||||
likely that PROJ is already installed.
|
||||
If you have already installed software via OSGeo4W on your computer, or if
|
||||
you have already installed QGIS on your computer, it is likely that PROJ is
|
||||
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.
|
||||
2. Run the OSGeo4W setup program.
|
||||
@@ -101,14 +103,14 @@ On Debian and similar systems (e.g. Ubuntu) the APT package manager is used::
|
||||
Fedora
|
||||
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
On Fedora the dnf package manager is used::
|
||||
On Fedora the :program:`dnf` package manager is used::
|
||||
|
||||
sudo dnf install proj
|
||||
|
||||
Red Hat
|
||||
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
On Red Hat based system packages are installed with yum::
|
||||
On Red Hat based system packages are installed with :program:`yum`::
|
||||
|
||||
sudo yum install proj
|
||||
|
||||
|
||||
+66
-6
@@ -3,6 +3,66 @@
|
||||
News
|
||||
###############################################################################
|
||||
|
||||
8.0.1 Release Notes
|
||||
++++++++++++++++++++++++++++++++++++++++
|
||||
*May 5th 2021*
|
||||
|
||||
Updates
|
||||
-------
|
||||
|
||||
* Database: update to EPSG v10.018 (`#2636 <https://github.com/OSGeo/PROJ/issues/2636>`_)
|
||||
|
||||
* Add transformations for CHGeo2004, Swiss geoid model (`#2604 <https://github.com/OSGeo/PROJ/issues/2604>`_)
|
||||
|
||||
* Additions to the norwegian NKG2020 transformation (`#2600 <https://github.com/OSGeo/PROJ/issues/2600>`_)
|
||||
|
||||
Bug fixes
|
||||
---------
|
||||
|
||||
* :c:func:`pj_vlog()`: fix buffer overflow in case of super lengthy error message (`#2693 <https://github.com/OSGeo/PROJ/issues/2693>`_)
|
||||
|
||||
* Revert ":c:func:`proj_create_crs_to_crs_from_pj()`: do not use PROJ_SPATIAL_CRITERION_PARTIAL_INTERSECTION if area is specified" (`#2679 <https://github.com/OSGeo/PROJ/issues/2679>`_)
|
||||
|
||||
* UTM: error out when value of ``+zone=`` is not an integer (`#2672 <https://github.com/OSGeo/PROJ/issues/2672>`_)
|
||||
|
||||
* :cpp:func:`getCRSInfoList()`: make result order deterministic (by increasing auth_name,
|
||||
code) (`#2661 <https://github.com/OSGeo/PROJ/issues/2661>`_)
|
||||
|
||||
* :cpp:func:`createOperation()`: make sure no to discard deprecated operations if the
|
||||
replacement uses an unknow grid (`#2623 <https://github.com/OSGeo/PROJ/issues/2623>`_)
|
||||
|
||||
* Fix build on Solaris 11.4 (`#2621 <https://github.com/OSGeo/PROJ/issues/2621>`_)
|
||||
|
||||
* Add mapping of ESRI Equal_Area projection method to EPSG (`#2612 <https://github.com/OSGeo/PROJ/issues/2612>`_)
|
||||
|
||||
* Fix incorrect EPGS extent code for EPSG:7789>EPSG:4976 NKG transformation (`#2599 <https://github.com/OSGeo/PROJ/issues/2599>`_)
|
||||
|
||||
* fix wrong capitalization of CHENyx06_ETRS.gsb (`#2597 <https://github.com/OSGeo/PROJ/issues/2597>`_)
|
||||
|
||||
* :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>`_)
|
||||
|
||||
* :cpp:func:`createFromCRSCodesWithIntermediates()`: improve performance when there is
|
||||
no match (`#2583 <https://github.com/OSGeo/PROJ/issues/2583>`_)
|
||||
|
||||
* Fix :c:func:`proj_clone()` to work on 'meta' coordinate operation ``PJ*`` objects that
|
||||
can be returned by :c:func:`proj_create_crs_to_crs()` (`#2582 <https://github.com/OSGeo/PROJ/issues/2582>`_)
|
||||
|
||||
* add ``PROJ_COMPUTE_VERSION``, ``PROJ_VERSION_NUMBER``,
|
||||
``PROJ_AT_LEAST_VERSION`` macros (`#2581 <https://github.com/OSGeo/PROJ/issues/2581>`_)
|
||||
|
||||
* Make :c:func:`proj_lp_dist()` and :c:func:`proj_geod()` work on a ``PJ*`` CRS object (`#2570 <https://github.com/OSGeo/PROJ/issues/2570>`_)
|
||||
|
||||
* Fix gcc 11 ``-Wnonnull`` compilation warnings (`#2559 <https://github.com/OSGeo/PROJ/issues/2559>`_)
|
||||
|
||||
* Fix use of uninitialized memory in gie tests (`#2558 <https://github.com/OSGeo/PROJ/issues/2558>`_)
|
||||
|
||||
* :c:func:`createOperations()`: fix incorrect height transformation between 3D promoted RGF93 and CH1903+ (`#2555 <https://github.com/OSGeo/PROJ/issues/2555>`_)
|
||||
|
||||
|
||||
|
||||
8.0.0 Release Notes
|
||||
++++++++++++++++++++++++++++++++++++++++
|
||||
*March 1st 2021*
|
||||
@@ -68,7 +128,7 @@ Updates
|
||||
Bug fixes
|
||||
---------
|
||||
|
||||
* Do not restrict longitude to [-90;90] range in spherical transver Mercator
|
||||
* 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>`_)
|
||||
@@ -221,7 +281,7 @@ Bug fixes
|
||||
Updates
|
||||
-------
|
||||
|
||||
* Added various Brazillian grids to the database (`#2277 <https://github.com/OSGeo/PROJ/issues/2277>`_)
|
||||
* Added various Brazilian grids to the database (`#2277 <https://github.com/OSGeo/PROJ/issues/2277>`_)
|
||||
|
||||
* Added geoid file for Canary Islands to the database (`#2312 <https://github.com/OSGeo/PROJ/issues/2312>`_)
|
||||
|
||||
@@ -291,7 +351,7 @@ Updates
|
||||
* Update to EPSG 9.8.12, ESRI 10.8.1 and import scope and remarks for
|
||||
conversion (`#2238 <https://github.com/OSGeo/PROJ/issues/2238>`_) (#2267)
|
||||
|
||||
* Map the Behrman projection to ``cae`` when converting ESRI CRSes (`#1986 <https://github.com/OSGeo/PROJ/issues/1986>`_)
|
||||
* Map the Behrmann projection to ``cae`` when converting ESRI CRSes (`#1986 <https://github.com/OSGeo/PROJ/issues/1986>`_)
|
||||
|
||||
* Support conversion of Flat_Polar_Quartic projection method (`#1987 <https://github.com/OSGeo/PROJ/issues/1987>`_)
|
||||
|
||||
@@ -350,7 +410,7 @@ Updates
|
||||
|
||||
* Follow PDAL's CMake RPATH strategy (`#2009 <https://github.com/OSGeo/PROJ/issues/2009>`_)
|
||||
|
||||
* WKT import/export: add support for WKT1_ESRI VERTCS synta (`#2024 <https://github.com/OSGeo/PROJ/issues/2024>`_)
|
||||
* WKT import/export: add support for WKT1_ESRI VERTCS syntax (`#2024 <https://github.com/OSGeo/PROJ/issues/2024>`_)
|
||||
|
||||
* :program:`projinfo`: add a ``--hide-ballpark`` option (`#2127 <https://github.com/OSGeo/PROJ/issues/2127>`_)
|
||||
|
||||
@@ -790,7 +850,7 @@ Bug fixes
|
||||
* Database: add an auxiliary concatenated_operation_step table to allow
|
||||
arbitrary number of steps (`#1696 <https://github.com/OSGeo/PROJ/issues/1696>`_)
|
||||
|
||||
* Fix errors running gie-based tests in Debug mode on Windo (`#1688 <https://github.com/OSGeo/PROJ/issues/1688>`_)
|
||||
* Fix errors running gie-based tests in Debug mode on Window (`#1688 <https://github.com/OSGeo/PROJ/issues/1688>`_)
|
||||
|
||||
6.2.1 Release Notes
|
||||
++++++++++++++++++++++++++++++++++++++++
|
||||
@@ -1089,7 +1149,7 @@ UPDATES
|
||||
by adding ``+approx``
|
||||
(`#404 <https://github.com/OSGeo/proj.4/issues/404>`_)
|
||||
|
||||
* Chaged behavior: Default ellipsoid now set to GRS80 (was WGS84) (`#1210 <https://github.com/OSGeo/proj.4/issues/1210>`_)
|
||||
* Changed behavior: Default ellipsoid now set to GRS80 (was WGS84) (`#1210 <https://github.com/OSGeo/proj.4/issues/1210>`_)
|
||||
|
||||
* Allow multiple directories in :envvar:`PROJ_LIB` environment variable (`#1281 <https://github.com/OSGeo/proj.4/issues/1281>`_)
|
||||
|
||||
|
||||
@@ -36,7 +36,7 @@ the body centre to the considered point.
|
||||
|
||||
.. note::
|
||||
|
||||
This conversion must be distinguished fom the :ref:`cart`
|
||||
This conversion must be distinguished from the :ref:`cart`
|
||||
which converts geodetic coordinates to geocentric coordinates in the cartesian
|
||||
domain.
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ However, the parameters below can be used in a declarative manner when used with
|
||||
|
||||
.. option:: +datum=<value>
|
||||
|
||||
Declare the datum used with the coordinates. See ``cs2cs -l`` for a
|
||||
Declare the datum used with the coordinates. See ``cs2cs -ld`` for a
|
||||
list of available datums.
|
||||
|
||||
.. option:: +towgs84=<list>
|
||||
|
||||
@@ -69,7 +69,7 @@ Geographic CRS to Geographic CRS, with known identifiers
|
||||
With the above example of two geographic CRS, that have an identified identifier,
|
||||
(:program:`projinfo` internally resolves NAD27 to EPSG:4267 and NAD83 to EPSG:4269)
|
||||
the algorithm will first search
|
||||
in the coordinate operation related tables of the ``proj.db`` if there are records
|
||||
in the coordinate operation related tables of the :file:`proj.db` if there are records
|
||||
that list direct transformations between the source and the target CRS. The
|
||||
transformations typically involve :ref:`Helmert <helmert>`-style operations or datum shift based on
|
||||
grids (more esoteric operations are possible).
|
||||
@@ -161,7 +161,7 @@ Geodetic/geographic CRS to Geodetic/geographic CRS, without known identifiers
|
||||
|
||||
In a number of situations, the source and/or target CRS do not have an identifier
|
||||
(WKT without identifier, PROJ string, ..)
|
||||
The first step is to try to find in the ``proj.db`` a CRS of the same nature of
|
||||
The first step is to try to find in the :file:`proj.db` a CRS of the same nature of
|
||||
the CRS to identify and whose name exactly matches the one provided to the
|
||||
:c:func:`createOperations` method. If there is exactly one match and that the CRS are
|
||||
"computationally" equivalent, then use the code of the CRS for further computations.
|
||||
@@ -238,7 +238,7 @@ are equivalent for most purposes.
|
||||
|
||||
Candidate operations found: 1
|
||||
-------------------------------------
|
||||
Operation n°1:
|
||||
Operation No. 1:
|
||||
|
||||
unknown id, axis order change (geographic3D horizontal) + RGF93 to ETRS89 (1) + Conversion from ETRS89 (geog2D) to ETRS89 (geocentric), 0 m, France
|
||||
|
||||
@@ -338,7 +338,7 @@ following results for the AGD84 to GDA2020 coordinate operations lookup:
|
||||
|
||||
Candidate operations found: 4
|
||||
-------------------------------------
|
||||
Operation n°1:
|
||||
Operation No. 1:
|
||||
|
||||
unknown id, AGD84 to GDA94 (5) + GDA94 to GDA2020 (1), 0.11 m, Australia - AGD84
|
||||
|
||||
@@ -357,7 +357,7 @@ following results for the AGD84 to GDA2020 coordinate operations lookup:
|
||||
+step +proj=axisswap +order=2,1
|
||||
|
||||
-------------------------------------
|
||||
Operation n°2:
|
||||
Operation No. 2:
|
||||
|
||||
unknown id, AGD84 to GDA94 (2) + GDA94 to GDA2020 (1), 1.01 m, Australia - AGD84
|
||||
|
||||
@@ -378,7 +378,7 @@ following results for the AGD84 to GDA2020 coordinate operations lookup:
|
||||
+step +proj=axisswap +order=2,1
|
||||
|
||||
-------------------------------------
|
||||
Operation n°3:
|
||||
Operation No. 3:
|
||||
|
||||
unknown id, AGD84 to GDA94 (5) + GDA94 to GDA2020 (2), 0.15 m, unknown domain of validity
|
||||
|
||||
@@ -391,7 +391,7 @@ following results for the AGD84 to GDA2020 coordinate operations lookup:
|
||||
+step +proj=axisswap +order=2,1
|
||||
|
||||
-------------------------------------
|
||||
Operation n°4:
|
||||
Operation No. 4:
|
||||
|
||||
unknown id, AGD84 to GDA94 (5) + GDA94 to GDA2020 (3), 0.15 m, unknown domain of validity
|
||||
|
||||
@@ -424,7 +424,7 @@ If one forces the datum hub to be considered to be EPSG:4326, ones gets:
|
||||
|
||||
Candidate operations found: 2
|
||||
-------------------------------------
|
||||
Operation n°1:
|
||||
Operation No. 1:
|
||||
|
||||
unknown id, AGD84 to WGS 84 (7) + Inverse of GDA2020 to WGS 84 (2), 4 m, Australia - AGD84
|
||||
|
||||
@@ -442,7 +442,7 @@ If one forces the datum hub to be considered to be EPSG:4326, ones gets:
|
||||
+step +proj=axisswap +order=2,1
|
||||
|
||||
-------------------------------------
|
||||
Operation n°2:
|
||||
Operation No. 2:
|
||||
|
||||
unknown id, AGD84 to WGS 84 (9) + Inverse of GDA2020 to WGS 84 (2), 4 m, Australia - AGD84
|
||||
|
||||
@@ -480,7 +480,7 @@ conversions between geographic and geocentric CRS to have a consistent concatena
|
||||
operation, like the following:
|
||||
1. GDA94 to GDA2020 (1): from EPSG
|
||||
2. Conversion from GDA2020 (geog2D) to GDA2020 (geocentric): synthetized by PROJ
|
||||
3. GDA2020 to WGS 84 (G1762) (1): frmo EPSG
|
||||
3. GDA2020 to WGS 84 (G1762) (1): from EPSG
|
||||
4. Conversion from WGS 84 (G1762) (geocentric) to WGS 84 (G1762) (geog2D): synthetized by PROJ
|
||||
|
||||
Projected CRS to any target CRS
|
||||
@@ -500,7 +500,7 @@ particular case. Such transformations are done in 2 steps:
|
||||
|
||||
Candidate operations found: 1
|
||||
-------------------------------------
|
||||
Operation n°1:
|
||||
Operation No. 1:
|
||||
|
||||
unknown id, Inverse of UTM zone 31N + Inverse of RGF93 to WGS 84 (1), 1 m, France
|
||||
|
||||
@@ -531,7 +531,7 @@ between those:
|
||||
$ projinfo -s "NAVD88 height" -t "NAD83(2011)" -o PROJ --spatial-test intersects
|
||||
Candidate operations found: 11
|
||||
-------------------------------------
|
||||
Operation n°1:
|
||||
Operation No. 1:
|
||||
|
||||
INVERSE(DERIVED_FROM(EPSG)):9229, Inverse of NAD83(2011) to NAVD88 height (3), 0.015 m, USA - CONUS - onshore
|
||||
|
||||
@@ -560,7 +560,7 @@ This is implemented by the ``createOperationsVertToVert`` method
|
||||
|
||||
Candidate operations found: 3
|
||||
-------------------------------------
|
||||
Operation n°1:
|
||||
Operation No. 1:
|
||||
|
||||
unknown id, Inverse of NGVD29 height (ftUS) to NGVD29 depth (ftUS) + NGVD29 height (ftUS) to NGVD29 height (m) + NGVD29 height (m) to NAVD88 height (3), 0.02 m, USA - CONUS east of 89°W - onshore
|
||||
|
||||
@@ -568,7 +568,7 @@ This is implemented by the ``createOperationsVertToVert`` method
|
||||
+proj=pipeline +step +proj=axisswap +order=1,2,-3 +step +proj=unitconvert +z_in=us-ft +z_out=m +step +proj=vgridshift +grids=vertcone.gtx +multiplier=0.001
|
||||
|
||||
-------------------------------------
|
||||
Operation n°2:
|
||||
Operation No. 2:
|
||||
|
||||
unknown id, Inverse of NGVD29 height (ftUS) to NGVD29 depth (ftUS) + NGVD29 height (ftUS) to NGVD29 height (m) + NGVD29 height (m) to NAVD88 height (2), 0.02 m, USA - CONUS 89°W-107°W - onshore
|
||||
|
||||
@@ -576,7 +576,7 @@ This is implemented by the ``createOperationsVertToVert`` method
|
||||
+proj=pipeline +step +proj=axisswap +order=1,2,-3 +step +proj=unitconvert +z_in=us-ft +z_out=m +step +proj=vgridshift +grids=vertconc.gtx +multiplier=0.001
|
||||
|
||||
-------------------------------------
|
||||
Operation n°3:
|
||||
Operation No. 3:
|
||||
|
||||
unknown id, Inverse of NGVD29 height (ftUS) to NGVD29 depth (ftUS) + NGVD29 height (ftUS) to NGVD29 height (m) + NGVD29 height (m) to NAVD88 height (1), 0.02 m, USA - CONUS west of 107°W - onshore
|
||||
|
||||
@@ -761,7 +761,7 @@ Example:
|
||||
|
||||
Candidate operations found: 1
|
||||
-------------------------------------
|
||||
Operation n°1:
|
||||
Operation No. 1:
|
||||
|
||||
unknown id, Inverse of unknown + Transformation from unknown to WGS84 + Inverse of ETRS89 to WGS 84 (1), unknown accuracy, Europe - ETRS89
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.. option:: +R=<value>
|
||||
|
||||
Radius of the sphere given in meters. If used in conjunction with ``+ellps``
|
||||
Radius of the sphere given in meters. If used in conjunction with ``+ellps``,
|
||||
``+R`` takes precedence.
|
||||
|
||||
@@ -57,7 +57,7 @@ Rules for pipelines
|
||||
|
||||
Will result in an error.
|
||||
|
||||
**2. Pipelines can only be nested if the nested pipeline is defined in an init-file.**
|
||||
**2. Pipelines can only be nested if the nested pipeline is defined in an init file.**
|
||||
|
||||
::
|
||||
|
||||
|
||||
@@ -36,10 +36,6 @@ Options
|
||||
Use Guam ellipsoidal formulas. Only accurate near the Island of Guam
|
||||
(:math:`\lambda\approx 144.5^{\circ}`, :math:`\phi\approx 13.5^{\circ}`)
|
||||
|
||||
.. include:: ../options/k_0.rst
|
||||
|
||||
.. include:: ../options/lat_ts.rst
|
||||
|
||||
.. include:: ../options/lat_0.rst
|
||||
|
||||
.. include:: ../options/lon_0.rst
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
.. _alsk:
|
||||
|
||||
********************************************************************************
|
||||
Modified Stererographics of Alaska
|
||||
Modified Stereographic of Alaska
|
||||
********************************************************************************
|
||||
+---------------------+----------------------------------------------------------+
|
||||
| **Classification** | Modified azimuthal |
|
||||
@@ -23,7 +23,7 @@ Modified Stererographics of Alaska
|
||||
.. figure:: ./images/alsk.png
|
||||
:width: 500 px
|
||||
:align: center
|
||||
:alt: Mod. Stererographics of Alaska
|
||||
:alt: Modified Stereographic of Alaska
|
||||
|
||||
proj-string: ``+proj=alsk``
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user