Compare commits

...
320 Commits
Author SHA1 Message Date
Mike Taves 8aeed60fd1 ReadTheDocs: update output directory for artefacts, other updates 2023-01-25 20:22:28 +13:00
Mike Taves 60fe2a4c79 Improve docs for 7.1 2023-01-25 02:00:35 +13:00
Mike Taves ebae22ca0e Implement ReadTheDocs for 7.1, disable other CI workflows (#3561) 2023-01-15 06:35:29 +13:00
Kristian Evers d94a369d1e Disable weebsite publication for 7.1 branch 2020-11-01 11:03:09 +01:00
Charles KarneyandCharles Karney e3d2e0253f Document the default poder_engsager algorithm for tmerc. (#2379)
* Document the default poder_engsager algorithm for tmerc.

* Give exact expression for phi' in terms of phi

* Aadd another datapoint on range of applicability + explanation for
complex numbers.

* Update tmerc figure with one reflecting poder/engsager algo.

Courtesy of @hobu.

Co-authored-by: Charles Karney <charles.karney@sri.com>
2020-10-18 23:40:21 +02:00
Even Rouault 0ddc063421 projjson.schema.json: indicate v0.2.1 (refs #2354) 2020-09-17 13:31:32 +02:00
Even Rouault 92b4702029 projjson.schema.json: update to reflect that prime_meridian.longitude can just be a number, in which case the unit is implicitly degrees (fixes #2354) 2020-09-17 00:20:05 +02:00
PROJ-BOTandgithub-actions[bot] 93b5898ef5 DOC: Fix reference to proj_get_codes_from_database in proj_get_crs_info_list_from_database docstring (#2346)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2020-09-04 08:51:30 +02:00
Even Rouault 05bfe14e4b Doc: document members of C structures generated from Doxygen 2020-09-02 11:30:44 +02:00
Kristian Evers 94cfdfec9d Update docs for 7.1.1 release 2020-09-01 09:28:46 +02:00
Kristian Evers 811904ff9e docs: Document missing members of PJ_COORD 2020-08-31 13:34:48 +02:00
Javier Jimenez Shaw fd5ca759eb fix typo in Canary Islands 2020-08-25 18:20:09 +02:00
Kristian Evers f33a3b364b Update NEWS for 7.1.1 2020-08-24 21:02:26 +02:00
Kristian Evers b1daaa9ca5 Update man-pages from Sphinx-docs 2020-08-24 20:51:30 +02:00
Kristian Evers ef0fd8f809 Update ABI numbers for v. 7.1.1 2020-08-24 20:45:20 +02:00
PROJ-BOTandgithub-actions[bot] 079e685255 createObjectsFromName(): add back case insensitivity when comparing names (#2337)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2020-08-21 09:46:16 +02:00
PROJ-BOTandgithub-actions[bot] db42199815 Helmert: fix regression when rotation terms are 0, but scale is not (#2336)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2020-08-21 09:39:28 +02:00
Even Rouault 72ca69a5d9 Merge pull request #2328 from PROJ-BOT/backport-2327-to-7.1
[Backport 7.1] Revert compiler generated Fused Multiply Addition optimized routines
2020-08-19 15:13:55 +02:00
github-actions[bot] 888da00d26 Revert compiler generated Fused Multiply Addition optimized routines 2020-08-19 12:25:58 +00:00
PROJ-BOTandgithub-actions[bot] 5a385632c5 WKT importer: tune for Oracle WKT and 'Lambert Conformal Conic' (#2322)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2020-08-13 18:58:46 +02:00
Kristian Evers 2989fcffd2 cs2cs/cct docs: Align versionadded directives correctly for -d option 2020-08-13 12:27:52 +02:00
Even Rouault 523b6f703b WKT parser: avoid null pointer dereference on corrupted WKT
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=24809
2020-08-11 09:51:32 +02:00
PROJ-BOTandgithub-actions[bot] dd91c93ca4 ProjectedCRS::identify(): fix to be able to identify EPSG:2154 as a candidate for 'RGF93_Lambert_93' (contributes to fixes https://github.com/qgis/QGIS/issues/32255) (#2316)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2020-08-07 18:48:25 +02:00
PROJ-BOTandgithub-actions[bot] 3b4862042d Fix URL for CDN GitHub project (#2314)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2020-08-06 13:44:15 +02:00
Javier Jimenez Shaw 93e3ec8391 add Canary Islands geoid file in grid_alternatives.sql 2020-08-06 11:38:20 +02:00
Even Rouault e5c0d97810 Merge pull request #2310 from rouault/backport_7_1_pr2309
[Backport 7.1] Database: update to EPSG v9.8.15 database
2020-08-03 15:26:04 +02:00
58b69a9fdf Database: update to EPSG v9.8.15 database
Co-authored-by: jmckenna <jmckenna@gatewaygeomatics.com>
Co-authored-by: Javier Jimenez Shaw <j1@jimenezshaw.com>
Co-authored-by: Even Rouault <even.rouault@spatialys.com>
2020-08-03 12:03:24 +02:00
Even Rouault 16a0b9ecc3 PROJ CRS string ingestion: fix typo in identification of projection steps (fixes #2307) 2020-07-30 17:43:04 +02:00
Even Rouault 38339dfb57 Merge pull request #2305 from rouault/backport_2304
[Backport 7.1] Helmert 2D: do not require a useless convention= parameter
2020-07-24 16:36:35 +02:00
Even Rouault 3dc92ad701 Helmert 2D: do not require a useless convention= parameter 2020-07-24 16:15:57 +02:00
Even Rouault 6a37d15001 Merge pull request #2301 from rouault/backport_2300
PROJ string export of +proj=krovak +czech: make sure we export +czech…
2020-07-09 13:11:49 +02:00
Even Rouault 918134258b PROJ string export of +proj=krovak +czech: make sure we export +czech instead of +axis=swu (fixes #2299) 2020-07-09 11:58:23 +02:00
Even Rouault a8f58871c2 Merge pull request #2297 from rouault/backport_2294
[Backport 7.1] CMake build: Check "target_clones" before use
2020-07-08 16:01:15 +02:00
Even Rouault edf2d9e4f3 travis/osx/before_install.sh: remove most brew actions and doc building
Brew is just to unstable
2020-07-08 15:22:30 +02:00
Kai Pastor 3dc7d7d1d1 CMake build: Check "target_clones" before use
gcc's "target_clones" and "ifunc" function attributes rely on
extensions to the ELF standard. Using them on MinGW causes "error:
the call requires 'ifunc', which is not supported by this target".
Amends 5396b72.
2020-07-08 13:32:47 +02:00
Kristian Evers aff43892f4 Merge pull request #2296 from PROJ-BOT/backport-2295-to-7.1
[Backport 7.1] travis/osx/before_install.sh: fix related to installing python
2020-07-08 08:41:52 +02:00
github-actions[bot] e7c9adbd8c travis/osx/before_install.sh: fix related to installing python 2020-07-07 21:15:02 +00:00
PROJ-BOTandgithub-actions[bot] cc8930eaf7 C API: missing a few SANITIZE_CTX() in entry points (#2293)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2020-07-04 18:33:12 +02:00
PROJ-BOTandgithub-actions[bot] 42b9c119ad Doc: improve cs2cs doc by mentionning possibility to use EPSG CRS names (#2291)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2020-07-03 11:21:35 +02:00
PROJ-BOTandgithub-actions[bot] 5cd3152e44 Parse '+proj=something_not_latlong +vunits=' without +geoidgrids as a Projected3D CRS and not a compound CRS with a unknown datum (fixes #2287) (#2289)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2020-07-02 17:15:17 +02:00
PROJ-BOTandgithub-actions[bot] 1e68176bf3 Doc: improve cmake instructions (#2286)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2020-07-02 11:37:07 +02:00
PROJ-BOTandgithub-actions[bot] bd85834f84 add projsync info (#2284)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2020-07-02 11:36:44 +02:00
PROJ-BOTandgithub-actions[bot] 088f5f8475 Database: register Brazil' grids (refs https://github.com/OSGeo/PROJ-data/pull/39) (#2282)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2020-07-02 11:36:31 +02:00
PROJ-BOTandgithub-actions[bot] 1c1585cb15 WKT parser: do not raise warning when parsing a WKT2:2015 TIMECRS whose TIMEUNIT is at the CS level, and not inside (#2281)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2020-07-02 11:36:14 +02:00
Even Rouault ed32eb0442 news.rst: fix version number 2020-07-01 16:21:27 +02:00
Even Rouault 89a6dd54a8 PROJ 7.1.0 NEWS and release notes: add missing mention of +proj=defmodel 2020-07-01 15:19:48 +02:00
Even Rouault 3331838c8a Doc: add alias in pages of transformation methods 2020-07-01 15:14:22 +02:00
Even Rouault a9202e990f docs/source/conf.py: downgrade version to 7.1.0 as this is used for the live website 2020-07-01 15:06:38 +02:00
Even Rouault 6511d4583c Update version numbers 2020-07-01 13:05:07 +02:00
Even Rouault 9edecaaab2 docs/source/conf.py: change active branch 2020-07-01 12:43:54 +02:00
PROJ-BOTandgithub-actions[bot] 578264acca Post release updates (#2280)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2020-07-01 12:41:55 +02:00
Kristian Evers 76aed5878d Update NEWS for 7.0.0RC2 2020-06-26 15:03:08 +02:00
Kristian Evers 59b1db7d0a Mention new API function deprecations 2020-06-24 21:26:43 +02:00
Even Rouault a861356b21 ESRI WKT: correctly map 'Goode Homolosine' from ESRI:54052 (resp. 54053) to 'Interrupted Googe Homolosine' (resp. 'Interrupted Googe Homolosine Ocean') 2020-06-24 17:19:27 +02:00
Even Rouault cdcd5a036b c_api.cpp: code reformating 2020-06-24 17:08:02 +02:00
PROJ-BOTandgithub-actions[bot] a36f2f50bb BUG: replace assert with returning data associated with errors in c_api.cpp (#2272)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2020-06-24 16:19:55 +02:00
Even Rouault 7523645bae test_defmodel.cpp: increase comparison tolerance for ARM and MIPS platforms (fixes #2271) 2020-06-24 11:08:54 +02:00
Kristian Evers 57ccf582fc Update NEWS for 7.1.0 release 2020-06-23 20:37:53 +02:00
Kristian Evers 070db93ca4 Update man-pages from Sphinx-docs 2020-06-23 19:38:54 +02:00
Kristian Evers 720d3fd19b Update ABI version numbers for 7.1.0 release 2020-06-23 19:30:59 +02:00
Even Rouault af8334a5c8 Merge pull request #2267 from rouault/update_to_epsg_9_8_12
Database: update to EPSG v9.8.12
2020-06-19 14:53:50 +02:00
Even Rouault ee743a74c2 Database: update to EPSG v9.8.12 2020-06-19 13:50:12 +02:00
Even Rouault 6872529880 Merge pull request #2250 from and-marsh/pr-add-main-uk-geoid
Database: register geoid file for UK added in  OSGeo/PROJ-data#25
2020-06-18 11:48:25 +02:00
Even Rouault c408466fde Merge pull request #2265 from rouault/fix_createOperations_bound_to_geod
createOperations(): fix transformations between BoundCRS and Geocentric CRS
2020-06-17 11:42:37 +02:00
Even Rouault 963a4d4cae Merge pull request #2248 from rouault/database_nzgd2000_defmodel
Database: register NZGD2000 -> ITRF96 transformation for NZGD2000 database
2020-06-16 22:50:35 +02:00
Even Rouault 3d9aa5c82f createOperations(): fix transformations between BoundCRS and Geocentric CRS 2020-06-16 20:07:40 +02:00
Even Rouault 3005bcbc15 Doc building: workaround Doxygen issue that cause trouble with recent Sphinx/Breathe 2020-06-13 22:33:54 +02:00
Kristian Evers 09bbf268d6 Update code contributor guidelines so they reflect current state of affairs 2020-06-13 10:25:32 +02:00
Kristian Evers 6a36ac3c0f Merge pull request #2264 from jjimenezshaw/add-favicon
Add favicon.png in html
2020-06-12 21:33:35 +02:00
Javier Jimenez Shaw f0b231b37a add favicon.png in html 2020-06-12 19:56:34 +02:00
Even Rouault a3350fd7e8 Merge pull request #2263 from jjimenezshaw/egm08-rednap
add PROJ transformation for ETRS89 (EPSG:4937) to Alicate height (EPSG:5782)
2020-06-12 19:04:32 +02:00
Javier Jimenez Shaw 0046678fed add transformation for es_ign_egm08-rednap.tif 2020-06-12 17:59:24 +02:00
Even Rouault 69f315914c Merge pull request #2262 from rouault/proj_pc_in_tiff_curl
proj.pc.in: add @TIFF_LIBS@ @CURL_LIBS@ in Libs.private
2020-06-12 11:41:15 +02:00
Even Rouault e400278186 Merge pull request #2261 from rouault/register_SPED2ETV2
Database: register Spanish SPED2ETV2 grid for ED50->ETRS89
2020-06-11 18:52:27 +02:00
Even Rouault 0e20ccabce proj.pc.in: add @TIFF_LIBS@ @CURL_LIBS@ in Libs.private
Attempt at fixes #2084
2020-06-11 14:44:26 +02:00
Even Rouault eeb52c6dc6 Database: register Spanish SPED2ETV2 grid for ED50->ETRS89
Refs https://github.com/OSGeo/PROJ-data/pull/31
2020-06-11 12:48:36 +02:00
Even Rouault adc18aee52 Merge pull request #2260 from ollira/fix-proj_context_get_database_metadata
Fix access violation in proj_context_get_database_metadata
2020-06-10 14:31:33 +02:00
Olli Räisä adeca911c1 Fix access violation in proj_context_get_database_metadata 2020-06-10 12:52:14 +03:00
Even Rouault 144a611f84 Conversion::_exportToPROJString(): avoid potential floating point div by zero. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=23239 2020-06-09 17:24:20 +02:00
Even Rouault dfa281a25d Merge pull request #2259 from rouault/slovakian_geoids
Register Slovakian geoid transformations with needed code changes
2020-06-08 13:40:31 +02:00
Even Rouault a24cf969aa Database: make sure we can deal with 'Geog3D to Geog2D+GravityRelatedHeight' records as we do with the more common 'Geographic3D to GravityRelatedHeight' 2020-06-06 22:24:14 +02:00
Even Rouault c6ff686bf8 createOperations(): improve name of inverse transformation when there are registered transformations between compoundCRS and something else 2020-06-06 22:24:13 +02:00
Even Rouault a96e8f5f4e createOperations(): changes so that EPSG:9635 'Geog3D to Geog2D+GravityRelatedHeight (US .gtx)' method used by Slovakian geoids correctly deal with axis order and unit conversion, to be used as 'standalone'. Also improves when using directly 'Geographic3D to GravityRelatedHeight' method 2020-06-06 22:24:13 +02:00
Even Rouault 325d8e157d Database: register sk_gku_Slovakia_ETRS89h_to_Baltic1957.tif and sk_gku_Slovakia_ETRS89h_to_EVRF2007.tif geoids
Related to https://github.com/OSGeo/PROJ-data/pull/29
2020-06-06 22:23:54 +02:00
Even Rouault 4e347f4710 Merge pull request #2258 from rouault/doc_proj_normalize_for_visualization
Doc: use Doxygen output for proj_normalize_for_visualization() to avoid duplication of info (current .rst content is outdated)
2020-06-05 18:08:52 +02:00
Even Rouault 192a15764a Doc: use Doxygen output for proj_normalize_for_visualization() to avoid duplication of info (current .rst content is outdated) 2020-06-05 17:22:44 +02:00
Even Rouault 2a84dc816e Merge pull request #2256 from rouault/fix_normalizeForVisualization_for_EPSG_5482
normalizeForVisualization(): make it switch axis for EPSG:5482 (RSRGD2000 / RSPS2000)
2020-06-03 15:11:09 +02:00
Even Rouault dc1f82d8b5 Doc: add specific explanations for lat_ts for +proj=stere, also mentions +lat_0 and +k_0 (#2255)
Refs #2254
2020-06-03 15:10:55 +02:00
Even Rouault 5904499500 normalizeForVisualization(): make it switch axis for EPSG:5482 (RSRGD2000 / RSPS2000)
Fixes #2254
2020-06-03 14:09:04 +02:00
Even Rouault df1b082825 Merge pull request #2252 from rouault/workaround_appveyor_vs2015_issue
appveyor.yml: workaround vcpkg upstream build issue with VS2015
2020-06-03 11:38:03 +02:00
Andrei Marshalov 7e07589d21 customizations.sql: add entry for OSGM15 geoid_model 2020-06-03 12:21:57 +03:00
Even Rouault b59fd03f11 appveyor.yml: workaround vcpkg upstream build issue with VS2015 (see https://github.com/microsoft/vcpkg/issues/1166) [skip travis] 2020-06-03 10:54:04 +02:00
Kristian Evers b66798a8f3 Merge pull request #2251 from kbevers/doc-deformation
Docs: Use +grids and tif file for deformation examples
2020-06-03 07:40:40 +02:00
Kristian Evers 81602f3860 Docs: Use +grids and tif file for deformation examples 2020-06-02 12:27:29 +02:00
Andrei Marshalov eb9f5483f1 Database: register geoid file for UK added in OSGeo/PROJ-data#25 2020-06-02 12:13:04 +03:00
Even Rouault a0a44ac57e projsync.cpp: fix -Wrange-loop-construct clang10 warnings 2020-05-31 13:25:07 +02:00
Even Rouault d3aaf98292 filemanager.cpp: code reformatting 2020-05-31 13:24:40 +02:00
Even Rouault ad9efb19d3 Database: add concatenated operations for NZGD2000 -> ITRF97/2000/2005/2008/2014 2020-05-30 12:51:29 +02:00
Even Rouault 10d8e9af8d Database: register NZGD2000 -> ITRF96 transformation for NZGD2000 database
Related to https://github.com/OSGeo/PROJ-data/pull/22

An entry is added in the ``other_transformation`` table, using a raw PROJ
string. Later, once the deformation model has been registered in EPSG, we'll
have to add code to map the EPSG transformation method and parameters to
+proj=defmodel

In the meantime, this works pretty well:

```
$ src/projinfo -s EPSG:4959 -t EPSG:7907
Candidate operations found: 1
-------------------------------------
Operation No. 1:

PROJ:NZGD2000-20180701, NZGD2000 to ITRF96 deformation model, unknown accuracy, New Zealand

PROJ string:
+proj=pipeline +step +proj=unitconvert +xy_in=deg +xy_out=rad +step +proj=axisswap +order=2,1 +step +proj=defmodel +model=nz_linz_nzgd2000-20180701.json +step +proj=axisswap +order=2,1 +step +proj=unitconvert +xy_in=rad +xy_out=deg

WKT2:2019 string:
COORDINATEOPERATION["NZGD2000 to ITRF96 deformation model",
    VERSION["20180701"],
    SOURCECRS[
        GEOGCRS["NZGD2000",
            DATUM["New Zealand Geodetic Datum 2000",
                ELLIPSOID["GRS 1980",6378137,298.257222101,
                    LENGTHUNIT["metre",1]]],
            PRIMEM["Greenwich",0,
                ANGLEUNIT["degree",0.0174532925199433]],
            CS[ellipsoidal,3],
                AXIS["geodetic latitude (Lat)",north,
                    ORDER[1],
                    ANGLEUNIT["degree",0.0174532925199433]],
                AXIS["geodetic longitude (Lon)",east,
                    ORDER[2],
                    ANGLEUNIT["degree",0.0174532925199433]],
                AXIS["ellipsoidal height (h)",up,
                    ORDER[3],
                    LENGTHUNIT["metre",1]],
            ID["EPSG",4959]]],
    TARGETCRS[
        GEOGCRS["ITRF96",
            DATUM["International Terrestrial Reference Frame 1996",
                ELLIPSOID["GRS 1980",6378137,298.257222101,
                    LENGTHUNIT["metre",1]]],
            PRIMEM["Greenwich",0,
                ANGLEUNIT["degree",0.0174532925199433]],
            CS[ellipsoidal,3],
                AXIS["geodetic latitude (Lat)",north,
                    ORDER[1],
                    ANGLEUNIT["degree",0.0174532925199433]],
                AXIS["geodetic longitude (Lon)",east,
                    ORDER[2],
                    ANGLEUNIT["degree",0.0174532925199433]],
                AXIS["ellipsoidal height (h)",up,
                    ORDER[3],
                    LENGTHUNIT["metre",1]],
            ID["EPSG",7907]]],
    METHOD["PROJ-based operation method: +proj=pipeline +step +proj=unitconvert +xy_in=deg +xy_out=rad +step +proj=axisswap +order=2,1 +step +proj=defmodel +model=nz_linz_nzgd2000-20180701.json +step +proj=axisswap +order=2,1 +step +proj=unitconvert +xy_in=rad +xy_out=deg"],
    USAGE[
        SCOPE["unknown"],
        AREA["New Zealand"],
        BBOX[-55.95,160.6,-25.88,-171.2]],
    ID["PROJ","NZGD2000-20180701"],
    REMARK["New Zealand Deformation Model. Defines the secular model (National Deformation Model) and patches for significant deformation events since 2000"]]
```

```
$ echo "-41 173 0 2016.5" | PROJ_NETWORK=ON src/cct -d 8 +proj=pipeline +step +proj=unitconvert +xy_in=deg +xy_out=rad +step +proj=axisswap +order=2,1 +step +proj=defmodel +model=nz_linz_nzgd2000-20180701.json +step +proj=axisswap +order=2,1 +step +proj=unitconvert +xy_in=rad +xy_out=deg
 -40.99999402   172.99999938    0.00130333     2016.5000
```

```
$ echo "-41 173 0 2016.5" | PROJ_NETWORK=ON src/cs2cs -f "%.8f" EPSG:4959 EPSG:7907
-40.99999402	172.99999938 0.00130333 2016.5
```
2020-05-30 12:51:29 +02:00
Even Rouault 11d2e04051 .travis.yml: disable s390x target since Travis-CI infra is KO regarding this 2020-05-30 12:51:13 +02:00
chrodger f0baddbe63 filemanager.cpp: use non-deprecated SHGetKnownFolderPath() function to get the user writable directory on Windows (#2246)
Fixes #2245
2020-05-29 23:10:37 +02:00
Even Rouault e9a5addacb Merge pull request #2243 from rouault/inverse_wink2
Implement wink2 inverse by generic inversion of forward method
2020-05-29 12:37:48 +02:00
Even Rouault 48b3bd9afe Implement wink2 inverse by generic inversion of forward method
- Move the generic method initiated from adams_ws2 to a
  pj_generic_inverse_2d() method
- Use it in adams_ws2
- Use it in wink2

Fixes https://github.com/qgis/QGIS/issues/35512
2020-05-28 13:51:28 +02:00
Even Rouault 9ff543c4ff Merge pull request #2240 from rouault/fix_identification_epsg_3035
Fix identification of (one of the) ESRI WKT formulations of EPSG:3035
2020-05-25 21:10:18 +02:00
Even Rouault 4ade1b2eb1 Merge pull request #2239 from rouault/register_nc_dittt_Ranc08_Circe
Database: add entry for Ranc08_Circe.mnt grid (New Caledonia)
2020-05-25 19:48:06 +02:00
Even Rouault 172744361c Fix identification of (one of the) ESRI WKT formulations of EPSG:3035
Fixes https://github.com/qgis/QGIS/issues/36111
2020-05-25 19:47:51 +02:00
Even Rouault 263d121a3d Database: add entry for Ranc08_Circe.mnt grid (New Caledonia)
This geoid was added in EPSG 9.8.11 and has been added in PROJ-data
per https://github.com/OSGeo/PROJ-data/pull/21
2020-05-25 17:21:34 +02:00
Even Rouault cfdd474dd8 Merge pull request #2238 from rouault/update_to_epsg_9_8_11
Update to EPSG 9.8.11, ESRI 10.8.1 and import scope and remarks for conversion
2020-05-25 15:59:19 +02:00
Even Rouault bf50f76e1d Database: import scope and remarks for conversion (fixes #2237) 2020-05-24 21:35:13 +02:00
Even Rouault c2654aaf0f Database: update ESRI content to ArcMap 10.8.1 2020-05-24 21:22:19 +02:00
Even Rouault d03f15819b Database: update to EPSG v9.8.11 2020-05-24 21:22:18 +02:00
Even Rouault 4d9fa77bef Database: add a same_source_target_crs column to supersession table
This is in preparation for EPSG 9.8.11 import that supersedes a number of
grid transformation for US transformations, but the superseded and replacement
transformations don't operate on the same (source_crs, target_crs), which is
a bit weird. So in that situation, ignores the supersession.
2020-05-24 21:22:18 +02:00
Even Rouault 5d502d356e Merge pull request #2230 from rouault/limit_peirce_q_to_northern_hemisphere
Limit peirce_q to northern hemisphere, and fix images for adams_hemi, guyou and peirce_q
2020-05-24 20:03:48 +02:00
Jeff McKenna 35dc7d00f9 .travis.yml: enable commit notifications into dedicated 'proj-activity' IRC channel (#2236) 2020-05-19 21:53:19 +02:00
Even Rouault 8a1e831688 Merge pull request #2235 from rouault/check_sqlite3_runtime
Add runtime checking that sqlite3 is >= 3.11
2020-05-19 20:26:04 +02:00
Even Rouault 9d4de5d139 Add runtime checking that sqlite3 is >= 3.11
```
$ LD_LIBRARY_PATH=$HOME/install-sqlite-3.8.2/lib PROJ_DEBUG=1 src/projinfo -s @in.wkt -t @out.wkt --spatial-test intersects >/dev/null
SQLite3 version is 3.8.2, whereas at least 3.11 should be used
```
2020-05-19 19:26:05 +02:00
John Krasting b6b0ae12e3 Zone Definition Fixes for igh_o projection (#2233)
- Central lon for zone 2 should be -d10, not d10
- Extra lobe was missing for zone 11
- New figure generated
- New test suite values generated
2020-05-19 17:22:04 +02:00
Even Rouault 3ee7c9495b Merge pull request #2234 from rouault/fix_2232
Many fixes regarding BoundCRS, CompoundCRS, Geographic3D CRS with non-metre units
2020-05-19 16:53:27 +02:00
Even Rouault b0b33b8447 createOperations(): fix bug when transforming between CompoundCRS and BoundCRS in the general case let to 0 result (contributes to fixes #2232) 2020-05-19 14:21:02 +02:00
Even Rouault b6fc415925 createOperations(): optimization in generated pipeline in a case involving vertical unit change 2020-05-19 14:21:02 +02:00
Even Rouault 5aa99d4974 createOperations(): take correctly into account vertical unit change in a case of transformation between Compound of BoundVerticalCRS to GeographicCRS (contributes to fixes #2232) 2020-05-19 14:21:02 +02:00
Even Rouault 8dc8e1de06 createOperations(): fix wrong optimization in some instances of transforming a BoundCRS to a GeographicCRS (contributes to fixes #2232) 2020-05-19 14:21:01 +02:00
Even Rouault ec3fdd00f1 WKT1 ingestion: fix ingestion of COMPD_CS with ellipsoidal vertical datum and non metre units (contributes to fixes #2232) 2020-05-19 14:20:55 +02:00
Even Rouault 1a71523475 createOperations(): speed optimizations for transforming between a BoundCRS of a datum and the same datum (relates to #2232) 2020-05-19 14:15:47 +02:00
Even Rouault 166a1c681b createOperationsWithDatumPivot(): remove useless code 2020-05-19 14:15:47 +02:00
Even Rouault 4ee2ed65f7 createOperations(): fix 'caching' bugs causing potential exception about Inconsistent chainging of CRS (fixes #2232) 2020-05-19 14:15:46 +02:00
John Krasting 2e5470387d Implemented IGH Oceanic View (#2226)
- The current implementation of the Interrupted Goode Homolosine
  projection emphasizes land area. This is a compliment projection
  that emphasizes ocean area.
- A value of lon0=-160 produces a reasonable real-world map.
2020-05-19 02:04:04 +02:00
Even Rouault 9c501221de Address warnings raised by recent cppcheck 2020-05-17 23:26:24 +02:00
Even Rouault 0403980832 Merge pull request #2206 from rouault/deformation_model_for_merge
Add a +proj=defmodel transformation for multi-component time-based deformation models
2020-05-17 22:07:31 +02:00
Even Rouault b349fa7384 Merge pull request #2229 from rouault/fix_2228
Allow importing WKT1 COMPD_CS with a VERT_DATUM[Ellipsoid,2002]
2020-05-17 20:47:15 +02:00
Even Rouault 95e8777618 geodetictiffgrids.rst: update with deformation model 2020-05-16 17:53:13 +02:00
Even RouaultandChris Crook 697b93dbad Add a +proj=defmodel transformation for multi-component time-based deformation models
Fixes #1001

Co-authored-by: Chris Crook <ccrook@linz.govt.nz>
2020-05-16 17:53:13 +02:00
Even Rouault 4054c3b884 gie: fix loss of precision when parsing big values such as in projected coordinates 2020-05-16 17:52:49 +02:00
Even Rouault be6b6d7ec9 pj_bilinear_interpolation_three_samples(): add comments 2020-05-16 17:52:48 +02:00
Even Rouault f7f3b98a53 plotdefs.json: update validty area for adams_hemi, guyou and peirce_q, and regenerate associated images 2020-05-16 17:50:15 +02:00
Even Rouault 853db32089 plot.py: make path to 'proj' executable configurable with PROJ_EXE environment variable 2020-05-16 17:50:15 +02:00
Even Rouault ce38ade494 peirce_q: limit input to positive latitudes
Otherwise it returns junk (negative latitudes are mapped to
the same location as positive latitudes)

I'm a bit confused by PROJ peirce_q implementation. Looking at
the projection of the world, it looks like this matches the diamond
formulation of the right map shown at
https://desktop.arcgis.com/en/arcmap/latest/map/projections/peirce-quincuncial.htm,
but limited to the inner square of this diamond (which corresponds
to the northern hemisphere). We lack the 4 triangles on left, top,
right and bottom for the southern hemisphere. Furthermore, this
formulation of peirce_q does not seem to have the quincuncial
property of the square formulation (left images of the above ESRI
doc), or the one at https://en.wikipedia.org/wiki/Peirce_quincuncial_projection ...
2020-05-16 17:49:26 +02:00
Even Rouault 2d6b5c0a9a Merge pull request #2227 from rouault/fix_2225
createOperations(): when converting CompoundCRS<-->Geographic3DCrs, do not use discard change of ellipsoidal height if a Helmert transformation is involved
2020-05-16 16:20:10 +02:00
Even Rouault 6a3371ea66 Adjustments to deal with non-conformant WKT1 LAS COMPD_CS[] (refs #2171) 2020-05-16 15:51:01 +02:00
Even Rouault f57475aa3b Allow importing WKT1 COMPD_CS with a VERT_DATUM[Ellipsoid,2002], and exporting it back as such (on the same object) (fixes #2228) 2020-05-16 15:36:06 +02:00
Even Rouault 960285f974 test: improve formatting of expected result 2020-05-16 13:18:08 +02:00
Even Rouault e3e246854a createOperations(): improve operation name when inverting a 'axis order change (geographic3D horizontal)' operation 2020-05-16 13:17:08 +02:00
Even Rouault e3bbef8283 createOperations(): when converting CompoundCRS<-->Geographic3DCrs, do not use discard change of ellipsoidal height if a Helmert transformation is involved (fixes #2225) 2020-05-16 13:16:27 +02:00
Even Rouault fe3ffe8d5f createOperations(): be stricter when considering if an operation is a null one 2020-05-16 00:54:48 +02:00
Even Rouault 330b206624 Merge pull request #2224 from rouault/fix_2202
Make projinfo --3d --boundcrs-to-wgs84 better work (fixes #2202)
2020-05-15 11:58:17 +02:00
Even Rouault 6c5164eb49 Merge pull request #2223 from rouault/fix_2221
Avoid 2 warnings about missing database indices
2020-05-15 11:58:05 +02:00
Even Rouault 40bceca79f Merge pull request #2222 from rouault/fix_2217
Fixes related to CompoundCRS and BoundCRS
2020-05-15 11:57:52 +02:00
Even Rouault a2f8fd1a21 Make projinfo --3d --boundcrs-to-wgs84 better work (fixes #2202) 2020-05-15 00:40:25 +02:00
Even Rouault 77a8a9e01c AuthorityFactory::createObjectsFromName(): request SQL query to avoid warning about lack of object_view(table_name) index 2020-05-15 00:21:25 +02:00
Even Rouault f167d3fa6e Database: add index on alias_name(code) 2020-05-15 00:21:25 +02:00
Even Rouault e86ce263a9 Add SQLite3 debug logging if PROJ_LOG_SQLITE3 env var is defined 2020-05-15 00:21:24 +02:00
Even Rouault bc52bdcd51 createObjectsFromName(): fix when objectType = { GEOCENTRIC_CRS } 2020-05-14 22:56:37 +02:00
Even Rouault a918082e58 BoundCRS::create(): simplify 2020-05-14 20:21:13 +02:00
Even Rouault 056226ee66 createOperations(): optimize BoundCRS to BoundCRS of vertical CRS using the same vertical datum 2020-05-14 20:21:13 +02:00
Even Rouault 5871876450 createOperations(): fix exceptions related to CompoundCRS and BoundCRS 2020-05-14 20:21:13 +02:00
Even Rouault 69ee50ca36 Grid listing from a CoordinateOperation: take into account several grid names separated by comma (e.g. '+grids=foo1.gtx,foo2.gtx') 2020-05-14 18:55:41 +02:00
Even Rouault 70424a9a17 WKT1 parsing: fix parsing of CompoundCRS that has a TOWGS84 for horizontal and PROJ4_GRIDS for vertical (refs #2217) 2020-05-14 18:55:39 +02:00
Even Rouault 11012ebcc9 WKT/PROJJSON parsing: fix BoundCRS/PROJ4_GRIDS handling for vertical component when vertical CRS has non metre unit (fixes #2217) 2020-05-14 18:51:40 +02:00
Even Rouault 672b610dbc Merge pull request #2218 from rouault/wgs84_crs_alias
Database: add a 'WGS84' alias for the EPSG:4326 CRS (fixes #2216)
2020-05-14 16:10:02 +02:00
Even Rouault bf6020eee5 Database: add a 'WGS84' alias for the EPSG:4326 CRS (fixes #2216) 2020-05-14 11:35:26 +02:00
Even Rouault 0c9cf39297 Merge pull request #2215 from rouault/fix_2214
ProjectedCRS::identify(): fix identification of EPSG:3059  (fixes #2214)
2020-05-14 00:25:42 +02:00
Even Rouault 4e9d559d6c ProjectedCRS::identify(): fix identification of EPSG:3059 from 'LKS92_Latvia_TM' name, and other cleanups/improvements (fixes #2214) 2020-05-13 22:06:02 +02:00
Even Rouault 475e7fd9f1 Merge pull request #2213 from rouault/travis_s390x
.travis.yml: add linux_s390x (big endian)
2020-05-12 17:26:24 +02:00
Even Rouault ba8663c59c Merge pull request #2212 from rouault/typo_fixes
scripts/fix_typos.sh: fix URLs to dictionaries, and fix typos spotted
2020-05-12 17:26:12 +02:00
Even Rouault cf4c67c2b2 .travis.yml: add linux_s390x 2020-05-10 20:11:33 +02:00
Even Rouault b7f8a012bf scripts/fix_typos.sh: fix URLs to dictionaries, and fix typos spotted 2020-05-09 18:48:10 +02:00
Even Rouault 72fc6ab0f5 .travis.yml: disable notifications as they are probably more spam than useful [skip appveyor] (#2209) 2020-05-06 20:53:39 +02:00
PROJ-BOTandgithub-actions[bot] de323f98dc resource_file.rst: fix link to crs2crsgrid.py [skip appveyor] (#2208)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2020-05-04 18:50:15 +02:00
Even Rouault c405904001 grids: add support for projected grids for GenericShiftGridSet 2020-05-04 12:55:54 +02:00
Even Rouault f291c50f17 Doc: fix/hacks for compatibility with Breathe 4.17.0 [skip appveyor] (#2204) 2020-05-02 15:22:13 +02:00
Kristian Evers aa054d5cf1 Update NEWS for 7.0.1 2020-05-01 10:44:19 +02:00
Kristian Evers 9a1a00b3c0 Add a few notes to HOWTORELEASE 2020-05-01 10:40:44 +02:00
Kristian Evers e8a1a52098 doc: update download and news pages with new releases 2020-05-01 10:40:01 +02:00
Even Rouault 3cd07b2194 createFromProjString(): handle default parameters of '+krovak +type=crs', and handle +czech correctly (fixes #2199) (#2200)
* createFromProjString(): handle default parameters of '+krovak +type=crs', and handle +czech correctly (fixes #2199)

* Doc: add default values for Krovak
2020-04-28 11:36:29 +02:00
Even Rouault 39cd68f661 pipeline initialization: avoid deep recursion on corrupted PROJ string like https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=21889 2020-04-26 16:47:00 +02:00
Kristian Evers d6b3a52436 Merge pull request #2196 from kbevers/cs2cs-improve-rs-options
Update cs2cs options -r/-s to reflect axis ordering of PROJ >6
2020-04-26 15:11:53 +02:00
Kristian EversandGreg Troxel 8b41154efa Update cs2cs options -r/-s to reflect axis ordering of PROJ >6
Originally proposed by Greg Troxel on the mailing list:
https://lists.osgeo.org/pipermail/proj/2020-April/009597.html

Co-authored-by: Greg Troxel <gdt@lexort.com>
2020-04-26 14:32:39 +02:00
Even Rouault 54a5329036 Merge pull request #2195 from rouault/map_esri_grid_names
Database: map more ESRI grid names
2020-04-26 13:42:47 +02:00
Even Rouault 1750bb74c1 Database: map more ESRI grid names 2020-04-26 12:23:18 +02:00
Even Rouault fa55e657d1 projinfo: do not emit warnings about missing grids in quiet mode 2020-04-25 23:37:34 +02:00
Even Rouault ee355b8619 include/proj/util.hpp: recognized a PROJ_INTERNAL_CPP_NAMESPACE to use osgeo::internalproj namespace 2020-04-25 17:29:35 +02:00
Even Rouault 1c236551a2 Update proj_symbol_rename.h 2020-04-25 17:03:44 +02:00
Even Rouault 9f896faa5c Merge pull request #2193 from rouault/testcpp
postinstall checks: check that we include installed C++ headers (refs #2182)
2020-04-25 16:22:22 +02:00
Even Rouault 104011fe6a postinstall checks: check that we include installed C++ headers (refs #2182) 2020-04-25 15:29:47 +02:00
Even Rouault 4f1a05aa95 Tune support for WKT1_GDAL with netCDF rotated pole formulation. Follow-up to 40466db404 2020-04-24 23:28:08 +02:00
Even Rouault 8aba4d24b7 Doc: fixes for Sphinx 3.0 compat [skip appveyor] (#2191)
Those changes are also compatible with Sphinx 2.x

The use of .. cpp:enumerator::  for a C enum is questionable,
but .. c:member:: no longer works in Sphinx 3 for the value of
a C enum, but .. c:enumerator:: is Sphinx 3 only
( https://www.sphinx-doc.org/en/master/usage/restructuredtext/domains.html#directive-c-enumerator )

Sphinx 3 is also more strict with the use of cross-reference
to C types. It rejects cross-references to things like
`` :c:type:`int` `` since this isn't a type we actually define.
2020-04-24 18:42:05 +02:00
Even Rouault 40466db404 Fix support of WKT1_GDAL with netCDF rotated pole formulation (#2185)
Contributes to fixing issue raised in
https://lists.osgeo.org/pipermail/gdal-dev/2020-April/052003.html
2020-04-23 21:41:00 +02:00
Even Rouault b0e5448982 io.hpp: avoid dependency to proj_json_streaming_writer.hpp (fixes #2182) (#2183) 2020-04-23 19:15:22 +02:00
Even Rouault f5f0efe5eb .travis.yml: switch to bionic to restore i386 builds with gcc8 (fixes #2175)
Credits to @sebastic for his suggestion to try bionic and use aptitude
instead of apt !
2020-04-23 12:10:59 +02:00
Even Rouault db12d334cf .travis.yml: give-up with i386 builds on linux_gcc8 (refs #2175) (#2179)
My conclusion after numerous frustrating trial and error is that
there's something that has changed in the ppa:ubuntu-toolchain-r/test
that conflicts with the i386 packages.
2020-04-23 00:25:42 +02:00
Even Rouault 529a5c098c PROJ4 string import: take into correctly non-metre unit when the string looks like the one for WGS 84 / Pseudo Mercator (fixes https://github.com/OSGeo/gdal/issues/2433) (#2174) 2020-04-22 19:25:07 +02:00
Even Rouault 94aa1fc5ea Merge pull request #2168 from rouault/gie_strict_mode
gie: implement a strict mode with <gie-strict> </gie-strict> (fixes #2158)
2020-04-22 11:26:30 +02:00
Even Rouault 47458427c9 gie: implement a strict mode with <gie-strict> </gie-strict> (fixes #2158)
In that mode:
* All non-comment/decoration lines must start with a valid tag
* Commands split on several lines should be terminated with " \"
2020-04-21 23:05:59 +02:00
Even Rouault 5142bfbf72 Typo fixes in code comments [ci skip] 2020-04-21 20:47:05 +02:00
Even Rouault e493a5c17b Add limited support for non-conformant WKT1 LAS COMPD_CS[] (#2171)
* Allow importing EPSG:{horizontal_code}+{geographic_code} and
  turn it into valid Geographic 3D or Projected 3D CRS internally
* Allow importing WKT1 COMPD_CS[] with above structure
* On an object imported that way, allow exporting to WKT1_GDAL,
  with this non-standard structure of a horizontal CRS + geographic CRS
2020-04-21 20:45:49 +02:00
Even Rouault ea18e39b3b Code formatting fixes 2020-04-21 14:05:20 +02:00
Alan D. Snow 5e3aba396b Moved proj_context_get_url_endpoint & proj_context_get_user_writable_directory to proj.h (#2162)
Fixes #2028
2020-04-20 10:03:41 +02:00
Even Rouault b16b966b74 Merge pull request #2166 from rouault/lcea_ellipsoidal_wkt1_ingestion
Ingestion of WKT1_GDAL: correctly map 'Cylindrical_Equal_Area'
2020-04-19 15:46:43 +02:00
Even Rouault 2998a46d74 Doxyfile: remove TCL_SUBST variable considered obsolete by latest Doxygen 2020-04-19 15:13:45 +02:00
Even Rouault d667cadb72 travis/osx/before_install.sh: 'brew install graphviz' for missing 'dot' program 2020-04-19 14:47:20 +02:00
Even Rouault 605c01d255 Ingestion of WKT1_GDAL: correctly map 'Cylindrical_Equal_Area'
Map it to 'Lambert Cylindrical Equal Area' / EPSG:9835 non-spherical
method, when the ellipsoid is not a sphere. And rationalize the
handling of this for other methods with spherical vs non-spherical formulations
2020-04-19 13:27:43 +02:00
Kristian Evers dca24574f7 Merge pull request #2165 from jidanni/patch-2
Update proj.rst
2020-04-19 13:04:55 +02:00
積丹尼 Dan Jacobson f12bca692d Update proj.rst
See https://github.com/OSGeo/PROJ/pull/2164/
2020-04-19 18:23:34 +08:00
Even Rouault b7f5e7ea75 ellps_shape: catch corner case where es would be set to NaN. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=21761 2020-04-17 20:37:05 +02:00
Kristian Evers 7920a3fed1 Merge pull request #2159 from mwtoews/ci
AppVeyor: use Ninja generator, cache vcpkg installed packages
2020-04-17 20:29:13 +02:00
Even Rouault 8cce7b5702 createFromCoordinateReferenceSystemCodes(): 'optimization' to avoid using C++ exceptions (#2160) 2020-04-17 20:22:33 +02:00
Mike Taves a604ac8cda AppVeyor: use Ninja generator, cache vcpkg [skip travis] 2020-04-17 15:54:16 +12:00
Even Rouault 115c3db6bf Merge pull request #2030 from rouault/auto_sel_of_tmerc_alg
tmerc/utm: add a +algo=auto/evenden_snyder/poder_engsager parameter
2020-04-16 19:57:52 +02:00
Even Rouault ff8258bcdc Merge pull request #2157 from rouault/map_esri_54098
Adams Square II: map ESRI WKT to PROJ string, and implement iterative inverse method
2020-04-16 19:02:14 +02:00
Even Rouault 0cd2912037 Implement an iterative inverse method for +proj=adams_ws2 2020-04-16 17:47:18 +02:00
Even Rouault a8fdadfa3f Map ESRI WKT for Adams_Square_II to +proj=adams_ws2 2020-04-16 12:09:54 +02:00
Even Rouault 000fa21d07 Merge pull request #2155 from rouault/fix_2143
createOperations(): do not remove ballpark transformation if there are only grid based operations, even if they cover the whole area of use (fixes #2143)
2020-04-16 00:44:39 +02:00
Kristian Evers c91966953d Merge pull request #2148 from kbevers/add_adams_projections
Add square conformal projections from libproject
2020-04-15 19:19:32 +02:00
Kristian Evers fd17c604bf gitignore: add latex dir generated by sphinx [skip ci] 2020-04-15 09:31:22 +02:00
Kristian Evers e4bf822158 Add square conformal projections from libproject
This commit adds five new projections to PROJ:

    adams_hemi: Adams Hemisphere in a Square
    adams_wsI:  Adams World in a Square I
    adams_wsII: Adams World in a Square II
    guyou:      Guyou
    peirce_q:   Pierce Quincuncial

The code originates from Gerry Evendens libproject and has been adapted
to work with modern PROJ. To ensure that the modified code works as
intended extensive test data has been created using libproject and
sproj so that no errors occured when porting from libproject to PROJ.
The test data is wrapped in a gie files. All test cases reproduce
results from libproject at the mm level.
2020-04-15 09:10:01 +02:00
Even Rouault 9645697287 tmerc/utm: add a +algo=auto/evenden_snyder/poder_engsager parameter
The default remains +alg=poder_engsager.
This default value can be changed in proj.ini

+algo=auto will use Evenden Synder implementation if the error in
doing so remains below 0.1 mm on Earth-sized ellipsoid
2020-04-15 01:07:18 +02:00
Even Rouault 4be093e9d2 C API: add proj_operation_factory_context_set_allow_ballpark_transformations() 2020-04-15 00:00:11 +02:00
Even Rouault bc703787f1 projinfo: make it use the new C++ method to hide ballpark transformations 2020-04-14 23:59:57 +02:00
Even Rouault eadbb9d620 lookForGridAlternative(): fix bug with Dutch 2008 grids 2020-04-14 23:59:26 +02:00
Even Rouault 1409b00317 createOperations(): do not remove ballpark transformation if there are only grid based operations, even if they cover the whole area of use (fixes #2143) 2020-04-14 23:58:51 +02:00
Martin Raspaud 767a997658 Robinson inverse projection: error on out of domain values (#2151) 2020-04-14 22:09:40 +02:00
Even Rouault 5d94742cd7 Merge pull request #2147 from rouault/speedup_again_fwd_extented_tmerc
Extended tmerc: speed-up forward path by ~5%
2020-04-14 18:13:59 +02:00
Even Rouault 43d11bd830 ProjectedCRS identification: deal with switched 1st/2nd std parallels for LCC_2SP (#2150)
As switching the 2 standard parallels for Lambert Conformal Conic 2 standard
parallels result in a equivalently numerical projection definition, take
that into account when querying the database.
2020-04-14 18:13:35 +02:00
Even Rouault 5b017a8a78 code format fix [skip ci] 2020-04-14 12:51:13 +02:00
Even Rouault 97366a706c Extended tmerc: speed-up forward path by ~5%
Saves a useless sqrt() call
2020-04-13 11:49:56 +02:00
Kristian Evers 031b6ab95e Merge pull request #2144 from kbevers/proj_degree_inoutput
Add proj_degree_input() and proj_degree_output()
2020-04-13 10:32:05 +02:00
Even Rouault b0215f7890 Merge pull request #2146 from rouault/remove_geocent
Remove old geocent.h/.cpp code
2020-04-12 15:46:45 +02:00
Even Rouault ded96dfeb1 sch: simplify code 2020-04-12 15:05:00 +02:00
Kristian Evers ffe2997000 Merge pull request #2145 from rouault/speedup_inv_cart
Inverse cart: speed-up computation by 33%
2020-04-12 13:24:51 +02:00
Kristian Evers 925ae56c40 Add proj_degree_input() and proj_degree_output()
Equivalent to proj_angular_input() and proj_angular_output() but
checking for degree units instead. proj_create_crs_to_crs() rarely, if
ever, returns pipelines that has radians as input or output so using
proj_angular_*() is not a useful check for io units of pipelines.

These two new functions should make life a bit easier for users that
generally store there angular coordinates in radians.

Closes #2027
2020-04-12 12:20:44 +02:00
Even Rouault 67487b574b Remove old geocent.h/.cpp code
Last user, apart from transform.cpp, was the SCH projection. Modify it
to use cart instead.

And move content of geocent.h and .cpp into transform.cpp directly, so
that it can be later wiped up easily.
2020-04-12 00:11:57 +02:00
Even Rouault 78c1df51e0 Inverse cart: speed-up computation by 33%
Saves 2 sincos() and 1 atan2() calls.

With the following bench
```
 #include "proj.h"
 #include <stdlib.h>
 #include <stdio.h>
 #include <string.h>

int main(int argc, char* argv[])
{
    if( argc != 2 ) {
        fprintf(stderr, "Usage: bench_inv_cart fwd/inv\n");
        exit(1);
    }
    PJ* p = proj_create(0, "+proj=cart");
    const int dir = strcmp(argv[1], "inv") == 0 ? PJ_INV : PJ_FWD;
    PJ_COORD coord;
    if( dir == PJ_FWD )
    {
        coord.xyz.x = 3.14159/2;
        coord.xyz.y = 3.14159/2;
        coord.xyz.z = 100;
    }
    else
    {
        coord.xyz.x = 3e6;
        coord.xyz.y = 3e6;
        coord.xyz.z = 3e6;
    }
    for(int i = 0; i < 10* 1024 * 1024; i++ )
    {
        proj_trans(p, dir, coord);
    }

    proj_destroy(p);
    return 0;
}
```

On Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz
Time before: 2.37s
Time after:  1.57s
2020-04-11 19:37:55 +02:00
Even Rouault 21ebdfb89b proj_create(): improve error message in case of PJ* failure instanciation 2020-04-10 20:23:39 +02:00
Even Rouault c2751ebc4f createFromPROJString(): ignore +wktext in '+init=epsg:XXX +wktext' string (refs https://github.com/OSGeo/gdal/issues/2392) 2020-04-09 11:14:18 +02:00
Even Rouault dca4be189c Code formatting fix [skip ci] 2020-04-08 11:49:08 +02:00
Mike Taves 2eac355c73 Test GCC 4.8 and CMake 3.9; resolve a few shadowed declaration warnings 2020-04-07 22:01:10 +02:00
Even Rouault 0853daaeb1 Database: update to EPSG v9.8.9 2020-04-07 19:19:37 +02:00
Even Rouault 942709407e appveyor.yml: reduce to 2 configurations (still testing the same number of variables) [skip travis] (#2133) 2020-04-07 13:06:02 +12:00
Even Rouault 9b6a708df7 Merge pull request #2135 from rouault/fix_master_build_alpine
autoconf build: fix build on Alpine 3.11 where __attribute__((target_clones("fma","default"))) doesn't work for some reason
2020-04-06 20:23:38 +02:00
Even Rouault 5396b72e22 autoconf build: fix build on Alpine 3.11 where __attribute__((target_clones("fma","default"))) doesn't work for some reason 2020-04-06 19:26:40 +02:00
Even Rouault baf9b82254 Merge pull request #2134 from rouault/refactor_mlfn
Move inline code for optimize mlfn from tmerc to mlfn.hpp to avoid code duplication
2020-04-06 19:26:18 +02:00
Even Rouault 1005d96015 travis/osx/before_install.sh: use fixed version of sphinx and breathe to avoid build failure 2020-04-06 15:46:17 +02:00
Even Rouault 60f1efaafb Move inline code for optimize mlfn from tmerc to mlfn.hpp to avoid code duplication 2020-04-06 15:32:33 +02:00
Even Rouault 89d9bfd0f9 glossary.rst: fix recent typo [skip appveyor] 2020-04-04 21:50:51 +02:00
Even Rouault 0ff1190924 Merge pull request #2127 from rouault/projinfo_hide_ballpark
projinfo: add a --hide-ballpark option
2020-04-04 19:27:26 +02:00
Even Rouault 1f792e6b9c hgridshift/vgridshift: defer grid opening when grid has already been opened
Relates to #2115

With the fix of https://github.com/OSGeo/PROJ/pull/2128, transforming between
EPSG:4326+3855 and EPSG:4269+5703 leads to many operations with many grids,
and opening a file handle for each operation saturates the limit of 1024
file handles opened simunalteously. This fix defers grid opening when a
transformation has already been instanciated with the same grid.
2020-04-04 19:23:53 +02:00
Even Rouault 8aab6fd948 createOperations(): improve results of compoundCRS to compoundCRS case (fixes #2115) 2020-04-04 19:23:22 +02:00
Even Rouault 335d9367fd Doc: link projinfo to ballpark transformation term 2020-04-04 13:17:15 +02:00
Even Rouault ef3a387abd Doc: define 'Ballpark transformation' 2020-04-04 13:17:02 +02:00
Even Rouault 99a2d5f248 projinfo: add a --hide-ballpark option 2020-04-04 11:27:59 +02:00
Even Rouault 670eab68f2 Merge pull request #2126 from rouault/createFromUserInput_compoundCRS_from_names
createFromUserInput(): allow compound CRS with the 2 parts given by names, e.g. 'WGS 84 + EGM96 height'
2020-04-04 01:28:11 +02:00
Even Rouault bb770de3b7 createFromUserInput(): allow compound CRS with the 2 parts given by names, e.g. 'WGS 84 + EGM96 height' 2020-04-03 19:50:48 +02:00
Even Rouault 1a8933942c .travis.yml: fix issue with ubuntu-toolchain-r-test source 2020-04-03 14:32:41 +02:00
Even Rouault f4827e0a3b Make sure that importing a Projected 3D CRS from WKT:2019 keeps the base geographic CRS as 3D (fixes #2122) 2020-04-03 10:05:48 +02:00
Even Rouault d2467ab2af ESRI_WKT ingestion: make sure to identify to non-deprecated EPSG entry when possible (fixes #2116) 2020-03-30 23:05:00 +02:00
Even Rouault a837eaf033 Merge pull request #2052 from rouault/speedup_phi2
pj_phi2(): speed-up computation (and thus inverse ellipsoidal Mercator and LCC)
2020-03-30 19:07:10 +02:00
Even Rouault da32ee9459 Database: fix registration of custom entries of grid_transformation_custom.sql for geoid grids (fixes #2112) 2020-03-30 12:57:03 +02:00
Even Rouault 64946ab103 Fix working of Helmert transform between the horizontal part of 2 compoundCRS (fixes #2108) 2020-03-30 00:37:17 +02:00
Even Rouault b84c9d0cb6 Merge pull request #2039 from rouault/speedup_snyder_tmerc
Approximate tmerc (Snyder): speed optimizations
2020-03-29 18:43:37 +02:00
Even Rouault 455e6304d0 Merge pull request #2036 from rouault/speedup_poder_engsager_tmerc
Extended tmerc (Poder/Engsager): speed optimizations
2020-03-29 18:39:44 +02:00
Mike Taves 54fdb90a20 CMake: prefer to use use PROJ_SOURCE_DIR and PROJ_BINARY_DIR (#2100)
* Use instead of CMAKE_SOURCE_DIR and CMAKE_BINARY_DIR
* Also PROJECT_SOURCE_DIR and PROJECT_BINARY_DIR, which are similar
* Set properties with a list variable rather than a long line
* Correction to 'proj_test_set_properties' function, rename ENVIRONMENT:
  - PROJ_IGNORE_USER_WRITABLE_DIRECTORY     (ignored)
  - PROJ_SKIP_READ_USER_WRITABLE_DIRECTORY  (used by filemanager.cpp)
2020-03-28 12:44:30 +13:00
Even Rouault 238f48fb7c Fix identification of projected CRS whose name is close but not strictly equal to a ESRI alias (fixes #2099) 2020-03-27 22:36:08 +01:00
Pedro Venancio ec206a4d50 Add entries in grid_alternatives for Portugal grids coming from ESRI entries (#2102)
Fixes #2096
2020-03-27 15:34:08 +01:00
Martin Dobias 554a7976b0 Use jtsk03-jtsk horizontal grid from CDN 2020-03-26 23:16:18 +01:00
Even Rouault fbc654ab0c EngineeringCRS: when exporting to WKT1_GDAL, output unit and axis (fixes https://github.com/OSGeo/gdal/issues/2347) 2020-03-25 15:15:29 +01:00
Even Rouault 23d2941ef3 ESRI WKT import / identification: special case for NAD_1983_HARN_StatePlane_Colorado_North_FIPS_0501 with Foot_US unit (fixes #2086) 2020-03-24 10:18:17 +01:00
Even Rouault 9af705d630 proj_get_suggested_operation(): extra fix to behave similarly to proj_create_crs_to_crs_from_pj() 2020-03-23 19:26:56 +01:00
Mike Taves b76acd354c Add post-install checks for CMake and Autotools/pkg-config (#2077)
* Checks CMake's find_package(PROJ) and find_package(PROJ4)
* Checks pkg-config used with a Makefile (Linux and macOS only)
* Use proj.h / libproj with a simple 'testappprojinfo'
2020-03-21 14:16:00 +13:00
Even Rouault 56b0d6c506 Merge pull request #2085 from rouault/fix_proj_get_suggested_operation_with_operations_without_area_of_use
proj_get_suggested_operation(): fix when there are only operations without area of use
2020-03-20 09:36:41 +01:00
Even Rouault 5aa3d9fce2 proj_get_suggested_operation(): fix when there are only operations without area of use 2020-03-19 23:17:59 +01:00
Mike Taves 0c5802e0f8 CMake: fix bug with find_package(PROJ) with macOS 2020-03-18 13:19:39 +01:00
Even Rouault 7bb5d00b21 cs2cs: don't require +to for '{source_crs} {target_crs} filename...' syntax (fixes #2012) 2020-03-18 09:35:16 +01:00
Even Rouault 0d630d411a Merge pull request #2079 from rouault/deprecate_proj_list_angular_units
Deprecate proj_list_angular_units(). Follow-up of https://github.com/OSGeo/PROJ/pull/2065
2020-03-17 16:27:02 +01:00
Even Rouault ac37a9127a Deprecate proj_list_angular_units(). Follow-up of https://github.com/OSGeo/PROJ/pull/2065 2020-03-17 12:03:09 +01:00
Kristian EversandMike Taves 781dedec1f Align install.rst with current version (#2075)
Using {PROJVERSION} and {PROJDATAVERSION} substitutes the macro for the current
version numbers of PROJ and PROJ-data.

Rephrased a few sections regarding grid packages.

Closes #2072

Co-authored-by: Mike Taves <mwtoews@gmail.com>
2020-03-17 10:21:56 +01:00
Even Rouault 1707090212 Merge pull request #2068 from rouault/add_proj_get_suggested_operation
Add proj_get_suggested_operation()
2020-03-16 17:56:42 +01:00
Even Rouault 6cfc2521d6 Merge branch 'master' into add_proj_get_suggested_operation 2020-03-16 17:56:29 +01:00
Even Rouault 175cbad0a7 Merge pull request #2065 from rouault/add_proj_get_units_from_database
Add proj_get_units_from_database() (fixes #2004)
2020-03-16 17:55:36 +01:00
Even Rouault 78eaa34a48 Fix build with libtiff master (libtiff > 4.1.0) 2020-03-15 11:51:00 +01:00
Even Rouault 2247841879 Tag proj_list_units() as deprecated 2020-03-13 11:45:47 +01:00
Even Rouault f0d6b64fee Add proj_get_suggested_operation()
Return the index of the operation that would be the most appropriate to
transform the specified coordinates.

This operation may use resources that are not locally available, depending
on the search criteria used by proj_create_operations().

This could be done by using proj_create_operations() with a punctual bounding
box, but this function is faster when one needs to evaluate on many points
with the same (source_crs, target_crs) tuple.
2020-03-13 08:45:56 +01:00
Mike Taves d8835f1288 Autotools/pkg-conf: Define datarootdir 2020-03-12 23:46:34 +01:00
Even Rouault 35425763e7 Add proj_get_units_from_database() (fixes #2004) 2020-03-12 19:40:35 +01:00
Even Rouault 66f81bec4a Fix build with gcc 4.8.5 (fixes #2062) 2020-03-12 19:38:24 +01:00
Even Rouault ca3caf0e97 Database: register grids for New Caledonia added per https://github.com/OSGeo/PROJ-data/pull/16 2020-03-12 11:05:13 +01:00
B R S Recht 12a0b2483c Add note about orientation of control points 2020-03-12 11:03:24 +01:00
Even Rouault 3a69b7be2f ProjectedCRS::identify(): tune it to better work with ESRI WKT representation of EPSG:2193
Adresses https://github.com/OSGeo/gdal/issues/2303 by raising the
identification confidence from 25% to 90% (90% means equivalent for
all purposes, but name not strictly the EPSG official one)
2020-03-11 18:16:36 +01:00
Even Rouault afa573f464 .cirrus.yml: disable ccache as cache uploading can be super slow 2020-03-11 18:16:20 +01:00
Even Rouault 94defd1a72 pj_phi2(): speed-up computation (and thus inverse ellipsoidal Mercator and LCC)
This does not change the numeric values returned by the method,
as far as I could see on a few samplings.

The tricks used save a call to sin() and atan() at each iteration.

This directly affects speed of inverse Mercator and LCC (among others),
in their ellipsoidal formulation.

Timings on inverse Mercator show a 31% speed-up at mid-latitudes
where pj_phi2() needs 5 iterations, and 24% at latitudes close to 0 or
90deg where it needs one iteration.
2020-03-11 11:18:23 +01:00
Even Rouault aa71df059f Doc: use 'ellipsoidal' to refer to the ellipsoidal formulation (to be opposed to the spherical one)
Instead of 'elliptical'.
Was suggested by @cffk in https://github.com/OSGeo/PROJ/pull/2030#issuecomment-596132341

An elliptical projection is a projection whose global shape fits inside an
ellipsoid, like Mollweide. At least according to
https://www.merriam-webster.com/dictionary/elliptical%20projection
and
https://en.wikipedia.org/wiki/Mollweide_projection
2020-03-11 09:22:32 +01:00
Even Rouault ba67e2c86d data/Makefile.am: remove bashism 2020-03-10 21:52:35 +01:00
Even Rouault dc4acc001e utm/ups: make sure to set errno to PJD_ERR_ELLIPSOID_USE_REQUIRED if es==0
ENOMEM was wrongly set after setting PJD_ERR_ELLIPSOID_USE_REQUIRED

Note: it is a bit strange to forbid the pure spherical case whereas the
maths would allow it. I presume this is due to the typical usage of those
methods.
2020-03-10 18:01:43 +01:00
Colin Doig fc1a72314c fix documentation for proj_trans_generic(), see https://github.com/OSGeo/PROJ/issues/2032 (#2037) 2020-03-10 12:17:22 +01:00
Even Rouault 4b606565b9 Merge pull request #2040 from rouault/esri_map_Transverse_Mercator_Complex
Map ESRI Transverse_Mercator_Complex to Transverse Mercator
2020-03-10 12:16:08 +01:00
Even Rouault 746c8aa17a Map ESRI Transverse_Mercator_Complex to Transverse Mercator
According to https://gis.stackexchange.com/questions/226679/complex-utm-projection
it is highly likely that Transverse_Mercator_Complex corresponds to our
extended/enhanced/Poder-Engsager transverse mercator method (etmerc), or something
similarly precise. So we can map that to the standard Transverse Mercator
method, since etmerc is used for it.
2020-03-09 23:17:11 +01:00
Even Rouault d9b1db0ff1 Approximate tmerc (Snyder): speed optimizations
fwd: 7% faster on Core-i7@2.6GHz (with FMA triggered), 22% faster on GCE Xeon@2GHz (with FMA)
inv: 31% faster on Core-i7@2.6GHz (with FMA triggered), 60% faster on GCE Xeon@2GHz (with FMA)

The optimizations consists in different things:
- optionaly use the FMA (Fused Multiply Addition) instruction set with gcc >= 6.
  Binaries are generated with the standard instruction set (SSE/SSE2),
  and with one variant with FMA, and the appropriate version is selected automatically
  at runtime. This gives a modest speedup, but measurable. The speedup is more
  obvious on lower clocked CPU.
- inline mlfn and inv_mlfn
- for inv_mlfn avoid recomputation of sin()/cos() at each iteration stage,
  by observing that the argument changes in modest way at each iteration,
  and using approximation of sin()/cos(). The differences due to that approximation
  are way below the 1e-11 tolerance threshold.

Different in results are neglectable (only found in areas where the approximations
of the Snyder formulas are already no longer valid)

Before:
$ echo 8e5 9e6 | src/proj -d 12 +proj=utm +zone=31 -I +approx |  src/proj -d 12 +proj=utm +zone=31 +approx
799997.896522093331	8999999.520601103082
$ echo 8e5 5e6 | src/proj -d 12 +proj=utm +zone=31 -I +approx |  src/proj -d 12 +proj=utm +zone=31 +approx
800000.000007762224	4999999.999971268699
$ echo 18e5 9e6 | src/proj -d 12 +proj=utm +zone=31 -I +approx |  src/proj -d 12 +proj=utm +zone=31 +approx
1079182.990696100984	8661150.574729491025
$ echo 18e5 5e6 | src/proj -d 12 +proj=utm +zone=31 -I +approx |  src/proj -d 12 +proj=utm +zone=31 +approx
1799997.510861013783	4999999.567328464240

After:
$ echo 8e5 9e6 | src/proj -d 12 +proj=utm +zone=31 -I +approx |  src/proj -d 12 +proj=utm +zone=31 +approx
799997.896522093331	8999999.520601103082
$ echo 8e5 5e6 | src/proj -d 12 +proj=utm +zone=31 -I +approx |  src/proj -d 12 +proj=utm +zone=31 +approx
800000.000007762224	4999999.999971268699
$ echo 18e5 9e6 | src/proj -d 12 +proj=utm +zone=31 -I +approx |  src/proj -d 12 +proj=utm +zone=31 +approx
1079182.990696124267	8661150.574729502201
$ echo 18e5 5e6 | src/proj -d 12 +proj=utm +zone=31 -I +approx |  src/proj -d 12 +proj=utm +zone=31 +approx
1799997.510861013783	4999999.567328464240
2020-03-09 22:51:55 +01:00
Even Rouault d0d422dffc Extended tmerc (Poder/Engsager): speed optimizations
fwd: 52% faster on Core-i7@2.6GHz, 40% faster on GCE Xeon@2GHz
inv: 24% faster on Core-i7@2.6GHz, 36% faster on GCE Xeon@2GHz

Those speed-ups are obtained due to elimination of a number of
transcendental functions (atan, sincos, cosh, sinh), through the
use of usual trigonometric/hyperbolic formulas.

The numeric results before/after seem identical at worse up to
14 decimal digits, which is way beyond the apparent accuracy of the
computations

On a point, far from central meridian, where round-tripping is not so great:

Before:
echo "81 1" | src/proj -d 18 +proj=utm +zone=31 | src/proj -d 18 -I +proj=utm +zone=31
80.999994286593448578	0.999987970918421620

After:
$ echo "81 1" | src/proj -d 18 +proj=utm +zone=31 | src/proj -d 18 -I +proj=utm +zone=31
80.999994286593448578	0.999987970918422175

The benchmarking program used is:
```
 #include "proj.h"
 #include <stdlib.h>
 #include <stdio.h>
 #include <string.h>

int main(int argc, char* argv[])
{
    if( argc != 3 ) {
        fprintf(stderr, "Usage: bench quoted_proj_string fwd/inv\n");
        exit(1);
    }
    PJ* p = proj_create(0, argv[1]);
    const int dir = strcmp(argv[2], "inv") == 0 ? PJ_INV : PJ_FWD;
    PJ_COORD coord;
    if( dir == PJ_FWD )
    {
        coord.xy.x = 0.5; // rad
        coord.xy.y = 0.5; // rad
    }
    else
    {
        coord.xy.x = 450000; // m
        coord.xy.y = 5000000; // m
    }
    for(int i = 0; i < 40 * 1000* 1000; i++)
        proj_trans(p, dir, coord);
    proj_destroy(p);
    return 0;
}
```
2020-03-09 15:12:12 +01:00
Even Rouault 13782b1997 Merge pull request #2031 from snowman2/appveyor
Updated appveyor to not copy DLL & update existing vcpkg
2020-03-09 11:24:01 +01:00
Kristian Evers 46c47e9adf Merge pull request #2025 from rouault/projections_remove_assignments_in_expressions
src/projections/: remove assignments in expression and multiple statements per line
2020-03-09 10:25:08 +01:00
snowman2 f3698185e0 Updated appveyor to not copy DLL & update existing vcpkg 2020-03-08 20:27:25 -05:00
Even Rouault 60d3df673c src/projections/: remove assignments in expression and multiple statements per line
Should hopefully result in no change in results, and hopefully more
readable code...
2020-03-08 19:58:35 +01:00
Even Rouault 38ec5e662a proj_internal.h: fix typo in macro name due to bad copy&paste. (No functional impact) 2020-03-06 19:08:55 +01:00
Even Rouault c0e1213b09 proj.ini: typo fix in comment [ci skip] 2020-03-06 18:35:29 +01:00
Even Rouault 5fff613d07 Typo fixes identified by scripts/fix_typos.sh 2020-03-06 18:33:44 +01:00
Even Rouault 93da0bcaa0 Merge pull request #2024 from rouault/add_support_for_WKT1_ESRI_VERTCS
WKT import/export: add support for WKT1_ESRI VERTCS syntax
2020-03-06 18:28:30 +01:00
Even Rouault 6512ef2427 WKT import/export: add support for WKT1_ESRI VERTCS syntax 2020-03-06 14:11:31 +01:00
Kristian Evers 2dbca196a0 Merge pull request #2023 from nyalldawson/update_notes
Add some more missing methods and notes to esri projection mapping
2020-03-06 08:13:45 +01:00
Nyall Dawson 9a35f3dad4 Add some more missing methods and notes to esri projection mapping 2020-03-06 10:17:36 +10:00
Even Rouault b8db250028 ESRI WKT: map Mercator_Variant_A, Mercator_Variant_C and Transverse_Cylindrical_Equal_Area projections (#2020)
* Add mapping of ESRI projection methods Mercator_Variant_A, Mercator_Variant_C
and Transverse_Cylindrical_Equal_Area
* Add a few notes about missing mappings
2020-03-05 08:20:19 +01:00
Kristian Evers 341e0e7eb4 Remove occurences of deprecated PROJ.4 syntax
+no_defs and +datum has no effect on the behaviour of proj, so can be
left out in these examples in the docs. +no_defs in rare occasions would
have had an effect in older PROJ versions but not from PROJ 6 and
onwards. +datum has ever only been honoured by cs2cs and pj_transform().

Fixes #2017
2020-03-05 00:18:01 +01:00
Even Rouault c1fbdd88b3 Merge pull request #1986 from nyalldawson/behrman
Map the Behrman projection to cae when converting ESRI CRSes
2020-03-04 14:35:18 +01:00
Nyall Dawson cb64ce2622 Add missing tests for ESRI projection method conversion 2020-03-04 20:51:44 +10:00
Nyall Dawson d49ce528bb Add capability to force a fixed value for a non-specified CRS component
while mapping ESRI projections, and map the Behrman projection to
cae with lat_ts=30, lon_0=0
2020-03-04 19:01:56 +10:00
Mike Taves 72f5bb21ae Document Autotools and CMake configure options (#2010) 2020-03-04 21:20:30 +13:00
Kristian Evers 93d3af6aec Update README with info on PROJ-data (#2015) [ci skip]
Removes section about proj-datumgrid-* packages in favour for a section
about the PROJ-data package and the CDN.
2020-03-04 00:37:47 +01:00
Even Rouault b2ca8e5f6b createUnitOfMeasure(): use full double resolution for the conversion factor (#2011)
Fixes https://github.com/OSGeo/gdal/issues/2290 where it was found that
PROJ returned value for conversion factor of US Survey Foot unit wasn't
at the maximum resolution, but only accurate to 15 significant digits.
2020-03-03 19:42:44 +01:00
Kristian Evers 57c12c27d2 Merge pull request #2009 from OSGeo/cmake-rpath
Follow PDAL's CMake RPATH strategy
2020-03-03 19:08:31 +01:00
Howard Butler 6f71d3f7d1 cmakelint changes as requested 2020-03-03 08:22:17 -06:00
Chris Mayo bda0d15ede Fix download link for proj-data 1.0 2020-03-03 07:50:12 +01:00
Howard Butler b465415cff Follow PDAL's CMake RPATH strategy 2020-03-02 13:44:23 -06:00
403 changed files with 35870 additions and 11585 deletions
+2 -1
View File
@@ -95,9 +95,10 @@ install_manifest.txt
/data/tv_out
# docs
tmp_breathe
/docs/.doxygen_up_to_date
/docs/build
/docs/plot/images
/latex
# m4
m4/libtool.m4
+52
View File
@@ -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/7.1 -- docs/ .readthedocs.yaml;
then
exit 183;
fi
- (git --no-pager log --pretty="tformat:%s -- %b" -1 | grep -viq "skip ci") || 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
+13 -6
View File
@@ -37,6 +37,13 @@ set(CMAKE_C_STANDARD_REQUIRED ON)
set(CMAKE_C_EXTENSIONS OFF)
message(STATUS "Requiring C${CMAKE_C_STANDARD} - done")
set(CMAKE_SKIP_BUILD_RPATH FALSE)
set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
if(APPLE)
set(MACOSX_RPATH ON)
endif()
# Set global -fvisibility=hidden
set(CMAKE_C_VISIBILITY_PRESET hidden)
set(CMAKE_CXX_VISIBILITY_PRESET hidden)
@@ -103,9 +110,9 @@ message(STATUS "Configuring PROJ:")
#PROJ version information
################################################################################
include(ProjVersion)
proj_version(MAJOR 7 MINOR 1 PATCH 0)
set(PROJ_API_VERSION "19")
set(PROJ_BUILD_VERSION "19.0.0")
proj_version(MAJOR 7 MINOR 1 PATCH 1)
set(PROJ_API_VERSION "20")
set(PROJ_BUILD_VERSION "20.1.1")
################################################################################
# Build features and variants
@@ -218,9 +225,9 @@ endif()
# top of the build tree rather than in hard-to-find leaf
# directories. This simplifies manual testing and the use of the build
# tree rather than installed PROJ libraries.
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJ_BINARY_DIR}/lib)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJ_BINARY_DIR}/lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJ_BINARY_DIR}/bin)
link_directories(${CMAKE_LIBRARY_OUTPUT_DIRECTORY})
################################################################################
+3 -7
View File
@@ -230,12 +230,6 @@ TAB_SIZE = 4
ALIASES =
# This tag can be used to specify a number of word-keyword mappings (TCL only).
# A mapping has the form "name=value". For example adding "class=itcl::class"
# will allow you to use the command class in the itcl::class meaning.
TCL_SUBST =
# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources
# only. Doxygen will then generate output that is more tailored for C. For
# instance, some of the names that are used will be different. The list of all
@@ -2051,7 +2045,9 @@ PREDEFINED = DOXYGEN_ENABLED \
protected=private \
INLINED_MAKE_SHARED= \
PROJ_OPAQUE_PRIVATE_DATA= \
PROJ_PRIVATE=private
PROJ_PRIVATE=private \
PROJ_PURE_DECL= \
noexceptoverride="noexcept override"
# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
# tag can be used to specify a list of macro names that should be expanded. The
+9 -1
View File
@@ -63,7 +63,7 @@ Update the following files with the new ABI version number:
Man pages are (mostly) automatically generated from the Sphinx docs. Follow
these steps:
- Temporarily update version in `docs/source/conf.py`
- Temporarily update `version` and `data_version` in `docs/source/conf.py`
- run `scripts/update_man.sh`
- Revert version number in `docs/source/conf.py`
@@ -176,10 +176,18 @@ See step 1.6 above. Do not rename the archives with RC postfixes.
------------------------------------------------------------------------------
- Add the release notes from `NEWS` to `docs/source/news.rst`
These vim substitutions are helpfull when converting NEWS to rst:
:s!(\#\(\d\{4}\))!(`\#\1 <https://github.com/OSGeo/issues/\1>`_)!
:s/^o/*/
- Update download links in `docs/source/download.rst`
- Update `$TRAVIS_BRANCH` in `travis\after_success.sh` to new maintenance
branch.
*Commit the changes to master and cherry-pick into maintenance branch.*
When pushed upstream the website will be update to the current version.
+330 -2
View File
@@ -1,3 +1,331 @@
7.1.1 Release Notes
-------------------
Updates
-------
o Added various Brazillian grids to the database #2277
o Added geoid file for Canary Islands to the database #2312
o Updated EPSG database to version 9.8.15 #2310
Bug fixes
---------
o WKT parser: do not raise warning when parsing a WKT2:2015 TIMECRS
whose TIMEUNIT is at the CS level, and not inside #2281
o Parse '+proj=something_not_latlong +vunits=' without +geoidgrids as a
Projected3D CRS and not a compound CRS with a unknown datum #2289
o C API: Avoid crashing due to missing SANITIZE_CTX() in entry points #2293
o CMake build: Check "target_clones" before use #2297
o PROJ string export of +proj=krovak +czech: make sure we export +czech… #2301
o Helmert 2D: do not require a useless +convention= parameter #2305
o Fix a few spelling errors ("vgridshit" vs. "vgridshift") #2307
o Fix ability to identify EPSG:2154 as a candidate for 'RGF93_Lambert_93' #2316
o WKT importer: tune for Oracle WKT and 'Lambert Conformal Conic' #2322
o Revert compiler generated Fused Multiply Addition optimized routines #2328
THANKS TO
---------
Jeff McKenna
Kai Pastor
Javier Jimenez Shaw
Kristian Evers
Even Rouault
7.1.0 Release Notes
-------------------
Updates
-------
+ New transformations:
o Add a +proj=defmodel transformation for multi-component time-based deformation models (#2206)
+ New projections:
o Add square conformal projections from libproject:
- Adams Hemisphere in a Square
- Adams World in a Square I
- Adams World in a Square II
- Guyou
- Pierce Quincuncial
(#2148)
o Adams Square II: map ESRI WKT to PROJ string, and implement iterative
inverse method (#2157)
o Added IGH Oceanic View projection (#2226)
o Add wink2 inverse by generic inversion of forward method (#2243)
+ Database:
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 Support conversion of Flat_Polar_Quartic projection method (#1987)
o Register 4 new Austrian height grids (see https://github.com/OSGeo/PROJ-data/pull/13)
and handle 'Vertical Offset by Grid Interpolation (BEV AT)' method (#1989)
o Add ESRI projection method mappings for Mercator_Variant_A, Mercator_Variant_B
and Transverse_Cylindrical_Equal_Area and various grid mappings (#2020) (#2195)
o Map ESRI Transverse_Mercator_Complex to Transverse Mercator (#2040)
o Register grids for New Caledonia (see https://github.com/OSGeo/PROJ-data/pull/16) (#2051) (#2239)
o Register NZGD2000 -> ITRF96 transformation for NZGD2000 database (#2248)
o Register geoid file for UK added
(see https://github.com/OSGeo//PROJ-data/pull/25() (#2250)
o Register Slovakian geoid transformations with needed code changes (#2259)
o Register Spanish SPED2ETV2 grid for ED50->ETRS89 (#2261)
+ API:
o Add API function proj_get_units_from_database() (#2065)
o Add API function proj_get_suggested_operation() (#2068)
o Add API functions proj_degree_input() and proj_degree_output() (#2144)
o Moved proj_context_get_url_endpoint & proj_context_get_user_writable_directory
from proj_experimental.h to proj.h (#2162)
o createFromUserInput(): allow compound CRS with the 2 parts given by names,
e.g. 'WGS 84 + EGM96 height' (#2126)
o createOperations(): when converting CompoundCRS<-->Geographic3DCrs, do not
use discard change of ellipsoidal height if a Helmert transformation is
involved (#2227)
o proj_list_units() deprecated, superceeded by proj_get_units_from_database()
o proj_list_angular_units() deprecated, superceeded by proj_get_units_from_database()
+ Optimizations:
o tmerc/utm: add a +algo=auto/evenden_snyder/poder_engsager parameter (#2030)
o Extended tmerc (Poder/Engsager): speed optimizations (#2036)
o Approximate tmerc (Snyder): speed optimizations (#2039)
o pj_phi2(): speed-up computation (and thus inverse ellipsoidal Mercator and LCC) (#2052)
o Inverse cart: speed-up computation by 33% (#2145)
o Extended tmerc: speed-up forward path by ~5% (#2147)
+ Various:
o Follow PDAL's CMake RPATH strategy (#2009)
o WKT import/export: add support for WKT1_ESRI VERTCS synta (#2024)
o projinfo: add a --hide-ballpark option (#2127)
o gie: implement a strict mode with <gie-strict> </gie-strict> (#2168)
o Allow importing WKT1 COMPD_CS with a VERT_DATUM[Ellipsoid,2002] (#2229)
o Add runtime checking that sqlite3 is >= 3.11 (#2235)
Bug fixes
---------
o createOperations(): do not remove ballpark transformation if there are only grid
based operations, even if they cover the whole area of use (#2155)
o createFromProjString(): handle default parameters of '+krovak +type=crs', and
handle +czech correctly (#2200)
o ProjectedCRS::identify(): fix identification of EPSG:3059 (#2215)
o Database: add a 'WGS84' alias for the EPSG:4326 CRS (#2218)
o Fixes related to CompoundCRS and BoundCRS (#2222)
o Avoid 2 warnings about missing database indices (#2223)
o Make projinfo --3d --boundcrs-to-wgs84 work better (#2224)
o Many fixes regarding BoundCRS, CompoundCRS, Geographic3D CRS with
non-metre units (#2234)
o Fix identification of (one of the) ESRI WKT formulations of EPSG:3035 (#2240)
o Avoid using deprecated and removed Windows API function with Mingw32 (#2246)
o normalizeForVisualization(): make it switch axis for EPSG:5482
(RSRGD2000 / RSPS2000) (#2256)
o Fix access violation in proj_context_get_database_metadata (#2260)
o Fail gracefully when calling API functions with invalid input (#2272)
THANKS TO
---------
Martin Raspaud
Jeroen Ooms
Jeff McKenna
Colin Doig
Chris Mayo
Chatziargyriou Eleftheria
Bas Couwenberg
B R S Recht
積丹尼 Dan Jacobson
Alan D. Snow
GitHub user @chrodger
Pedro Venancio
Olli Räisä
John Krasting
Andrei Marshalov
Javier Jimenez Shaw
Martin Dobias
Howard Butler
Nyall Dawson
Mike Taves
Kristian Evers
Even Rouault
7.0.1 Release Notes
-------------------
Updates
-------
o Database: update to EPSG v9.8.9 #2141
Bug fixes
---------
o Make tests independent of proj-datumgrid (#1995)
o Add missing projection property tables (#1996)
o Avoid crash when running against SQLite3 binary built with
-DSQLITE_OMIT_AUTOINIT (#1999)
o createOperations(): fix wrong pipeline generation with CRS that has +nadgrids=
and +pm= (#2002)
o Fix bad copy&replace pattern on HEALPix and rHEALPix projection names (#2007)
o createUnitOfMeasure(): use full double resolution for the conversion
factor (#2014)
o Update README with info on PROJ-data (#2015)
o utm/ups: make sure to set errno to PJD_ERR_ELLIPSOID_USE_REQUIRED if
es==0 (#2045)
o data/Makefile.am: remove bashism (#2048)
o ProjectedCRS::identify(): tune it to better work with ESRI WKT
representation of EPSG:2193 (#2059)
o Fix build with gcc 4.8.5 (#2066)
o Autotools/pkg-conf: Define datarootdir (#2069)
o cs2cs: don't require +to for '{source_crs} {target_crs} filename...'
syntax (#2081)
o CMake: fix bug with find_package(PROJ) with macOS (#2082)
o ESRI WKT import / identification: special case for
NAD_1983_HARN_StatePlane_Colorado_North_FIPS_0501 with Foot_US unit (#2088)
o ESRI WKT import / identification: special case for
NAD_1983_HARN_StatePlane_Colorado_North_FIPS_0501 with Foot_US unit (#2089)
o EngineeringCRS: when exporting to WKT1_GDAL, output unit and axis (#2092)
o Use jtsk03-jtsk horizontal grid from CDN (#2098)
o CMake: prefer to use use PROJ_SOURCE_DIR and PROJ_BINARY_DIR (#2100)
o Fix wrong grids file name in esri.sql (#2104)
o Fix identification of projected CRS whose name is close but not strictly
equal to a ESRI alias (#2106)
o Fix working of Helmert transform between the horizontal part of
2 compoundCRS (#2111)
o Database: fix registration of custom entries of grid_transformation_custom.sql
for geoid grids (#2114)
o ESRI_WKT ingestion: make sure to identify to non-deprecated EPSG entry when
possible (#2119)
o Make sure that importing a Projected 3D CRS from WKT:2019 keeps the base
geographic CRS as 3D (#2125)
o createOperations(): improve results of compoundCRS to compoundCRS case (#2131)
o hgridshift/vgridshift: defer grid opening when grid has already
been opened (#2132)
o Resolve a few shadowed declaration warnings (#2142)
o ProjectedCRS identification: deal with switched 1st/2nd std parallels for
LCC_2SP(#2153)
o Fix Robinson inverse projection (#2154)
o createOperations(): do not remove ballpark transformation if there are only
grid based operations, even if they cover the whole area of use (#2156)
o createFromCoordinateReferenceSystemCodes(): 'optimization' to avoid using
C++ exceptions (#2161)
o Ingestion of WKT1_GDAL: correctly map 'Cylindrical_Equal_Area' (#2167)
o Add limited support for non-conformant WKT1 LAS COMPD_CS[] (#2172)
o PROJ4 string import: take into correctly non-metre unit when the string
looks like the one for WGS 84 / Pseudo Mercator (#2177)
o io.hpp: avoid dependency to proj_json_streaming_writer.hpp (#2184)
o Fix support of WKT1_GDAL with netCDF rotated pole formulation (#2186)
THANKS TO
---------
Mike Taves
Chris Mayo
Kristian Evers
Even Rouault
7.0.0 Release Notes
-------------------
@@ -77,10 +405,10 @@ for more info on how to migrate from the old to the new API.
Bug fixes
---------
o Horizontal grid shift: fix failures on points slightly outside a
subgrid (#209)
o Fix ASAN issue with SQLite3VFS class (#1902)
o tests: force use of bash for proj_add_test_script_sh (#1905)
+12 -11
View File
@@ -51,20 +51,14 @@ number, and "z" indicates the patch number of the release.
In addition to the PROJ software package, distributions of datum
conversion grid files and PROJ parameter files are also available.
The grid package is distributed under the name `proj-datumgrid-x.y.zip`,
The grid package is distributed under the name `proj-data-x.y.zip`,
where "x" is the major release version and "y" is the minor release
version numbers. Similarly regional packages are distributed. The
regional packages contain resources that are not essential to the
functionality of PROJ but still of value to users in the region
specific to the package. All grids that were in proj-datumgrids-1.6
remain in proj-datumgrids-1.7; the regional datumgrid files contain
grids for datums not previously supported (prior to PROJ 5.0.0).
version numbers. The resource packages can be downloaded from the
[PROJ website](https://proj.org/download.html).
The resource packages can be downloaded from the [PROJ website](https://proj.org/download.html).
More info on the contents of the various resource packages can be
More info on the contents of the proj-data package can be
found at the
[proj-datumgrid GitHub repository](https://github.com/OSGeo/proj-datumgrid).
[PROJ-data GitHub repository](https://github.com/OSGeo/PROJ-data).
The resource file packages should be extracted to `PROJ_LIB`
where PROJ will find them after installation. The default location of
@@ -72,6 +66,13 @@ where PROJ will find them after installation. The default location of
be changed to a different directory. On Windows you have to define
`PROJ_LIB` yourself.
As an alternative to installing the data package on the local system,
the resource files can be retrieved on-the-fly from the
[PROJ CDN](https://cdn.proj.org/). A [network-enabled](https://proj.org/usage/network.html) PROJ build, will
automatically fetch resource files that are not present locally from the
CDN.
## Citing PROJ in publications
See [CITATION](CITATION)
-55
View File
@@ -1,55 +0,0 @@
platform:
- x64
- x86
branches:
except:
- /(cherry-pick-)?backport-\d+-to-/
environment:
matrix:
# VS 2015
- VS_VERSION: Visual Studio 14
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
# VS 2017
- VS_VERSION: Visual Studio 15
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
shallow_clone: true
build_script:
- echo build_script
- git clone https://github.com/microsoft/vcpkg
- cd vcpkg
- bootstrap-vcpkg.bat
- set PATH=%CD%;%PATH%
- cd ..
- vcpkg install sqlite3[core,tool]:"%platform%"-windows
- vcpkg install tiff:"%platform%"-windows
- vcpkg install curl:"%platform%"-windows
- if "%platform%" == "x64" SET VS_FULL=%VS_VERSION% Win64
- if "%platform%" == "x64" SET BUILD_SHARED_LIBS=ON
- if "%platform%" == "x86" SET VS_FULL=%VS_VERSION%
- if "%platform%" == "x86" SET BUILD_SHARED_LIBS=OFF
- echo "%VS_FULL%"
#
- set PROJ_BUILD=%APPVEYOR_BUILD_FOLDER%\build
- mkdir %PROJ_BUILD%
- cd %PROJ_BUILD%
- set PROJ_DIR=%APPVEYOR_BUILD_FOLDER%\proj_dir
- cmake -G "%VS_FULL%" .. -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS="%BUILD_SHARED_LIBS%" -DCMAKE_C_FLAGS="/WX" -DCMAKE_CXX_FLAGS="/WX" -DCMAKE_TOOLCHAIN_FILE=C:/projects/proj/vcpkg/scripts/buildsystems/vcpkg.cmake -DCMAKE_INSTALL_PREFIX="%PROJ_DIR%"
- cmake --build . --config Release --target install
- copy c:\projects\proj\vcpkg\installed\"%platform%"-windows\bin\*.dll %PROJ_DIR%\bin
- dir %PROJ_DIR%\bin
test_script:
- echo test_script
- set PROJ_LIB=%PROJ_DIR%\share\proj
- cd %PROJ_BUILD%
- ctest -V -C Release
- set PATH=%PROJ_DIR%\bin;%PATH%
- proj
deploy: off
+1 -1
View File
@@ -41,7 +41,7 @@ set(PACKAGE_VERSION "${${PROJECT_NAME}_VERSION}")
# check if a second proj_config.h exists (created by ./configure)
# as this is within CMake's C_INCLUDES / CXX_INCLUDES
set(AUTOCONF_PROJ_CONFIG_H "${CMAKE_SOURCE_DIR}/src/proj_config.h")
set(AUTOCONF_PROJ_CONFIG_H "${PROJ_SOURCE_DIR}/src/proj_config.h")
if(EXISTS ${AUTOCONF_PROJ_CONFIG_H})
message(WARNING
"Autoconf's ${AUTOCONF_PROJ_CONFIG_H} may interfere with this "
+8 -6
View File
@@ -3,8 +3,10 @@
#
function(proj_test_set_properties TESTNAME)
set_tests_properties( ${TESTNAME}
PROPERTIES ENVIRONMENT "PROJ_IGNORE_USER_WRITABLE_DIRECTORY=YES;PROJ_LIB=${PROJECT_BINARY_DIR}/data/for_tests")
set_property(TEST ${TESTNAME}
PROPERTY ENVIRONMENT
"PROJ_SKIP_READ_USER_WRITABLE_DIRECTORY=YES"
"PROJ_LIB=${PROJ_BINARY_DIR}/data/for_tests")
endfunction()
function(proj_add_test_script_sh SH_NAME BIN_USE)
@@ -12,8 +14,8 @@ function(proj_add_test_script_sh SH_NAME BIN_USE)
get_filename_component(testname ${SH_NAME} NAME_WE)
add_test(NAME "${testname}"
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/data
COMMAND bash ${PROJECT_SOURCE_DIR}/test/cli/${SH_NAME}
WORKING_DIRECTORY ${PROJ_SOURCE_DIR}/data
COMMAND bash ${PROJ_SOURCE_DIR}/test/cli/${SH_NAME}
${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${${BIN_USE}}
)
proj_test_set_properties(${testname})
@@ -25,9 +27,9 @@ endfunction()
function(proj_add_gie_test TESTNAME TESTCASE)
set(GIE_BIN $<TARGET_FILE_NAME:gie>)
set(TESTFILE ${CMAKE_SOURCE_DIR}/test/${TESTCASE})
set(TESTFILE ${PROJ_SOURCE_DIR}/test/${TESTCASE})
add_test(NAME ${TESTNAME}
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/test
WORKING_DIRECTORY ${PROJ_SOURCE_DIR}/test
COMMAND ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${GIE_BIN}
${TESTFILE}
)
+2 -2
View File
@@ -30,10 +30,10 @@ if (NOT PACKAGE_FIND_NAME STREQUAL "@PROJECT_VARIANT_NAME@")
set (REASON "package = @PROJECT_VARIANT_NAME@, NOT ${PACKAGE_FIND_NAME}")
set (PACKAGE_VERSION_UNSUITABLE TRUE)
elseif (NOT (APPLE OR (NOT DEFINED CMAKE_SIZEOF_VOID_P) OR
CMAKE_SIZEOF_VOID_P EQUAL @CMAKE_SIZEOF_VOID_P@))
CMAKE_SIZEOF_VOID_P EQUAL "@CMAKE_SIZEOF_VOID_P@"))
# Reject if there's a 32-bit/64-bit mismatch (not necessary with Apple
# since a multi-architecture library is built for that platform).
set (REASON "sizeof(*void) = @CMAKE_SIZEOF_VOID_P@")
set (REASON "sizeof(*void) = @CMAKE_SIZEOF_VOID_P@")
set (PACKAGE_VERSION_UNSUITABLE TRUE)
elseif (MSVC AND NOT (
# toolset version must be at least as great as @PROJECT_NAME@'s
+1 -5
View File
@@ -1,7 +1,7 @@
dnl Process this file with autoconf to produce a configure script.
AC_PREREQ(2.59)
AC_INIT([PROJ], [7.1.0],
AC_INIT([PROJ], [7.1.1],
[https://github.com/OSGeo/PROJ/issues], proj, [https://proj.org])
AC_CONFIG_MACRO_DIR([m4])
AC_LANG(C)
@@ -125,7 +125,6 @@ if test "$HAVE_GCC_WARNING_ZERO_AS_NULL_POINTER_CONSTANT" = "yes"; then
AC_DEFINE_UNQUOTED(HAVE_GCC_WARNING_ZERO_AS_NULL_POINTER_CONSTANT, 1,
[Define to 1 if the compiler supports -Wzero-as-null-pointer-constant])
fi
AC_LANG_POP([C++])
dnl ---------------------------------------------------------------------------
@@ -360,7 +359,4 @@ fi
AC_CONFIG_FILES([proj.pc])
dnl Ignore WARNING: 'proj.pc.in' seems to ignore the --datarootdir setting
AC_DEFUN([AC_DATAROOTDIR_CHECKED])
AC_OUTPUT
+21 -2
View File
@@ -3,7 +3,8 @@ DATAPATH = $(top_srcdir)/data
pkgdata_DATA = proj.ini GL27 nad.lst nad27 nad83 world other.extra \
CH \
ITRF2000 ITRF2008 ITRF2014 proj.db \
projjson.schema.json
projjson.schema.json \
deformation_model.schema.json
SQL_ORDERED_LIST = sql/begin.sql \
sql/proj_db_table_defs.sql \
@@ -43,6 +44,7 @@ EXTRA_DIST = proj.ini GL27 nad.lst nad27 nad83 \
CH \
ITRF2000 ITRF2008 ITRF2014 \
projjson.schema.json \
deformation_model.schema.json \
CMakeLists.txt \
tests/test_nodata.gtx \
tests/test_vgrid_bigendian_bigtiff.tif \
@@ -89,6 +91,7 @@ EXTRA_DIST = proj.ini GL27 nad.lst nad27 nad83 \
tests/us_noaa_geoid06_ak_subset_at_antimeridian.tif \
tests/test_hgrid_little_endian.gsb \
tests/test_hgrid_big_endian.gsb \
tests/test_3d_grid_projected.tif \
tests/BETA2007.gsb \
tests/MD \
tests/alaska \
@@ -97,6 +100,22 @@ EXTRA_DIST = proj.ini GL27 nad.lst nad27 nad83 \
tests/ntv1_can.dat \
tests/ntv2_0_downsampled.gsb \
tests/ntf_r93.gsb \
tests/simple_model_degree_3d_grid.tif \
tests/simple_model_degree_horizontal.json \
tests/simple_model_degree_3d.json \
tests/simple_model_metre_3d_grid.tif \
tests/simple_model_metre_horizontal.json \
tests/simple_model_metre_3d.json \
tests/simple_model_metre_3d_geocentric.json \
tests/simple_model_metre_vertical_grid.tif \
tests/simple_model_metre_vertical.json \
tests/simple_model_polar.json \
tests/simple_model_polar.tif \
tests/simple_model_wrap_east.json \
tests/simple_model_wrap_east.tif \
tests/simple_model_wrap_west.json \
tests/simple_model_wrap_west.tif \
tests/simple_model_projected.json \
generate_all_sql_in.cmake sql_filelist.cmake \
$(SQL_ORDERED_LIST)
@@ -135,7 +154,7 @@ proj.db: $(DATAPATH)/sql/*.sql
echo "" | head -c1; \
if [ $$? -eq 0 ] ; then \
echo "Running foreign_key_check"; \
if [[ $$(echo "pragma foreign_key_check;" | sqlite3 proj.db | head -c1 | wc -c) -ne 0 ]]; then \
if [ $$(echo "pragma foreign_key_check;" | sqlite3 proj.db | head -c1 | wc -c) -ne 0 ]; then \
echo "Foreign key check failed"; \
$(RM) proj.db; \
exit 1; \
+582
View File
@@ -0,0 +1,582 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"description": "Schema for deformation models",
"type": "object",
"properties": {
"file_type": {
"type": "string",
"enum": [
"deformation_model_master_file"
],
"description": "File type. Always \"deformation_model_master_file\""
},
"format_version": {
"type": "string",
"enum": [
"1.0"
]
},
"name": {
"type": "string",
"description": "A brief descriptive name of the deformation model"
},
"version": {
"type": "string",
"description": "A string identifying the version of the deformation model. The format for specifying version will be defined by the agency responsible for the deformation model"
},
"publication_date": {
"$ref": "#/definitions/datetime",
"description": "The date on which this version of the deformation model was published (or possibly the date on which it takes effect?)"
},
"license": {
"type": "string",
"description": "License under which the model is published"
},
"description": {
"type": "string",
"description": "A text description of the model"
},
"authority": {
"type": "object",
"description": "Basic information about the agency responsible for the data set",
"properties": {
"name": {
"type": "string",
"description": "The name of the agency"
},
"url": {
"type": "string",
"description": "The url of the agency website",
"format": "uri"
},
"address": {
"type": "string",
"description": "The postal address of the agency"
},
"email": {
"type": "string",
"description": "An email contact address for the agency",
"format": "email"
}
},
"required": [
"name"
],
"additionalProperties": false
},
"links": {
"type": "array",
"description": "Links to related information",
"items": {
"type": "object",
"properties": {
"href": {
"type": "string",
"description": "The URL holding the information",
"format": "uri"
},
"rel": {
"type": "string",
"description": "The relationship to the dataset. Proposed relationships are:\n- \"about\": a web page for human consumption describing the model\n- \"source\": the authoritative source data from which the deformation model is built.\n- \"metadata\": ISO 19115 XML metadata regarding the deformation model."
},
"type": {
"type": "string",
"description": "MIME type"
},
"title": {
"type": "string",
"description": "Description of the link"
}
},
"required": [
"href"
],
"additionalProperties": false
}
},
"source_crs": {
"$ref": "#/definitions/crs",
"description": "The coordinate reference system to which the deformation model applies"
},
"target_crs": {
"$ref": "#/definitions/crs",
"description": "For a time dependent coordinate transformation the coordinate reference system resulting from applying the deformation"
},
"definition_crs": {
"$ref": "#/definitions/crs",
"description": "The coordinate reference system used to define the component spatial models. This proposal only supports using the same value for the source and definition coordinate reference system."
},
"reference_epoch": {
"$ref": "#/definitions/datetime",
"description": "A nominal reference epoch of the deformation model. This is not necessarily used to calculate the deformation model - each component defines its own time function."
},
"uncertainty_reference_epoch": {
"$ref": "#/definitions/datetime",
"description": "The uncertainties of the deformation model are calculated in terms of this epoch. This is described below in the Time functions section."
},
"horizontal_offset_unit": {
"type": "string",
"enum": [
"metre",
"degree"
]
},
"vertical_offset_unit": {
"type": "string",
"enum": [
"metre"
]
},
"horizontal_uncertainty_type": {
"type": "string",
"enum": [
"circular 95% confidence limit"
]
},
"horizontal_uncertainty_unit": {
"type": "string",
"enum": [
"metre"
]
},
"vertical_uncertainty_type": {
"type": "string",
"enum": [
"95% confidence limit"
]
},
"vertical_uncertainty_unit": {
"type": "string",
"enum": [
"metre"
]
},
"horizontal_offset_method": {
"type": "string",
"description": "Defines how the horizontal offsets are applied to geographic coordinates",
"enum": [
"addition",
"geocentric"
]
},
"extent": {
"$ref": "#/definitions/extent",
"description": "Defines the region within which the deformation model is defined. It cannot be calculated outside this region. The region is specified by a type and value. This proposal only supports using a bounding box as an array of [west,south,east,north] coordinate values"
},
"time_extent": {
"type": "object",
"description": "Defines the range of times for which the model is valid, specified by a first and a last value. The deformation model is undefined for dates outside this range.",
"properties": {
"first": {
"$ref": "#/definitions/datetime"
},
"last": {
"$ref": "#/definitions/datetime"
}
},
"required": [
"first",
"last"
],
"additionalProperties": false
},
"components": {
"type": "array",
"items": {
"$ref": "#/definitions/component"
}
}
},
"required": [
"file_type",
"format_version",
"source_crs",
"target_crs",
"definition_crs",
"extent",
"time_extent",
"components"
],
"additionalProperties": false,
"definitions": {
"component": {
"type": "object",
"definition": "A component describes an aspect of the deformation, such as glacial isostatic adjustment, secular deformation, earthquakes, etc.",
"properties": {
"description": {
"type": "string",
"description": "A text description of this component of the model"
},
"extent": {
"$ref": "#/definitions/extent",
"description": "The region within the component is defined. Outside this region the component evaluates to 0. The region is specified by a type and value. This proposal only supports using a bounding box as an array of [west,south,east,north] coordinate values"
},
"displacement_type": {
"type": "string",
"description": "The displacement parameters defined by the model. The \"none\" option allows for a component which defines uncertainty with different grids to those defining displacement",
"enum": [
"none",
"horizontal",
"vertical",
"3d"
]
},
"uncertainty_type": {
"type": "string",
"description": "The uncertainty parameters defined by the model",
"enum": [
"none",
"horizontal",
"vertical",
"3d"
]
},
"horizontal_uncertainty": {
"type": "number",
"description": "The horizontal uncertainty to use if it is not defined explicitly in the spatial model"
},
"vertical_uncertainty": {
"type": "number",
"description": "The vertical uncertainty to use if it is not defined explicitly in the spatial model"
},
"spatial_model": {
"type": "object",
"description": "Defines the spatial model",
"properties": {
"type": {
"type": "string",
"description": "Specifies the type of the spatial model data file. Initially it is proposed that only GeoTIFF is supported",
"enum": [
"GeoTIFF"
]
},
"interpolation_method": {
"type": "string",
"description": "Interpolation method",
"enum": [
"bilinear",
"geocentric_bilinear"
]
},
"filename": {
"type": "string",
"description": "Specifies location of the spatial model GeoTIFF file relative to this JSON file"
},
"md5_checksum": {
"type": "string",
"description": "A hex encoded MD5 checksum of the grid file that can be used to validate that it is the correct version of the file"
}
},
"required": [
"type",
"interpolation_method",
"filename"
],
"additionalProperties": false
},
"time_function": {
"$ref": "#/definitions/time_function"
}
},
"required": [
"description",
"extent",
"displacement_type",
"spatial_model",
"time_function"
],
"additionalProperties": false
},
"crs": {
"type": "string",
"pattern": "^[a-zA-Z]+:[a-zA-Z0-9]+$"
},
"datetime": {
"type": "string",
"format": "date-time",
"pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$"
},
"extent": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"bbox"
]
},
"parameters": {
"type": "object",
"properties": {
"bbox": {
"type": "array",
"minItems": 4,
"maxItems": 4,
"items": {
"type": "number"
}
}
}
}
},
"required": [
"type",
"parameters"
],
"additionalProperties": false
},
"time_function": {
"description": "Function describing a multiplicative factor to apply to the spatial_model depending on the time",
"oneOf": [
{
"$ref": "#/definitions/time_function_constant"
},
{
"$ref": "#/definitions/time_function_velocity"
},
{
"$ref": "#/definitions/time_function_step"
},
{
"$ref": "#/definitions/time_function_reverse_step"
},
{
"$ref": "#/definitions/time_function_piecewise"
},
{
"$ref": "#/definitions/time_function_exponential"
}
]
},
"time_function_constant": {
"description": "The valuation of this function is 1 at any epoch",
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"constant"
]
},
"parameters": {
"type": "object",
"properties": {
},
"additionalProperties": false
}
},
"required": [
"type"
],
"additionalProperties": false
},
"time_function_velocity": {
"description": "The valuation of this function is 0 at reference_epoch, and proportional to the time difference to it at other times",
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"velocity"
]
},
"parameters": {
"type": "object",
"properties": {
"reference_epoch": {
"$ref": "#/definitions/datetime"
}
},
"required": [
"reference_epoch"
],
"additionalProperties": false
}
},
"required": [
"type",
"parameters"
],
"additionalProperties": false
},
"time_function_step": {
"description": "The valuation of this function is 0 before step_epoch, and 1 starting from it",
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"step"
]
},
"parameters": {
"type": "object",
"properties": {
"step_epoch": {
"$ref": "#/definitions/datetime"
}
},
"required": [
"step_epoch"
],
"additionalProperties": false
}
},
"required": [
"type",
"parameters"
],
"additionalProperties": false
},
"time_function_reverse_step": {
"description": "The valuation of this function is 1 before step_epoch, and 0 starting from it",
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"reverse_step"
]
},
"parameters": {
"type": "object",
"properties": {
"step_epoch": {
"$ref": "#/definitions/datetime"
}
},
"required": [
"step_epoch"
],
"additionalProperties": false
}
},
"required": [
"type",
"parameters"
],
"additionalProperties": false
},
"time_function_piecewise": {
"description": "Piecewise time function",
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"piecewise"
]
},
"parameters": {
"type": "object",
"properties": {
"before_first": {
"type": "string",
"description": "Defines the behaviour of the function before the first defined epoch",
"enum": [
"zero",
"constant",
"linear"
]
},
"after_last": {
"type": "string",
"description": "Defines the behaviour of the function after the last defined epoch",
"enum": [
"zero",
"constant",
"linear"
]
},
"model": {
"type": "array",
"description": "A sorted array data points each defined by two elements, \"epoch\" defines the date/time of the data point, and \"scale_factor\" is the corresponding function value. The array is sorted in order of increasing epoch. Note: where the time function includes a step it is represented by two consecutive data points with the same epoch. The first defines the scale factor that applies before the epoch and the second the scale factor that applies after the epoch",
"items": {
"type": "object",
"properties": {
"epoch": {
"$ref": "#/definitions/datetime"
},
"scale_factor": {
"type": "number"
}
},
"required": [
"epoch",
"scale_factor"
],
"additionalProperties": false
},
"minItems": 2
}
},
"required": [
"before_first",
"after_last",
"model"
],
"additionalProperties": false
}
},
"required": [
"type",
"parameters"
],
"additionalProperties": false
},
"time_function_exponential": {
"description": "The valuation of this function is an exponential function with a time-based relaxation constant",
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"exponential"
]
},
"parameters": {
"type": "object",
"properties": {
"reference_epoch": {
"$ref": "#/definitions/datetime",
"description": "The date/time at which the exponential decay starts"
},
"end_epoch": {
"$ref": "#/definitions/datetime",
"description": "The date/time at which the exponential decay ends (optional)"
},
"relaxation_constant": {
"type": "number",
"description": "Relaxation constant in years"
},
"before_scale_factor": {
"type": "number",
"description": "The scale factor that applies before the reference epoch"
},
"initial_scale_factor": {
"type": "number",
"description": "The initial scale factor"
},
"final_scale_factor": {
"type": "number",
"description": "The scale factor the exponential function approaches"
}
},
"required": [
"reference_epoch",
"relaxation_constant",
"before_scale_factor",
"initial_scale_factor",
"final_scale_factor"
],
"additionalProperties": false
}
},
"required": [
"type",
"parameters"
],
"additionalProperties": false
}
}
}
+10 -2
View File
@@ -3,10 +3,10 @@
;
; Network capabilities disabled by default.
; Can be overriden with the PROJ_NETWORK=ON environment variable.
; Can be overridden with the PROJ_NETWORK=ON environment variable.
; network = on
; Can be overriden with the PROJ_NETWORK_ENDPOINT environment variable.
; Can be overridden with the PROJ_NETWORK_ENDPOINT environment variable.
cdn_endpoint = https://cdn.proj.org
cache_enabled = on
@@ -14,3 +14,11 @@ cache_enabled = on
cache_size_MB = 300
cache_ttl_sec = 86400
; Transverse Mercator (and UTM) default algorithm: auto, evenden_snyder or poder_engsager
; * evenden_snyder is the fastest, but less accurate far from central meridian
; * poder_engsager is slower, but more accurate far from central meridian
; * default will auto-select between the two above depending on the coordinate
; to transform and will use evenden_snyder if the error in doing so is below
; 0.1 mm (for an ellipsoid of the size of Earth)
tmerc_default_algo = poder_engsager
+9 -2
View File
@@ -1,7 +1,7 @@
{
"$id": "https://proj.org/schemas/v0.2/projjson.schema.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"description": "Schema for PROJJSON",
"description": "Schema for PROJJSON (v0.2.1)",
"$comment": "This file exists both in data/ and in schemas/vXXX/. Keep both in sync. And if changing the value of $id, change PROJJSON_CURRENT_VERSION accordingly in io.cpp",
"oneOf": [
@@ -756,7 +756,7 @@
"$schema" : { "type": "string" },
"type": { "type": "string", "enum": ["PrimeMeridian"] },
"name": { "type": "string" },
"longitude": { "$ref": "#/definitions/value_and_unit" },
"longitude": { "$ref": "#/definitions/value_in_degree_or_value_and_unit" },
"id": { "$ref": "#/definitions/id" },
"ids": { "$ref": "#/definitions/ids" }
},
@@ -912,6 +912,13 @@
"additionalProperties": false
},
"value_in_degree_or_value_and_unit": {
"oneOf": [
{ "type": "number" },
{ "$ref": "#/definitions/value_and_unit" }
]
},
"value_in_metre_or_value_and_unit": {
"oneOf": [
{ "type": "number" },
+84 -314
View File
@@ -296,6 +296,7 @@ INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','6652','IERS Terrestrial
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','6653','IERS Terrestrial Reference Frame 1994','EPSG');
INSERT INTO "alias_name" VALUES('vertical_datum','EPSG','5204','IGLD 1955','EPSG');
INSERT INTO "alias_name" VALUES('vertical_datum','EPSG','5205','IGLD 1985','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1271','MML07-IRF','EPSG');
INSERT INTO "alias_name" VALUES('vertical_datum','EPSG','5206','DVR90','EPSG');
INSERT INTO "alias_name" VALUES('vertical_datum','EPSG','1140','SHD','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','6758','JAD2001','EPSG');
@@ -346,7 +347,7 @@ INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1147','ONGD14','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1031','D48','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','6805','MGI (Ferro)','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1033','RGRDC 2005','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','6728','Pico de las Nieves','EPSG');
INSERT INTO "alias_name" VALUES('vertical_datum','EPSG','5207','HVRD71','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','6728','PN84','EPSG');
INSERT INTO "alias_name" VALUES('vertical_datum','EPSG','1027','EGM2008','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1152','WGS 84 (G730)','EPSG');
@@ -355,10 +356,19 @@ INSERT INTO "alias_name" VALUES('vertical_datum','EPSG','5203','EGM84','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1154','WGS 84 (G1150)','EPSG');
INSERT INTO "alias_name" VALUES('vertical_datum','EPSG','5171','EGM96','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1155','WGS 84 (G1674)','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1273','AbInvA96_2020-IRF','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','6903','Madrid','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1156','WGS 84 (G1762)','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1157','PZ-90.02','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1158','PZ-90.11','EPSG');
INSERT INTO "alias_name" VALUES('vertical_datum','EPSG','1274','EVRF2019','EPSG');
INSERT INTO "alias_name" VALUES('vertical_datum','EPSG','1275','REDNAP','EPSG');
INSERT INTO "alias_name" VALUES('vertical_datum','EPSG','1276','REDNAP','EPSG');
INSERT INTO "alias_name" VALUES('vertical_datum','EPSG','1277','REDNAP','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1160','Kyrg-06','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1286','PN68','EPSG');
INSERT INTO "alias_name" VALUES('vertical_datum','EPSG','1278','REDNAP','EPSG');
INSERT INTO "alias_name" VALUES('vertical_datum','EPSG','1279','REDNAP','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1165','ITRF2014','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','6818','Systém Jednotnej trigonometrickej siete katastrálnej (Ferro)','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1167','BGS2005','EPSG');
@@ -376,7 +386,7 @@ INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1173','WGS 84 Tritan St
INSERT INTO "alias_name" VALUES('vertical_datum','EPSG','1177','SHVD2015','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1180','ETRF91','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1178','ETRF89','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1178','EUREF89','EPSG');
INSERT INTO "alias_name" VALUES('vertical_datum','EPSG','1280','REDNAP','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1179','ETRF90','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1181','ETRF92','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1182','ETRF93','EPSG');
@@ -387,6 +397,7 @@ INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1186','ETRF2000','EPSG'
INSERT INTO "alias_name" VALUES('vertical_datum','EPSG','1176','MSL Tritan','EPSG');
INSERT INTO "alias_name" VALUES('vertical_datum','EPSG','1175','MSL 1971','EPSG');
INSERT INTO "alias_name" VALUES('vertical_datum','EPSG','1176','St. Helena Tritan 2011','EPSG');
INSERT INTO "alias_name" VALUES('vertical_datum','EPSG','1281','REDNAP','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1193','NAD83(CSRS)v2','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1187','ISN2016','EPSG');
INSERT INTO "alias_name" VALUES('vertical_datum','EPSG','1190','ISH2004','EPSG');
@@ -464,6 +475,7 @@ INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1237','SIRGAS Multi-Yea
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1238','SIRGAS-CON SIR11P01','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1238','SIRGAS Multi-Year Solution 2011','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1035','REGCAN95','EPSG');
INSERT INTO "alias_name" VALUES('vertical_datum','EPSG','1282','REDNAP','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','6761','HTRS96','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1047','RRAF91','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1251','KOSOVAREF12','EPSG');
@@ -482,8 +494,19 @@ INSERT INTO "alias_name" VALUES('vertical_datum','EPSG','1260','SRVN16','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','6160','Quiñi-Huao','EPSG');
INSERT INTO "alias_name" VALUES('vertical_datum','EPSG','1261','EVRF2000 Austria','EPSG');
INSERT INTO "alias_name" VALUES('vertical_datum','EPSG','1262','SA LLD','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1264','HS2-IRF','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1263','ONGD17','EPSG');
INSERT INTO "alias_name" VALUES('vertical_datum','EPSG','1269','KSA-VRF14','EPSG');
INSERT INTO "alias_name" VALUES('vertical_datum','EPSG','1265','HS2-VRF','EPSG');
INSERT INTO "alias_name" VALUES('vertical_datum','EPSG','5207','Croatian Vertical Reference System 1971','EPSG');
INSERT INTO "alias_name" VALUES('vertical_datum','EPSG','1255','NGNC08','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1268','KSA-GRF17','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1266','TPEN11-IRF','EPSG');
INSERT INTO "alias_name" VALUES('vertical_datum','EPSG','1283','REDNAP','EPSG');
INSERT INTO "alias_name" VALUES('vertical_datum','EPSG','1284','REDNAP','EPSG');
INSERT INTO "alias_name" VALUES('vertical_datum','EPSG','1285','REDNAP','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1243','SIRGAS-Chile 2010','EPSG');
INSERT INTO "alias_name" VALUES('vertical_datum','EPSG','1287','EVRF2019mean','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1042','Red Geodesica Nacional 1992','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1046','Morro do Papagaio','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1046','Island of Principe datum','EPSG');
@@ -600,18 +623,7 @@ INSERT INTO "alias_name" VALUES('projected_crs','EPSG','21150','Genuk / UTM zone
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22700','Levant / Levant Zone','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22770','Levant / Syria Lambert','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','22780','Levant / Levant Stereo','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','25828','ETRF89 / UTM zone 28N','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','25829','ETRF89 / UTM zone 29N','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','25830','ETRF89 / UTM zone 30N','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','25831','ETRF89 / UTM zone 31N','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','25832','ETRF89 / UTM zone 32N','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','25833','ETRF89 / UTM zone 33N','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','25834','ETRF89 / UTM zone 34N','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','25835','ETRF89 / UTM zone 35N','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','25836','ETRF89 / UTM zone 36N','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','25837','ETRF89 / UTM zone 37N','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','25838','ETRF89 / UTM zone 38N','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','25884','ETRF89 / TM Baltic93','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','27258','GD49 / UTM zone 58','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','27259','GD49 / UTM zone 59','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','27260','GD49 / UTM zone 60','EPSG');
@@ -1089,6 +1101,8 @@ INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2164','Cote d''Ivoire /
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2164','Port Bouet / TM 5 NW','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2165','Cote d''Ivoire / TM 5 NW','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2165','Port Bouet / TM 5 NW','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','9367','ETRS89 / TPEN11 SnakeGrid','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','9368','ETRS89 / TPEN11 SnakeGrid + Newlyn height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6696','JGD2000','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6697','JGD2011','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2393','KKJ / Basic Coordinate System zone 3','EPSG');
@@ -1107,7 +1121,7 @@ INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2167','Pulkovo 1942(83)
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','4181','LUREF','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','6791','NAD83(2011) / OCRS_BKF (ft)','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','8233','NAD83(CSRS98)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2180','EUREF89 / CS92','EPSG');
INSERT INTO "alias_name" VALUES('vertical_crs','EPSG','8881','Wiener Null','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','3906','HR1901','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','6795','NAD83(2011) / OCRS_BRP (ft)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','6794','NAD83(2011) / OCRS_BRP (m)','EPSG');
@@ -1127,11 +1141,8 @@ INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','4176','AAD98','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2193','NZGD2000 / NZTM','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','6802','NAD83(2011) / OCRS_CGP (m)','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','4300','1975 Mapping Adjustment','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2196','EUREF89 / Kp2000 Jutland','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2196','System 2000 Jylland zoner','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2197','EUREF89 / Kp2000 Zealand','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2197','System 2000 Sjaelland zoner','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2198','EUREF89 / Kp2000 Bornholm','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2198','System 2000 Bornholm zoner','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','6807','NAD83(2011) / OCRS_CRE (ft)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','6810','NAD83(2011) / OCRS_CRW (m)','EPSG');
@@ -1920,12 +1931,9 @@ INSERT INTO "alias_name" VALUES('vertical_crs','EPSG','5794','IGN 1955 height','
INSERT INTO "alias_name" VALUES('vertical_crs','EPSG','5795','IGN 1951 height','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3106','Gulshan / Bangladesh TM','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3108','ETRS89 / New Guernsey Grid','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3109','ETRF89 / Jersey Transverse Mercator','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3109','ETRS89 / JTM','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3109','ETRF89 / JTM','EPSG');
INSERT INTO "alias_name" VALUES('vertical_crs','EPSG','5713','CVD28 height','EPSG');
INSERT INTO "alias_name" VALUES('vertical_crs','EPSG','5713','Canadian Vertical Datum of 1928 height','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3108','ETRF89 / Guernsey Grid','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','6879','NAD83(2011) / WI C (m)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3110','Vicgrid','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','4994','New Luzon','EPSG');
@@ -2241,11 +2249,7 @@ INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3404','NAD83(HPGN) / Nor
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3414','SVY21 plane coordinate system','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3174','NAD83 / GLGIS Albers (basin)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3175','NAD83 / GLGIS Albers (basin+SLS)','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','7416','EUREF89 / UTM zone 32N + DVR90 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','7417','EUREF89 / UTM zone 33N + DVR90 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','7418','EUREF89 / Kp2000 Jutland + DVR90 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','7419','EUREF89 / Kp2000 Zealand + DVR90 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','7420','EUREF89 / Kp2000 Bornholm + DVR90 height','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','9373','ETRS89 / MML07 SnakeGrid','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3415','WGS 72BE / SCS Lambert','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3425','NAD83(HPGN) / Iowa North (ftUS)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3426','NAD83(HPGN) / Iowa South (ftUS)','EPSG');
@@ -2403,55 +2407,12 @@ INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3568','NAD83(HPGN) / Uta
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3569','NAD83(HPGN) / Utah Central (ftUS)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3570','NAD83(HPGN) / Utah South (ftUS)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3448','JAD2001 / Jamaica Metric Grid 2001','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3416','ETRF89 / Austria Lambert','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2176','ETRF89 / Poland CS2000 zone 5','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2177','ETRF89 / Poland CS2000 zone 6','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2178','ETRF89 / Poland CS2000 zone 7','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2179','ETRF89 / Poland CS2000 zone 8','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2180','ETRF89 / Poland CS92','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2196','ETRF89 / Kp2000 Jutland','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2197','ETRF89 / Kp2000 Zealand','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2198','ETRF89 / Kp2000 Bornholm','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2213','ETRF89 / TM 30 NE','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3034','ETRF89 / LCC','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3035','ETRF89 / LAEA','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','9374','ETRS89 / MML07 SnakeGrid + Newlyn height','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3038','ETRF89 / TM26','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3039','ETRF89 / TM27','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3040','ETRF89 / UTM zone 28N (N-E)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3041','ETRF89 / UTM zone 29N (N-E)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3042','ETRF89 / UTM zone 30N (N-E)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3043','ETRF89 / UTM zone 31N (N-E)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3044','ETRF89 / UTM zone 32N (N-E)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3045','ETRF89 / UTM zone 33N (N-E)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3046','ETRF89 / UTM zone 34N (N-E)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3047','ETRF89 / UTM zone 35N (N-E)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3048','ETRF89 / UTM zone 36N (N-E)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3049','ETRF89 / UTM zone 37N (N-E)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3050','ETRF89 / TM38','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3051','ETRF89 / TM39','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3067','ETRF89 / TM35FIN(E,N)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3126','ETRF89 / ETRS-GK19FIN','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3127','ETRF89 / ETRS-GK20FIN','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3128','ETRF89 / ETRS-GK21FIN','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3129','ETRF89 / ETRS-GK22FIN','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3130','ETRF89 / ETRS-GK23FIN','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3131','ETRF89 / ETRS-GK24FIN','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3132','ETRF89 / ETRS-GK25FIN','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3133','ETRF89 / ETRS-GK26FIN','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3134','ETRF89 / ETRS-GK27FIN','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3135','ETRF89 / ETRS-GK28FIN','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3136','ETRF89 / ETRS-GK29FIN','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3137','ETRF89 / ETRS-GK30FIN','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3138','ETRF89 / ETRS-GK31FIN','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3145','ETRF89 / Faroe Lambert','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3447','ETRF89 / Belgian Lambert 2005','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','7409','ETRF89 + EVRF2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','7416','ETRF89 / UTM zone 32N + DVR90 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','7417','ETRF89 / UTM zone 33N + DVR90 height','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','6922','NAD83 / Kansas LCC (m)','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','7418','ETRF89 / Kp2000 Jutland + DVR90 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','7419','ETRF89 / Kp2000 Zealand + DVR90 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','7420','ETRF89 / Kp2000 Bornholm + DVR90 height','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','6924','NAD83(2011) / Kansas LCC (m)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3396','PD/83 / Gauss-Kruger zone 3','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3463','Maine Coordinate System of 2000 Central Zone','EPSG');
@@ -2616,7 +2577,6 @@ INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3546','KY1Z','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3547','NAD83(NSRS) / KY1Z (ftUS)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3547','KY1Z','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3447','BE_ETRS89 / LB05','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3763','ETRF89 / Portugal TM06','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3765','HTRS96 / TM','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3766','HTRS96 / LCC','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3770','BNG2000','EPSG');
@@ -2761,12 +2721,13 @@ INSERT INTO "alias_name" VALUES('projected_crs','EPSG','26862','NAD83(HPGN) / We
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3800','NAD27 / Alberta 3TM ref merid 120','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3801','NAD83 / Alberta 3TM ref merid 120','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3802','NAD83(CSRS) / Alberta 3TM ref merid 120','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3812','ETRF89 / Belgian Lambert 2008','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','9378','727','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3812','ETRS89 / Lambert 2008','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3814','NAD83 / MSTM','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3815','NAD83(HARN) / MSTM','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3815','NAD83(HPGN) / Mississippi TM','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3816','NAD83(NSRS2007) / MSTM','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','9378','IGb14 - XYZ','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3812','ETRS89 / LB08','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3447','ETRS89 / LB05','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','31370','BD 72 / LB72','EPSG');
@@ -2820,7 +2781,7 @@ INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2058','ED50(ED77) / UTM
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2059','ED50(ED77) / UTM 39N','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2060','ED50(ED77) / UTM 40N','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2061','ED50(ED77) / UTM 41N','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2062','Madrid (Madrid) / Spain','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2062','Madrid (Madrid) / Spain LCC','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2063','Dabola 1981 / UTM 28N','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2064','Dabola 1981 / UTM 29N','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2104','Lake / La Rosa Grid','EPSG');
@@ -4270,8 +4231,11 @@ INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3085','NAD83(HARN) / TX
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3091','KY1Z','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3090','NAD83(HARN) / KY1Z','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3088','NAD83 / KY1Z (m)','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','7423','ETRF89 + EVRF2007 height','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','9379','726','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3857','WGS 84 / Popular Visualisation Pseudo-Mercator','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','9379','IGb14 - LatLonEHt','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','9380','725','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','9380','IGb14 - LatLon','EPSG');
INSERT INTO "alias_name" VALUES('vertical_crs','EPSG','3886','National Elevation Network height','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3893','ED50 / Iraq Nat. Grid','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','4743','Karbala 1979 (Polservice)','EPSG');
@@ -4641,9 +4605,9 @@ INSERT INTO "alias_name" VALUES('projected_crs','EPSG','7535','NAD83(2011) / WIS
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','7535','NAD83(2011) / WISCRS Fond du Lac (m)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','7561','WISCRS Menominee (m)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','7548','WISCRS Grant (m)','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','4728','Pico de las Nieves','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','4728','PN84','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','4728','Pico de las Nieves 1984','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','7538','WISCRS Columbia (m)','EPSG');
INSERT INTO "alias_name" VALUES('vertical_crs','EPSG','5610','HR_HRVD71 / NOH','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','7580','WISCRS Walworth (m)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','7562','WISCRS Monroe (m)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','7564','WISCRS Oneida (m)','EPSG');
@@ -4774,15 +4738,10 @@ INSERT INTO "alias_name" VALUES('projected_crs','EPSG','7631','WISCRS Sauk (ftUS
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','7617','WISCRS Lincoln (ftUS)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','7638','WISCRS Vilas (ftUS)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','7618','WISCRS Marathon (ftUS)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','4093','ETRF89 / DKTM1','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','4093','EUREF89 / DKTM1','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','7639','WISCRS Walworth (ftUS)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','4094','ETRF89 / DKTM2','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','4094','EUREF89 / DKTM2','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','4095','ETRF89 / DKTM3','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','4095','EUREF89 / DKTM3','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','4096','ETRF89 / DKTM4','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','4096','EUREF89 / DKTM4','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','9377','MAGNA-SIRGAS / CTM12','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','9387','ETRS89 / AbInvA96_2020 SnakeGrid','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','9388','ETRS89 / AbInvA96_2020 SnakeGrid + Newlyn height','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','7640','WISCRS Washburn (ftUS)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','7641','WISCRS Washington (ftUS)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','7642','WISCRS Waukesha (ftUS)','EPSG');
@@ -4791,20 +4750,19 @@ INSERT INTO "alias_name" VALUES('projected_crs','EPSG','7644','WISCRS Waushara (
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','7645','WISCRS Wood (ftUS)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','6316','Macedonia State Coordinate System zone 7','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3857','Web Mercator','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','4099','ETRF89 / DKTM3 + DVR90 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','4099','EUREF89 / DKTM3 + DVR90 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','4097','ETRF89 / DKTM1 + DVR90 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','4097','EUREF89 / DKTM1 + DVR90 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','4098','ETRF89 / DKTM2 + DVR90 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','4098','EUREF89 / DKTM2 + DVR90 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','4100','ETRF89 / DKTM4 + DVR90 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','4100','EUREF89 / DKTM4 + DVR90 height','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','9391','BGS2005 / UTM zone 35 (E-N)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5634','REGCAN95 - LCC','EPSG');
INSERT INTO "alias_name" VALUES('vertical_crs','EPSG','9400','REDNAP height','EPSG');
INSERT INTO "alias_name" VALUES('vertical_crs','EPSG','9389','EVRF2019_AMST / NH','EPSG');
INSERT INTO "alias_name" VALUES('vertical_crs','EPSG','9392','REDNAP height','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','7692','Kyrg06-68','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','7693','Kyrg06-71','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','7694','Kyrg06-74','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','7695','Kyrg06-77','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','7696','Kyrg06-80','EPSG');
INSERT INTO "alias_name" VALUES('vertical_crs','EPSG','7700','LAS-2000 height','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5635','REGCAN95 - LAEA','EPSG');
INSERT INTO "alias_name" VALUES('vertical_crs','EPSG','9401','REDNAP height','EPSG');
INSERT INTO "alias_name" VALUES('vertical_crs','EPSG','5754','Poolbeg height','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','7791','RDN2008 / UTM zone 32N (E-N)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','7792','RDN2008 / TM33 (E-N)','EPSG');
@@ -4815,7 +4773,7 @@ INSERT INTO "alias_name" VALUES('projected_crs','EPSG','7800','CS2005 zone 35','
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','7794','RDN2008 / Fuso Italia (E-N)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','7795','RDN2008 / Fuso 12 (E-N)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','7799','CS2005 zone 34','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','7799','Coordinate System 2005 zone 35','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','7799','Coordinate System 2005 zone 34','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','7815','WGS 84 (Original)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','7800','Coordinate System 2005 zone 35','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','7803','BGS2005 / UTM zone 34N (E-N)','EPSG');
@@ -4852,6 +4810,7 @@ INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','4919','419','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','4919','ITRF2000 - XYZ','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','4918','349','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','7887','SHGD2015 / UTM zone 30S','EPSG');
INSERT INTO "alias_name" VALUES('vertical_crs','EPSG','9393','REDNAP height','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','7887','St. Helena Map Grid 2015','EPSG');
INSERT INTO "alias_name" VALUES('vertical_crs','EPSG','7888','MSL 1971 height','EPSG');
INSERT INTO "alias_name" VALUES('vertical_crs','EPSG','7889','MSL Tritan height','EPSG');
@@ -4868,6 +4827,7 @@ INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2315','Campo Inchauspe /
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2316','Campo Inchauspe /UTM 20S','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','7992','Malongo 1987 / UTM 33S','EPSG');
INSERT INTO "alias_name" VALUES('vertical_crs','EPSG','7976','Hong Kong Principal Datum depth','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2062','Madrid - LCC','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','8042','S-SC','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','8042','Stable Cadastre','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','8043','Stable cadastre','EPSG');
@@ -6091,11 +6051,30 @@ INSERT INTO "alias_name" VALUES('projected_crs','EPSG','9285','Pampa del Castill
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','9285','Pampa del Castillo / Argentina zone 3','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','4289','RD-Bessel','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','4776','New Beijing / 3GK zone 40','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','9306','ETRS89 / HS2P1+14 Snake + HS2-VRF height','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','4777','New Beijing / 3GK zone 41','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','9300','ETRS89 / HS2P1+14 Snake','EPSG');
INSERT INTO "alias_name" VALUES('vertical_crs','EPSG','5753','NGNC height','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','9311','US National Atlas EA','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','9354','WGS 84 / IBCSO PS','EPSG');
INSERT INTO "alias_name" VALUES('vertical_crs','EPSG','9394','REDNAP height','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','31289','MGI (Ferro) / M31','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','31290','MGI (Ferro) / M34','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','31288','MGI (Ferro) / M28','EPSG');
INSERT INTO "alias_name" VALUES('vertical_crs','EPSG','9402','REDNAP height','EPSG');
INSERT INTO "alias_name" VALUES('vertical_crs','EPSG','9395','REDNAP height','EPSG');
INSERT INTO "alias_name" VALUES('vertical_crs','EPSG','9396','REDNAP height','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','9403','Pico de las Nieves 1968','EPSG');
INSERT INTO "alias_name" VALUES('vertical_crs','EPSG','9397','REDNAP height','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','4903','Madrid','EPSG');
INSERT INTO "alias_name" VALUES('vertical_crs','EPSG','9398','REDNAP height','EPSG');
INSERT INTO "alias_name" VALUES('vertical_crs','EPSG','9399','REDNAP height','EPSG');
INSERT INTO "alias_name" VALUES('vertical_crs','EPSG','8690','SI_KOP / NH','EPSG');
INSERT INTO "alias_name" VALUES('vertical_crs','EPSG','5195','SI_TRIE / NOH','EPSG');
INSERT INTO "alias_name" VALUES('vertical_crs','EPSG','5195','MK_TRIE / NOH','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','4826','WGS 84 / Cape Verde New','EPSG');
INSERT INTO "alias_name" VALUES('vertical_crs','EPSG','9390','EVRF2019mean_AMST / NH','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','9450','ETRS89 + Belfast Lough height','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','4647','ETRS89 / UTM zone 32N','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','4824','Morro do Papagaio','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','4824','Island of Principe datum','EPSG');
@@ -6250,48 +6229,35 @@ INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5018','Lisbon 1937 / Por
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2083','Hito XVIII / Argentina 2','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2081','Chos Malal / Argentina 2','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2393','YKG','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','7405','OSGB36 / British National Grid + ODN height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','7405','OSGB 1936 / British National Grid + Newlyn height','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3067','ETRS89 / TM35FIN','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3067','ETRS89-TM35FIN(E,N)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3067','ETRS-TM35FIN(E,N)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3873','ETRF89 / GK19FIN','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3873','ETRS89-GK19FIN','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3873','ETRS-GK19FIN','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3874','ETRF89 / GK20FIN','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3874','ETRS89-GK20FIN','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3874','ETRS-GK20FIN','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3875','ETRS89-GK21FIN','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3875','ETRF89 / GK21FIN','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3875','ETRS-GK21FIN','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3876','ETRF89 / GK22FIN','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3876','ETRS89-GK22FIN','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3876','ETRS-GK22FIN','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3877','ETRF89 / GK23FIN','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3877','ETRS89-GK23FIN','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3877','ETRS-GK23FIN','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3878','ETRF89 / GK24FIN','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3878','ETRS89-GK24FIN','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3878','ETRS-GK24FIN','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3879','ETRS89-GK25FIN','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3879','ETRF89 / GK25FIN','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3879','ETRS-GK25FIN','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3880','ETRF89 / GK26FIN','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3880','ETRS89-GK26FIN','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3880','ETRS-GK26FIN','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3881','ETRF89 / GK27FIN','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3881','ETRS89-GK27FIN','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3881','ETRS-GK27FIN','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3882','ETRF89 / GK28FIN','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3882','ETRS89-GK28FIN','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3882','ETRS-GK28FIN','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3883','ETRF89 / GK29FIN','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3883','ETRS89-GK29FIN','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3883','ETRS-GK29FIN','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3884','ETRF89 / GK30FIN','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3884','ETRS89-GK30FIN','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3884','ETRS-GK30FIN','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3885','ETRS-GK31FIN','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3885','ETRF89 / GK31FIN','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3885','ETRS89-GK31FIN','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','3903','ETRS-TM35FIN(N,E)/N2000','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','3903','ETRS89-TM35FIN(N,E)/N2000','EPSG');
@@ -6299,63 +6265,10 @@ INSERT INTO "alias_name" VALUES('compound_crs','EPSG','3901','YKJ/N60','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','3901','YKJ + N60 height','EPSG');
INSERT INTO "alias_name" VALUES('vertical_crs','EPSG','3900','N2000','EPSG');
INSERT INTO "alias_name" VALUES('vertical_crs','EPSG','5717','N60','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5048','ETRF89 / TM35FIN(N,E)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5048','ETRS89-TM35FIN(N,E)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5048','ETRS-TM35FIN(N,E)','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','3902','ETRS89-TM35FIN(N,E)/N60','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','3902','ETRS-TM35FIN(N,E)/N60','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5120','ETRF89 / NTM zone 20','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5120','EUREF89 / NTM zone 20','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5123','ETRF89 / NTM zone 23','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5123','EUREF89 / NTM zone 23','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5124','ETRF89 / NTM zone 24','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5124','EUREF89 / NTM zone 24','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5125','ETRF89 / NTM zone 25','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5125','EUREF89 / NTM zone 25','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5126','ETRF89 / NTM zone 26','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5126','EUREF89 / NTM zone 26','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5129','ETRF89 / NTM zone 29','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5129','EUREF89 / NTM zone 29','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5130','ETRF89 / NTM zone 30','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5130','EUREF89 / NTM zone 30','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5105','ETRF89 / NTM zone 5','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5105','EUREF89 / NTM zone 5','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5106','ETRF89 / NTM zone 6','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5106','EUREF89 / NTM zone 6','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5107','ETRF89 / NTM zone 7','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5107','EUREF89 / NTM zone 7','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5108','ETRF89 / NTM zone 8','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5108','EUREF89 / NTM zone 8','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5109','ETRF89 / NTM zone 9','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5109','EUREF89 / NTM zone 9','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5110','ETRF89 / NTM zone 10','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5110','EUREF89 / NTM zone 10','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5111','ETRF89 / NTM zone 11','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5111','EUREF89 / NTM zone 11','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5112','ETRF89 / NTM zone 12','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5112','EUREF89 / NTM zone 12','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5113','ETRF89 / NTM zone 13','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5113','EUREF89 / NTM zone 13','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5114','ETRF89 / NTM zone 14','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5114','EUREF89 / NTM zone 14','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5115','ETRF89 / NTM zone 15','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5115','EUREF89 / NTM zone 15','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5116','ETRF89 / NTM zone 16','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5116','EUREF89 / NTM zone 16','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5117','ETRF89 / NTM zone 17','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5117','EUREF89 / NTM zone 17','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5118','ETRF89 / NTM zone 18','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5118','EUREF89 / NTM zone 18','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5119','ETRF89 / NTM zone 19','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5119','EUREF89 / NTM zone 19','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5121','ETRF89 / NTM zone 21','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5121','EUREF89 / NTM zone 21','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5122','ETRF89 / NTM zone 22','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5122','EUREF89 / NTM zone 22','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5127','ETRF89 / NTM zone 27','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5127','EUREF89 / NTM zone 27','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5128','ETRF89 / NTM zone 28','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5128','EUREF89 / NTM zone 28','EPSG');
INSERT INTO "alias_name" VALUES('vertical_crs','EPSG','5781','RO_CONST / NH','EPSG');
INSERT INTO "alias_name" VALUES('vertical_crs','EPSG','5705','LT_KRON / NH','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5181','Korea 2000 / Central','EPSG');
@@ -6429,9 +6342,7 @@ INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5302','DRUKREF 03 / S Jo
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5309','DRUKREF 03 / Wangdue TM','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5300','DRUKREF 03 / P-Gatsh TM','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5306','DRUKREF 03 / T-Gang TM','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5318','ETRF89 / Faroe TM + FVR09 height','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5316','ETRS89 / FOTM','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5316','ETRF89 / Faroe TM','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5224','S-JTSK/05 (F) / ModKrovak','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5225','S-JTSK/05 (F) / ModKrovakEN','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5221','S-JTSK (F) / Krovak EN','EPSG');
@@ -6554,7 +6465,6 @@ INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5596','FCS','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5598','FCS + FCSVR10 height','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5624','NAD27 / Michigan Old Cen','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3040','ETRS89 / TM28','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','4647','ETRF89 / UTM zone 32N (zE-N)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5646','NAD83 / VT (ftUS)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5654','NAD83(HPGN) / Vermont (ftUS)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5654','NAD83(HARN) / VT (ftUS)','EPSG');
@@ -6649,16 +6559,10 @@ INSERT INTO "alias_name" VALUES('vertical_crs','EPSG','5862','Lower Low Water La
INSERT INTO "alias_name" VALUES('vertical_crs','EPSG','5874','High Tide height','EPSG');
INSERT INTO "alias_name" VALUES('vertical_crs','EPSG','5873','Low Tide depth','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5649','ETRS89 / UTM zone 31','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5649','ETRF89 / UTM zone 31N (zE-N)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5651','ETRS89 / UTM zone 31','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5651','ETRF89 / UTM zone 31N (N-zE)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5652','ETRF89 / UTM zone 32N (N-zE)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5652','ETRS89 / UTM zone 32N','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5650','ETRF89 / UTM zone 33N (zE-N)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5650','ETRS89 / UTM zone 33N','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5653','ETRF89 / UTM zone 33N (N-zE)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5653','ETRS89 / UTM zone 33N','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','4839','ETRF89 / LCC Germany (N-E)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5879','Cadastre 1997 / UTM 38S','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5887','TGD2005 / TMG','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5890','JAXA Snow Depth PS North','EPSG');
@@ -6682,68 +6586,12 @@ INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5938','WGS 84 / EPSG Gre
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5939','WGS 84 / EPSG Norway PS','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5940','WGS 84 / EPSG Russia PS','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','5930','WGS 84 / EPSG Arctic B5','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5945','ETRF89 / NTM zone 5 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5945','EUREF89 / NTM zone 5 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5946','ETRF89 / NTM zone 6 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5946','EUREF89 / NTM zone 6 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5947','ETRF89 / NTM zone 7 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5947','EUREF89 / NTM zone 7 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5949','ETRF89 / NTM zone 9 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5949','EUREF89 / NTM zone 9 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5950','ETRF89 / NTM zone 10 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5950','EUREF89 / NTM zone 10 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5951','ETRF89 / NTM zone 11 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5951','EUREF89 / NTM zone 11 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5952','ETRF89 / NTM zone 12 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5952','EUREF89 / NTM zone 12 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5953','ETRF89 / NTM zone 13 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5953','EUREF89 / NTM zone 13 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5954','ETRF89 / NTM zone 14 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5954','EUREF89 / NTM zone 14 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5955','ETRF89 / NTM zone 15 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5955','EUREF89 / NTM zone 15 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5956','ETRF89 / NTM zone 16 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5956','EUREF89 / NTM zone 16 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5957','ETRF89 / NTM zone 17 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5957','EUREF89 / NTM zone 17 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5958','ETRF89 / NTM zone 18 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5958','EUREF89 / NTM zone 18 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5959','ETRF89 / NTM zone 19 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5959','EUREF89 / NTM zone 19 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5960','ETRF89 / NTM zone 20 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5960','EUREF89 / NTM zone 20 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5961','ETRF89 / NTM zone 21 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5961','EUREF89 / NTM zone 21 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5962','ETRF89 / NTM zone 22 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5962','EUREF89 / NTM zone 22 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5963','ETRF89 / NTM zone 23 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5963','EUREF89 / NTM zone 23 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5964','ETRF89 / NTM zone 24 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5964','EUREF89 / NTM zone 24 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5965','ETRF89 / NTM zone 25 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5965','EUREF89 / NTM zone 25 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5967','ETRF89 / NTM zone 27 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5967','EUREF89 / NTM zone 27 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5966','ETRF89 / NTM zone 26 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5966','EUREF89 / NTM zone 26 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5968','ETRF89 / NTM zone 28 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5968','EUREF89 / NTM zone 28 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5969','ETRF89 / NTM zone 29 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5969','EUREF89 / NTM zone 29 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5970','ETRF89 / NTM zone 30 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5970','EUREF89 / NTM zone 30 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5973','ETRF89 / UTM zone 33 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5973','EUREF89 / UTM zone 33 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5975','ETRF89 / UTM zone 35 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5975','EUREF89 / UTM zone 35 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5974','ETRF89 / UTM zone 34 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5974','EUREF89 / UTM zone 34 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5976','ETRF89 / UTM zone 36 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5976','EUREF89 / UTM zone 36 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5972','ETRF89 / UTM zone 32 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5972','EUREF89 / UTM zone 32 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5971','ETRF89 / UTM zone 31 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5971','EUREF89 / UTM zone 31 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5973','ETRS89 / UTM zone 33 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5975','ETRS89 / UTM zone 35 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5974','ETRS89 / UTM zone 34 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5976','ETRS89 / UTM zone 36 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5972','ETRS89 / UTM zone 32 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5971','ETRS89 / UTM zone 31 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','6050','GR96 / EPSG Arctic 1-25','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','6051','GR96 / EPSG Arctic 2-18','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','6052','GR96 / EPSG Arctic 2-20','EPSG');
@@ -6759,25 +6607,15 @@ INSERT INTO "alias_name" VALUES('projected_crs','EPSG','6063','GR96 / EPSG Arcti
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','6067','GR96 / EPSG Arctic 8-20','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','6068','GR96 / EPSG Arctic 8-22','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','6070','ETRS89 / EPSG Arctic 3-11','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','6070','EUREF89 / EPSG Arctic zone 3-11','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','6070','ETRF89 / EPSG Arctic zone 3-11','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','6071','ETRS89 / EPSG Arctic 4-26','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','6071','EUREF89 / EPSG Arctic zone 4-26','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','6071','ETRF89 / EPSG Arctic zone 4-26','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','6073','ETRS89 / EPSG Arctic 5-11','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','6073','EUREF89 / EPSG Arctic zone 5-11','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','6073','ETRF89 / EPSG Arctic zone 5-11','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','6074','ETRS89 / EPSG Arctic 5-13','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','6074','EUREF89 / EPSG Arctic zone 5-13','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','6074','ETRF89 / EPSG Arctic zone 5-13','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','6075','WGS 84 / EPSG Arctic 2-24','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','6076','WGS 84 / EPSG Arctic 2-26','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','6077','WGS 84 / EPSG Arctic 3-13','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','6078','WGS 84 / EPSG Arctic 3-15','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','6079','WGS 84 / EPSG Arctic 3-17','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','6069','ETRS89 / EPSG Arctic 2-22','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','6069','EUREF89 / EPSG Arctic zone 2-22','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','6069','ETRF89 / EPSG Arctic zone 2-22','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','6080','WGS 84 / EPSG Arctic 3-19','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','6087','WGS 84 / EPSG Arctic 5-15','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','6088','WGS 84 / EPSG Arctic 5-17','EPSG');
@@ -6826,86 +6664,18 @@ INSERT INTO "alias_name" VALUES('projected_crs','EPSG','6083','WGS 84 / EPSG Arc
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','6082','WGS 84 / EPSG Arctic 4-32','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','6081','WGS 84 / EPSG Arctic 4-30','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','6124','WGS 84 / EPSG Arctic 4-12','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5948','ETRF89 / NTM zone 8 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5948','EUREF89 / NTM zone 8 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','6125','ETRF89 / EPSG Arctic zone 5-47','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','6125','ETRS89 / EPSG Arctic 5-47','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','6125','EUREF89 / EPSG Arctic zone 5-47','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','6072','ETRS89 / EPSG Arctic 4-28','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','6072','EUREF89 / EPSG Arctic zone 4-28','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','6072','ETRF89 / EPSG Arctic zone 4-28','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','6104','NAD83(CSRS) / EPSG Arctic 4-14','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','6141','CING11','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','4723','Grand Cayman 1959','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','4726','Little Cayman 1961','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5942','ETRF89 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','5942','EUREF89 + NN2000 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6147','ETRF89 / NTM zone 7 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6147','EUREF89 / NTM zone 7 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6148','ETRF89 / NTM zone 8 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6148','EUREF89 / NTM zone 8 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6149','ETRF89 / NTM zone 9 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6149','EUREF89 / NTM zone 9 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6146','ETRF89 / NTM zone 6 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6146','EUREF89 / NTM zone 6 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6145','ETRF89 / NTM zone 5 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6145','EUREF89 / NTM zone 5 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6170','ETRF89 / NTM zone 30 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6170','EUREF89 / NTM zone 30 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6169','ETRF89 / NTM zone 29 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6169','EUREF89 / NTM zone 29 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6168','ETRF89 / NTM zone 28 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6168','EUREF89 / NTM zone 28 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6167','ETRF89 / NTM zone 27 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6167','EUREF89 / NTM zone 27 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6166','ETRF89 / NTM zone 26 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6166','EUREF89 / NTM zone 26 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6165','ETRF89 / NTM zone 25 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6165','EUREF89 / NTM zone 25 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6164','ETRF89 / NTM zone 24 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6164','EUREF89 / NTM zone 24 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6163','ETRF89 / NTM zone 23 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6163','EUREF89 / NTM zone 23 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6162','ETRF89 / NTM zone 22 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6162','EUREF89 / NTM zone 22 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6161','ETRF89 / NTM zone 21 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6161','EUREF89 / NTM zone 21 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6160','ETRF89 / NTM zone 20 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6160','EUREF89 / NTM zone 20 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6159','ETRF89 / NTM zone 19 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6159','EUREF89 / NTM zone 19 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6158','ETRF89 / NTM zone 18 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6158','EUREF89 / NTM zone 18 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6157','ETRF89 / NTM zone 17 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6157','EUREF89 / NTM zone 17 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6156','ETRF89 / NTM zone 16 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6156','EUREF89 / NTM zone 16 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6155','ETRF89 / NTM zone 15 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6155','EUREF89 / NTM zone 15 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6154','ETRF89 / NTM zone 14 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6154','EUREF89 / NTM zone 14 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6153','ETRF89 / NTM zone 13 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6153','EUREF89 / NTM zone 13 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6152','ETRF89 / NTM zone 12 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6152','EUREF89 / NTM zone 12 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6151','ETRF89 / NTM zone 11 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6151','EUREF89 / NTM zone 11 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6150','ETRF89 / NTM zone 10 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6150','EUREF89 / NTM zone 10 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6171','ETRF89 / UTM zone 31 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6171','EUREF89 / UTM zone 31 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6172','ETRF89 / UTM zone 32 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6172','EUREF89 / UTM zone 32 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6173','ETRF89 / UTM zone 33 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6173','EUREF89 / UTM zone 33 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6174','ETRF89 / UTM zone 34 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6174','EUREF89 / UTM zone 34 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6175','ETRF89 / UTM zone 35 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6175','EUREF89 / UTM zone 35 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6176','ETRF89 / UTM zone 36 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6176','EUREF89 / UTM zone 36 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6144','ETRF89 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6144','EUREF89 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6171','ETRS89 / UTM zone 31 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6172','ETRS89 / UTM zone 32 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6173','ETRS89 / UTM zone 33 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6174','ETRS89 / UTM zone 34 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6175','ETRS89 / UTM zone 35 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6176','ETRS89 / UTM zone 36 + NN54 height','EPSG');
INSERT INTO "alias_name" VALUES('vertical_crs','EPSG','5710','BE_OOST / UNCOR','EPSG');
INSERT INTO "alias_name" VALUES('vertical_crs','EPSG','5710','Oostende height','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','6057','GR96 / EPSG Arctic 4-22','EPSG');
+89 -57
View File
@@ -73,7 +73,7 @@ INSERT INTO "area" VALUES('EPSG','1093','Faroe Islands','Faroe Islands - onshore
INSERT INTO "area" VALUES('EPSG','1094','Fiji - onshore','Fiji - onshore. Includes Viti Levu, Vanua Levu, Taveuni, the Yasawa Group, the Kadavu Group, the Lau Islands and Rotuma Islands.',-20.81,-12.42,176.81,-178.15,0);
INSERT INTO "area" VALUES('EPSG','1095','Finland','Finland - onshore and offshore.',58.84,70.09,19.08,31.59,0);
INSERT INTO "area" VALUES('EPSG','1096','France','France - onshore and offshore, mainland and Corsica.',41.15,51.56,-9.86,10.38,0);
INSERT INTO "area" VALUES('EPSG','1097','French Guiana','French Guiana - onshore and offshore.',2.11,8.88,-54.6,-49.46,0);
INSERT INTO "area" VALUES('EPSG','1097','French Guiana','French Guiana - onshore and offshore.',2.11,8.88,-54.61,-49.45,0);
INSERT INTO "area" VALUES('EPSG','1098','French Polynesia','French Polynesia - onshore and offshore. Includes Society archipelago, Tuamotu archipelago, Marquesas Islands, Gambier Islands and Austral Islands.',-31.24,-4.52,-158.13,-131.97,0);
INSERT INTO "area" VALUES('EPSG','1099','French Southern Territories','French Southern Territories - onshore and offshore. Includes Amsterdam and St Paul, Bassas da India, Crozet, Europa, Glorieuses, Juan de Nova, Kerguelen and Tromelin.',-53.24,-10.65,37.55,81.83,0);
INSERT INTO "area" VALUES('EPSG','1100','Gabon','Gabon - onshore and offshore.',-6.37,2.32,7.03,14.52,0);
@@ -182,7 +182,7 @@ INSERT INTO "area" VALUES('EPSG','1202','St Vincent and the Grenadines','St Vinc
INSERT INTO "area" VALUES('EPSG','1203','Samoa','Samoa - onshore and offshore.',-15.84,-10.94,-174.54,-170.51,0);
INSERT INTO "area" VALUES('EPSG','1204','San Marino','San Marino.',43.89,43.99,12.4,12.52,0);
INSERT INTO "area" VALUES('EPSG','1205','Sao Tome and Principe','Sao Tome and Principe - onshore and offshore.',-1.49,2.72,3.2,8.56,0);
INSERT INTO "area" VALUES('EPSG','1206','Saudi Arabia','Saudi Arabia - onshore and offshore.',15.61,32.16,34.44,55.67,0);
INSERT INTO "area" VALUES('EPSG','1206','Saudi Arabia','Saudi Arabia - onshore and offshore.',16.29,32.16,34.44,55.67,0);
INSERT INTO "area" VALUES('EPSG','1207','Senegal','Senegal - onshore and offshore.',10.64,16.7,-20.22,-11.36,0);
INSERT INTO "area" VALUES('EPSG','1208','Seychelles','Seychelles - onshore and offshore - Alphonse, Bijoutier, St Francois Islands, St Pierre islet, Cosmoledo Islands, Amirantes, Aldabra, Farquhar, and Desroches.',-12.72,-0.37,43.19,59.66,0);
INSERT INTO "area" VALUES('EPSG','1209','Sierra Leone','Sierra Leone - onshore and offshore.',4.22,10.0,-16.57,-10.26,0);
@@ -193,7 +193,7 @@ INSERT INTO "area" VALUES('EPSG','1213','Solomon Islands - onshore main islands'
INSERT INTO "area" VALUES('EPSG','1214','Somalia','Somalia - onshore and offshore.',-3.61,13.5,40.98,54.43,0);
INSERT INTO "area" VALUES('EPSG','1215','South Africa','South Africa - onshore and offshore, including Marion Island, and Prince Edward Island.',-50.32,-22.13,13.33,42.85,0);
INSERT INTO "area" VALUES('EPSG','1216','South Georgia and the South Sandwich Islands','South Georgia and the South Sandwich Islands - onshore and offshore.',-62.79,-50.15,-48.06,-19.84,0);
INSERT INTO "area" VALUES('EPSG','1217','Spain','Spain - mainland, Balearic Islands, Canary Islands, Ceuta and Melila - onshore and offshore.',24.6,46.26,-21.93,6.3,0);
INSERT INTO "area" VALUES('EPSG','1217','Spain','Spain - mainland, Balearic Islands, Canary Islands, Ceuta and Melilla - onshore and offshore.',24.6,46.26,-21.93,6.3,0);
INSERT INTO "area" VALUES('EPSG','1218','Sri Lanka','Sri Lanka - onshore and offshore.',2.58,11.45,77.02,85.24,0);
INSERT INTO "area" VALUES('EPSG','1219','St Helena, Ascension and Tristan da Cunha','St Helena, Ascension and Tristan da Cunha archipelago (Gough, Inaccessible, Nightingale and Stoltenhoff Islands) - onshore and offshore.',-43.71,-4.55,-17.79,-2.16,0);
INSERT INTO "area" VALUES('EPSG','1220','St Pierre and Miquelon','St Pierre and Miquelon - onshore and offshore.',43.41,47.37,-57.1,-55.9,0);
@@ -248,7 +248,7 @@ INSERT INTO "area" VALUES('EPSG','1268','Venezuela - Falcon state','Venezuela -
INSERT INTO "area" VALUES('EPSG','1269','Venezuela - Pedregal area of Falcon state','Venezuela - Pedregal area of Falcon state.',10.8,11.26,-70.4,-69.69,0);
INSERT INTO "area" VALUES('EPSG','1270','Venezuela - Maracaibo south','Venezuela - south Maracaibo area.',8.72,10.01,-72.4,-70.78,0);
INSERT INTO "area" VALUES('EPSG','1271','Africa - Eritrea, Ethiopia, South Sudan and Sudan','Eritrea; Ethiopia; South Sudan; Sudan.',3.4,22.24,21.82,47.99,0);
INSERT INTO "area" VALUES('EPSG','1272','Asia - Middle East - Bahrain, Kuwait and Saudi Arabia','Bahrain, Kuwait and Saudi Arabia - onshore.',15.61,32.16,34.51,55.67,0);
INSERT INTO "area" VALUES('EPSG','1272','Asia - Middle East - Bahrain, Kuwait and Saudi Arabia','Bahrain, Kuwait and Saudi Arabia - onshore.',16.37,32.16,34.51,55.67,0);
INSERT INTO "area" VALUES('EPSG','1273','Antigua - onshore','Antigua island - onshore.',16.94,17.22,-61.95,-61.61,0);
INSERT INTO "area" VALUES('EPSG','1274','Brazil - Aratu','Brazil - offshore south and east of a line intersecting the coast at 2°55''S; onshore Tucano basin.',-35.71,4.26,-53.38,-26.0,0);
INSERT INTO "area" VALUES('EPSG','1275','Netherlands - onshore','Netherlands - onshore, including Waddenzee, Dutch Wadden Islands and 12-mile offshore coastal zone.',50.75,53.7,3.2,7.22,0);
@@ -274,7 +274,7 @@ INSERT INTO "area" VALUES('EPSG','1294','Portugal - mainland - onshore','Portuga
INSERT INTO "area" VALUES('EPSG','1295','Germany - DHDN','Germany - onshore - Baden-Wurtemberg, Bayern, Hessen, Niedersachsen, Nordrhein-Westfalen, Rheinland-Pfalz, Saarland, Schleswig-Holstein. Also former DDR states of Sachsen and Thuringen by transformation.',47.27,55.06,5.87,15.03,1);
INSERT INTO "area" VALUES('EPSG','1296','Europe - ED50 by country','Europe - west: Andorra; Cyprus; Denmark - onshore and offshore; Faroe Islands - onshore; France - offshore; Germany - offshore North Sea; Gibraltar; Greece - offshore; Israel - offshore; Italy including San Marino and Vatican City State; Ireland offshore; Malta; Netherlands - offshore; North Sea; Norway including Svalbard - onshore and offshore; Portugal - mainland - offshore; Spain - onshore; Turkey - onshore and offshore; United Kingdom UKCS offshore east of 6°W including Channel Islands (Guernsey and Jersey). Egypt - Western Desert; Iraq - onshore; Jordan.',25.71,84.17,-16.1,48.61,0);
INSERT INTO "area" VALUES('EPSG','1297','Europe - west','Europe - west.',34.88,84.17,-10.56,39.65,0);
INSERT INTO "area" VALUES('EPSG','1298','Europe - ETRS89','Europe - onshore and offshore: Albania; Andorra; Austria; Belgium; Bosnia and Herzegovina; Bulgaria; Croatia; Cyprus; Czechia; Denmark; Estonia; Faroe Islands; Finland; France; Germany; Gibraltar; Greece; Hungary; Ireland; Italy; Kosovo; Latvia; Liechtenstein; Lithuania; Luxembourg; Malta; Moldova; Monaco; Montenegro; Netherlands; North Macedonia; Norway including Svalbard and Jan Mayen; Poland; Portugal; Romania; San Marino; Serbia; Slovakia; Slovenia; Spain; Sweden; Switzerland; United Kingdom (UK) including Channel Islands and Isle of Man; Vatican City State.',32.88,84.17,-16.1,40.18,0);
INSERT INTO "area" VALUES('EPSG','1298','Europe - ETRF by country','Europe - onshore and offshore: Albania; Andorra; Austria; Belgium; Bosnia and Herzegovina; Bulgaria; Croatia; Cyprus; Czechia; Denmark; Estonia; Faroe Islands; Finland; France; Germany; Gibraltar; Greece; Hungary; Ireland; Italy; Kosovo; Latvia; Liechtenstein; Lithuania; Luxembourg; Malta; Moldova; Monaco; Montenegro; Netherlands; North Macedonia; Norway including Svalbard and Jan Mayen; Poland; Portugal; Romania; San Marino; Serbia; Slovakia; Slovenia; Spain; Sweden; Switzerland; United Kingdom (UK) including Channel Islands and Isle of Man; Vatican City State.',32.88,84.17,-16.1,40.18,0);
INSERT INTO "area" VALUES('EPSG','1299','Europe - EVRF2000','Europe - onshore - Andorra; Austria; Belgium; Bosnia and Herzegovina; Croatia; Czechia; Denmark; Estonia; Finland; France - mainland; Germany; Gibraltar; Hungary; Italy - mainland and Sicily; Latvia; Liechtenstein; Lithuania; Luxembourg; Netherlands; Norway; Poland; Portugal - mainland; Romania; San Marino; Slovakia; Slovenia; Spain - mainland; Sweden; Switzerland; United Kingdom (UK) - Great Britain mainland; Vatican City State.',35.95,71.21,-9.56,31.59,0);
INSERT INTO "area" VALUES('EPSG','1300','Iran - FD58','Iran - Arwaz area and onshore Gulf coast west of 54°E, Lavan Island, offshore Balal field and South Pars blocks 2 and 3.',26.21,33.22,47.13,53.61,0);
INSERT INTO "area" VALUES('EPSG','1301','Portugal - Azores C - onshore','Portugal - central Azores onshore - Faial, Graciosa, Pico, Sao Jorge, Terceira.',38.32,39.14,-28.9,-26.97,0);
@@ -415,7 +415,7 @@ INSERT INTO "area" VALUES('EPSG','1435','Canada - Ontario - 88.5°W to 85.5°W',
INSERT INTO "area" VALUES('EPSG','1436','Canada - Ontario - 91.5°W to 88.5°W','Canada - Ontario - between 91°30''W and 88°30''W.',47.97,56.9,-91.5,-88.5,0);
INSERT INTO "area" VALUES('EPSG','1437','Canada - Ontario - 94.5°W to 91.5°W','Canada - Ontario - between 94°30''W and 91°30''W.',48.06,55.2,-94.5,-91.5,0);
INSERT INTO "area" VALUES('EPSG','1438','Canada - Ontario - west of 94.5°W','Canada - Ontario - west of 94°30''W.',48.69,53.24,-95.16,-94.5,0);
INSERT INTO "area" VALUES('EPSG','1439','Canada - Ontario - west of 90°W','Canada - Ontario - west of 90°W.',48.03,56.2,-95.17,-90.0,0);
INSERT INTO "area" VALUES('EPSG','1439','Canada - Ontario - west of 90°W','Canada - Ontario - west of 90°W.',48.03,56.2,-95.16,-90.0,0);
INSERT INTO "area" VALUES('EPSG','1440','Canada - Ontario - 90°W to 84°W','Canada - Ontario - between 90°W and 84°W.',46.11,56.9,-90.0,-84.0,0);
INSERT INTO "area" VALUES('EPSG','1441','Canada - Ontario - 84°W to 78°W','Canada - Ontario - between 84°W and 78°W.',41.67,55.37,-84.0,-78.0,0);
INSERT INTO "area" VALUES('EPSG','1442','Canada - Ontario - east of 78°W','Canada - Ontario - east of 78°W.',43.63,46.25,-78.0,-74.35,0);
@@ -459,16 +459,16 @@ INSERT INTO "area" VALUES('EPSG','1479','Libya - west of 12°E onshore','Libya -
INSERT INTO "area" VALUES('EPSG','1480','Libya - 12°E to 18°E onshore','Libya - onshore between 12°E and 18°E.',22.51,33.06,12.0,18.01,0);
INSERT INTO "area" VALUES('EPSG','1481','Libya - 18°E to 24°E onshore','Libya - onshore between 18°E and 24°E.',19.5,33.0,17.99,24.0,0);
INSERT INTO "area" VALUES('EPSG','1482','Libya - west of 15°E onshore','Libya - onshore west of 15°E.',22.61,33.23,9.31,15.0,0);
INSERT INTO "area" VALUES('EPSG','1483','Argentina - Mendoza and Neuquen 70.5°W to 67.5°W','Argentina – Mendoza and Neuquen provinces between 70°30''W and 67°30''W - Neuquen and Cuyo basins.',-43.41,-31.91,-70.51,-67.49,0);
INSERT INTO "area" VALUES('EPSG','1483','Argentina - Mendoza and Neuquen 70.5°W to 67.5°W','Argentina - Mendoza and Neuquen provinces between 70°30''W and 67°30''W - Neuquen and Cuyo basins.',-43.41,-31.91,-70.51,-67.49,0);
INSERT INTO "area" VALUES('EPSG','1484','Argentina - 42.5°S to 50.3°S and 70.5°W to 67.5°W','Argentina - Chibut province between 70°30''W and 67°30''W and south of approximately 42°30''S and Santa Cruz province between 70°30''W and 67°30''W and north of approximately 50°20''S.',-50.34,-42.49,-70.5,-67.49,0);
INSERT INTO "area" VALUES('EPSG','1485','Argentina - Tierra del Fuego onshore west of 67.5°W','Argentina - Tierra del Fuego onshore west of 67°30''W.',-54.9,-52.59,-68.64,-67.5,0);
INSERT INTO "area" VALUES('EPSG','1486','Argentina - Tierra del Fuego offshore','Argentina - Tierra del Fuego offshore Atlantic.',-54.93,-51.36,-68.62,-61.49,0);
INSERT INTO "area" VALUES('EPSG','1487','Cuba - onshore north of 21°30''N','Cuba - onshore north of 21°30''N but also including all of Isla de la Juventud.',21.38,23.25,-85.01,-76.91,0);
INSERT INTO "area" VALUES('EPSG','1488','Cuba - onshore south of 21°30''N','Cuba - onshore south of 21°30''N and east of 80°W .',19.77,21.5,-78.69,-74.07,0);
INSERT INTO "area" VALUES('EPSG','1489','Tunisia - offshore','Tunisia - offshore.',33.22,38.41,7.81,13.67,0);
INSERT INTO "area" VALUES('EPSG','1490','Yemen - 42°E to 48°E','Yemen - between 42°E and 48°E, onshore and offshore.',11.57,17.53,42.0,48.0,0);
INSERT INTO "area" VALUES('EPSG','1491','Yemen - 48°E to 54°E','Yemen - between 48°E and 54°E, onshore and offshore.',9.45,19.0,48.0,54.0,0);
INSERT INTO "area" VALUES('EPSG','1492','Yemen - South Yemen - mainland west of 48°E','Yemen - South Yemen onshore mainland west of 48°E.',12.54,17.44,43.37,48.0,0);
INSERT INTO "area" VALUES('EPSG','1490','Yemen - 42°E to 48°E','Yemen - between 42°E and 48°E, onshore and offshore.',11.57,17.95,42.0,48.01,0);
INSERT INTO "area" VALUES('EPSG','1491','Yemen - 48°E to 54°E','Yemen - between 48°E and 54°E, onshore and offshore.',9.45,19.0,48.0,54.01,0);
INSERT INTO "area" VALUES('EPSG','1492','Yemen - South Yemen - mainland west of 48°E','Yemen - South Yemen onshore mainland west of 48°E.',12.54,17.95,43.37,48.01,0);
INSERT INTO "area" VALUES('EPSG','1493','Yemen - South Yemen - mainland east of 48°E','Yemen - South Yemen onshore mainland east of 48°E.',13.94,19.0,48.0,53.14,0);
INSERT INTO "area" VALUES('EPSG','1494','Vietnam - onshore Vung Tau area','Vietnam - onshore Vung Tau area.',9.03,11.04,105.49,107.58,0);
INSERT INTO "area" VALUES('EPSG','1495','Vietnam - offshore Cuu Long basin','Vietnam - offshore - Cuu Long basin and northwestern part of Nam Con Son basin.',7.99,11.15,106.54,110.0,0);
@@ -546,8 +546,8 @@ INSERT INTO "area" VALUES('EPSG','1566','Australia - EEZ east of 162°E','Austra
INSERT INTO "area" VALUES('EPSG','1567','Australasia - Australia and PNG - 138°E to 144°E','Australia - onshore and offshore between 138°E and 144°E. Papua New Guinea - onshore west of 144°E.',-46.63,-2.53,138.0,144.01,0);
INSERT INTO "area" VALUES('EPSG','1568','Australasia - Australia and PNG - 144°E to 150°E','Australia - onshore and offshore between 144°E and 150°E. Papua New Guinea (PNG) - onshore between 144°E and 150°E.',-47.2,-1.3,144.0,150.01,0);
INSERT INTO "area" VALUES('EPSG','1569','Saudi Arabia - onshore 36°E to 42°E','Saudi Arabia - onshore between 36°E and 42°E.',16.59,32.16,36.0,42.0,0);
INSERT INTO "area" VALUES('EPSG','1570','Asia - Middle East - Kuwait and Saudi - 48°E to 54°E','Kuwait - onshore east of 48°E. Saudi Arabia - onshore between 48°E and 54°E.',17.43,30.04,48.0,54.01,0);
INSERT INTO "area" VALUES('EPSG','1571','Asia - Middle East - Kuwait and Saudi - 42°E to 48°E','Kuwait - west of 48°E. Saudi Arabia - between of 42°E and 48°E.',15.61,31.15,42.0,48.0,0);
INSERT INTO "area" VALUES('EPSG','1570','Asia - Middle East - Kuwait and Saudi - 48°E to 54°E','Kuwait - onshore east of 48°E. Saudi Arabia - onshore between 48°E and 54°E.',17.94,30.04,47.99,54.01,0);
INSERT INTO "area" VALUES('EPSG','1571','Asia - Middle East - Kuwait and Saudi - 42°E to 48°E','Kuwait - west of 48°E. Saudi Arabia - between of 42°E and 48°E.',16.37,31.15,42.0,48.01,0);
INSERT INTO "area" VALUES('EPSG','1572','Brazil - 54°W to 48°W and Aratu','Brazil - offshore between 54°W and 48°W, including Pelotas basin.',-35.71,-25.01,-53.38,-47.99,0);
INSERT INTO "area" VALUES('EPSG','1573','Brazil - 48°W to 42°W and Aratu','Brazil - offshore areas south of intersection of parallel of 2°55''S with coast and between 48°W and 42°W including Santos basin.',-33.5,0.0,-48.01,-41.99,0);
INSERT INTO "area" VALUES('EPSG','1574','Brazil - 42°W to 36°W and Aratu','Brazil - between 42°W and 36°W, southern hemisphere offshore including Campos and Espirito Santo basins; onshore Tucano basin area.',-26.35,0.01,-42.01,-36.0,0);
@@ -619,7 +619,7 @@ INSERT INTO "area" VALUES('EPSG','1639','Europe - 30°E to 36°E and ED50 by cou
INSERT INTO "area" VALUES('EPSG','1640','Europe - 36°E to 42°E and ED50 by country','Europe - between 36°E and 42°E - Jordan; Norway including Svalbard - offshore; Turkey onshore and offshore.',29.18,79.09,36.0,42.0,0);
INSERT INTO "area" VALUES('EPSG','1641','Europe - 42°E to 48°E and ED50 by country','Europe - between 42°E and 48°E - Turkey.',36.97,41.6,42.0,44.83,0);
INSERT INTO "area" VALUES('EPSG','1642','Egypt - east of 33°E onshore','Egypt - east of 33°E - onshore plus offshore Gulf of Suez.',21.97,31.36,33.0,36.95,0);
INSERT INTO "area" VALUES('EPSG','1643','Egypt - 29°E to 33°E','Egypt – onshore between 29°E and 33°E, offshore Mediterranean east of 29°E and offshore Gulf of Suez.',21.99,33.82,29.0,34.27,0);
INSERT INTO "area" VALUES('EPSG','1643','Egypt - 29°E to 33°E','Egypt - onshore between 29°E and 33°E, offshore Mediterranean east of 29°E and offshore Gulf of Suez.',21.99,33.82,29.0,34.27,0);
INSERT INTO "area" VALUES('EPSG','1644','Egypt - west of 29°E; north of 28°11''N','Egypt - onshore west of 29°E and north of approximately 28°11''N.',28.18,31.68,24.7,29.0,0);
INSERT INTO "area" VALUES('EPSG','1645','Egypt - west of 29°E; south of 28°11''N','Egypt - west of 29°E; south of approximately 28°11''N.',21.99,28.19,24.99,29.01,0);
INSERT INTO "area" VALUES('EPSG','1646','Europe - Estonia; Latvia; Lithuania','Estonia, Latvia and Lithuania - onshore and offshore.',53.89,60.0,19.02,28.24,0);
@@ -733,9 +733,9 @@ INSERT INTO "area" VALUES('EPSG','1753','Peru - west of 79°W','Peru - west of 7
INSERT INTO "area" VALUES('EPSG','1754','Brazil - Amazon cone shelf','Brazil - offshore shelf - Amazon cone.',-1.05,5.6,-51.64,-48.0,0);
INSERT INTO "area" VALUES('EPSG','1755','South America - 84°W to 78°W, S hemisphere and PSAD56 by country','South America (Ecuador and Peru) between 84°W and 78°W, southern hemisphere, onshore.',-10.53,0.0,-81.41,-78.0,0);
INSERT INTO "area" VALUES('EPSG','1756','South America - 78°W to 72°W, N hemisphere and PSAD56 by country','South America (Ecuador; Venezuela) between 78°W and 72°W, northern hemisphere, onshore.',0.0,11.62,-78.0,-71.99,0);
INSERT INTO "area" VALUES('EPSG','1757','South America - 78°W to 72°W, S hemisphere and PSAD56 by country','South America (Chile - north of 45°S; Ecuador; Peru) between 78°W and 72°W, southern hemisphere, onshore.',-45.0,0.0,-78.0,-72.0,0);
INSERT INTO "area" VALUES('EPSG','1757','South America - 78°W to 72°W, S hemisphere and PSAD56 by country','South America (Chile - north of 45°S; Ecuador; Peru) between 78°W and 72°W, southern hemisphere, onshore.',-43.5,0.0,-78.0,-71.99,0);
INSERT INTO "area" VALUES('EPSG','1758','South America - 72°W to 66°W, N hemisphere and PSAD56 by country','South America (Aruba; Bonaire; Curacao; Venezuela) between 72°W and 66°W, northern hemisphere, onshore.',0.73,12.68,-72.0,-66.0,0);
INSERT INTO "area" VALUES('EPSG','1759','South America - 72°W to 66°W, S hemisphere and PSAD56 by country','South America (Bolivia; Chile - north of 45°S; Peru) between 72°W and 66°W, southern hemisphere, onshore.',-45.0,-2.14,-72.0,-66.0,0);
INSERT INTO "area" VALUES('EPSG','1759','South America - 72°W to 66°W, S hemisphere and PSAD56 by country','South America (Bolivia; Chile - north of 45°S; Peru) between 72°W and 66°W, southern hemisphere, onshore.',-43.5,-2.14,-72.0,-66.0,0);
INSERT INTO "area" VALUES('EPSG','1760','South America - 66°W to 60°W, N hemisphere and PSAD56 by country','South America (Guyana; Venezuela) onshore between 66°W and 60°W, northern hemisphere.',0.64,11.23,-66.0,-59.99,0);
INSERT INTO "area" VALUES('EPSG','1761','Bolivia - 66°W to 60°W','Bolivia between 66°W and 60°W.',-22.87,-9.67,-66.0,-60.0,0);
INSERT INTO "area" VALUES('EPSG','1762','South America - 60°W to 54°W, N hemisphere and PSAD56 by country','South America (Guyana) onshore between 60°W and 54°W, northern hemisphere.',1.18,8.58,-60.0,-56.47,0);
@@ -1311,7 +1311,7 @@ INSERT INTO "area" VALUES('EPSG','2331','Norway - offshore north of 65°N','Norw
INSERT INTO "area" VALUES('EPSG','2332','Norway - offshore north of 65°N; Svalbard','Norway - offshore north of 65°N. Also Svalbard.',65.0,84.17,-3.7,39.65,0);
INSERT INTO "area" VALUES('EPSG','2333','Norway - offshore 62°N to 65°N and west of 5°E','Norway - offshore between 62°N and 65°N and west of 5°E.',62.0,65.0,-0.49,5.0,0);
INSERT INTO "area" VALUES('EPSG','2334','Norway - North Sea - offshore south of 62°N','Norway - offshore south of 62°N - North Sea.',56.08,62.0,1.37,11.14,0);
INSERT INTO "area" VALUES('EPSG','2335','Spain - Balearic Islands','Spain - Balearic Islands.',38.59,40.11,1.14,4.39,0);
INSERT INTO "area" VALUES('EPSG','2335','Spain - Balearic Islands','Spain - Balearic Islands.',38.59,40.15,1.12,4.39,0);
INSERT INTO "area" VALUES('EPSG','2336','Spain - mainland except northwest','Spain - onshore mainland except northwest (north of 41°30''N and west of 4°30''W).',35.26,43.56,-7.54,3.39,0);
INSERT INTO "area" VALUES('EPSG','2337','Spain - mainland northwest','Spain - onshore mainland north of 41°30''N and west of 4°30'' W.',41.5,43.82,-9.37,-4.5,0);
INSERT INTO "area" VALUES('EPSG','2338','Europe - Portugal and Spain','Portugal; Spain - mainland.',35.26,43.82,-9.56,3.39,0);
@@ -1321,7 +1321,7 @@ INSERT INTO "area" VALUES('EPSG','2341','Egypt - Gulf of Suez','Egypt - Gulf of
INSERT INTO "area" VALUES('EPSG','2342','Europe - common offshore','Denmark - offshore North Sea; Ireland - offshore; Netherlands - offshore; United Kingdom - UKCS offshore.',47.42,63.89,-16.1,10.86,0);
INSERT INTO "area" VALUES('EPSG','2343','Europe - British Isles and Channel Islands onshore','Channel islands - onshore. Ireland - onshore. Isle of Man - onshore. United Kingdom (UK) - onshore - England; Scotland; Wales; Northern Ireland.',49.11,60.9,-10.56,1.84,0);
INSERT INTO "area" VALUES('EPSG','2344','Europe - Finland and Norway - onshore','Finland and Norway - onshore.',57.93,71.21,4.68,31.59,0);
INSERT INTO "area" VALUES('EPSG','2345','Asia - Middle East - Iraq; Israel; Jordan; Lebanon; Kuwait; Saudi Arabia; Syria','Iraq, Israel, Jordan, Lebanon, Kuwait, Saudi Arabia and Syria - onshore.',15.61,37.39,34.17,55.67,0);
INSERT INTO "area" VALUES('EPSG','2345','Asia - Middle East - Iraq; Israel; Jordan; Lebanon; Kuwait; Saudi Arabia; Syria','Iraq, Israel, Jordan, Lebanon, Kuwait, Saudi Arabia and Syria - onshore.',16.37,37.39,34.17,55.67,0);
INSERT INTO "area" VALUES('EPSG','2346','World - WGS72 BE to WGS 84 - by country','World. Vietnam - offshore.',-90.0,90.0,-180.0,180.0,0);
INSERT INTO "area" VALUES('EPSG','2347','Algeria - north of 31.5°N','Algeria - onshore north of 35 grads North (31°30''N).',31.5,37.14,-3.85,9.22,0);
INSERT INTO "area" VALUES('EPSG','2348','Brunei - offshore','Brunei Darussalam - offshore.',4.58,6.37,112.5,115.24,1);
@@ -2223,7 +2223,7 @@ INSERT INTO "area" VALUES('EPSG','3243','El Salvador - onshore','El Salvador - o
INSERT INTO "area" VALUES('EPSG','3244','Equatorial Guinea - onshore','Equatorial Guinea - onshore.',0.93,3.82,8.37,11.36,0);
INSERT INTO "area" VALUES('EPSG','3245','Eritrea - onshore','Eritrea - onshore.',12.36,18.01,36.44,43.18,0);
INSERT INTO "area" VALUES('EPSG','3246','Estonia - onshore','Estonia - onshore.',57.52,59.75,21.74,28.2,0);
INSERT INTO "area" VALUES('EPSG','3247','Falkland Islands - onshore','Falkland Islands (Malvinas) - onshore.',-52.51,-50.96,-61.54,-57.61,0);
INSERT INTO "area" VALUES('EPSG','3247','Falkland Islands - onshore','Falkland Islands (Malvinas) - onshore.',-52.51,-50.96,-61.55,-57.6,0);
INSERT INTO "area" VALUES('EPSG','3248','Faroe Islands - onshore','Faroe Islands - onshore.',61.33,62.41,-7.49,-6.33,0);
INSERT INTO "area" VALUES('EPSG','3249','Gabon - onshore','Gabon - onshore.',-3.98,2.32,8.65,14.52,0);
INSERT INTO "area" VALUES('EPSG','3250','Gambia - onshore','Gambia - onshore.',13.05,13.83,-16.88,-13.79,0);
@@ -2279,7 +2279,7 @@ INSERT INTO "area" VALUES('EPSG','3299','St Pierre and Miquelon - onshore','St P
INSERT INTO "area" VALUES('EPSG','3300','St Vincent and the Grenadines - onshore','St Vincent and the northern Grenadine Islands - onshore.',12.54,13.44,-61.52,-61.07,0);
INSERT INTO "area" VALUES('EPSG','3301','Samoa - onshore','Samoa - onshore.',-14.11,-13.41,-172.84,-171.37,0);
INSERT INTO "area" VALUES('EPSG','3302','Sao Tome and Principe - onshore','Sao Tome and Principe - onshore.',-0.04,1.76,6.41,7.52,0);
INSERT INTO "area" VALUES('EPSG','3303','Saudi Arabia - onshore','Saudi Arabia - onshore.',15.61,32.16,34.51,55.67,0);
INSERT INTO "area" VALUES('EPSG','3303','Saudi Arabia - onshore','Saudi Arabia - onshore.',16.37,32.16,34.51,55.67,0);
INSERT INTO "area" VALUES('EPSG','3304','Senegal - onshore','Senegal - onshore.',12.29,16.7,-17.59,-11.36,0);
INSERT INTO "area" VALUES('EPSG','3305','Serbia and Montenegro - onshore','Serbia and Montenegro - onshore.',41.82,46.23,18.44,23.05,1);
INSERT INTO "area" VALUES('EPSG','3306','Sierra Leone - onshore','Sierra Leone - onshore.',6.88,10.0,-13.35,-10.26,0);
@@ -2331,7 +2331,7 @@ INSERT INTO "area" VALUES('EPSG','3351','Slovenia - Kocevje','Slovenia - Kocevje
INSERT INTO "area" VALUES('EPSG','3352','Slovenia - Koroska','Slovenia - Koroska Region (Slovene Carinthia).',46.46,46.66,14.83,15.51,0);
INSERT INTO "area" VALUES('EPSG','3353','Slovenia - Velenje','Slovenia - Velenje with part of Koroska Region (Slovene Carinthia).',46.28,46.51,14.9,15.26,0);
INSERT INTO "area" VALUES('EPSG','3354','Slovenia - Zasavje','Slovenia - Zasavje (the Sava Valley) with the broad region of Celje.',46.0,46.32,14.84,15.35,0);
INSERT INTO "area" VALUES('EPSG','3355','Brazil - south of 18°S and west of 54°W','Brazil - onshore south of 18°S and west of 54°W.',-31.91,-17.99,-58.16,-54.0,0);
INSERT INTO "area" VALUES('EPSG','3355','Brazil - west of 54°W and south of 18°S','Brazil - west of 54°W and south of 18°S.',-31.91,-17.99,-58.16,-54.0,0);
INSERT INTO "area" VALUES('EPSG','3356','South America - Brazil - south of 18°S and west of 54°W + DF; N Paraguay','Brazil - south of 18°S and west of 54°W, plus Distrito Federal. Paraguay - north.',-31.91,-15.37,-62.57,-47.1,0);
INSERT INTO "area" VALUES('EPSG','3357','USA - GoM OCS','United States (USA) - offshore Gulf of Mexico outer continental shelf (GoM OCS) - protraction areas South Padre Island; North Padre Island; Mustang Island; Matagorda Island; Brazos; Galveston; High Island; Sabine Pass; West Cameron; East Cameron; Vermilion; South Marsh Island; Eugene Island; Ship Shoal; South Pelto; Bay Marchand; South Timbalier; Grand Isle; West Delta; South Pass; Main Pass; Breton Sound; Chandeleur; Corpus Christi; Port Isabel; East Breaks; Alaminos Canyon; Garden Banks; Keathley Canyon; Sigsbee Escarpment; Ewing Bank; Green Canyon; Walker Ridge; Amery Terrace; Mobile; Viosca Knoll; Mississippi Canyon; Atwater Valley; Lund; Lund South; Pensacola; Destin Dome; De Soto Canyon; Lloyd Ridge; Henderson; Florida Plain; Campeche Escarpment; Apalachicola; Florida Middle Ground; The Elbow; Vernon Basin; Howell Hook; Rankin; Gainesville; Tarpon Springs; St Petersburg; Charlotte Harbor; Pulley Ridge; Dry Tortugas; Tortugas Valley; Miami; Key West.',23.82,30.25,-97.22,-81.17,0);
INSERT INTO "area" VALUES('EPSG','3358','USA - GoM - east of 87.25°W','United States (USA) - offshore Gulf of Mexico (GoM) east of approximately 87°15''W - protraction areas Gainesville, Tarpon Springs, St Petersburg, Charlotte Harbor, Pulley Ridge, Dry Tortugas, Tortugas Valley, Miami, Key West, Apalachicola, Florida Middle Ground, The Elbow, Vernon Basin, Howell Hook, Rankin and Campeche Escarpment. Also for protraction areas Pensacola, Destin Dome, Desoto Canyon, Lloyd Ridge, Henderson and Florida Plain - east of 87°15''W.',23.82,30.25,-87.25,-81.17,0);
@@ -2405,7 +2405,7 @@ INSERT INTO "area" VALUES('EPSG','3425','Mexico - 108°W to 102°W','Mexico betw
INSERT INTO "area" VALUES('EPSG','3426','Mexico - 102°W to 96°W','Mexico between 102°W and 96°W, onshore and offshore.',12.3,29.81,-102.0,-96.0,0);
INSERT INTO "area" VALUES('EPSG','3427','Latin America - 96°W to 90°W; N hemisphere and SIRGAS 2000 by country','Latin America - Central and South America - between 96°W and 90°W, northern hemisphere, onshore and offshore.',0.0,26.0,-96.0,-90.0,0);
INSERT INTO "area" VALUES('EPSG','3428','Latin America - 90°W to 84°W; N hemisphere and SIRGAS 2000 by country','Latin America - Central America and South America - between 90°W and 84°W, northern hemisphere, onshore and offshore.',0.0,25.77,-90.0,-83.99,0);
INSERT INTO "area" VALUES('EPSG','3429','Spain - mainland and Balearic Islands onshore','Spain - mainland, Balearic Islands, Ceuta and Melila - onshore.',35.26,43.82,-9.37,4.39,0);
INSERT INTO "area" VALUES('EPSG','3429','Spain - mainland and Balearic Islands onshore','Spain - mainland, Balearic Islands, Ceuta and Melilla - onshore.',35.26,43.82,-9.37,4.39,0);
INSERT INTO "area" VALUES('EPSG','3430','New Caledonia - Belep, Grande Terre, Ile des Pins, Loyalty Islands','New Caledonia - Belep, Grande Terre, Ile des Pins, Loyalty Islands (Lifou, Mare, Ouvea).',-22.73,-19.5,163.54,168.19,0);
INSERT INTO "area" VALUES('EPSG','3431','New Caledonia - west of 162°E','New Caledonia - west of 162°E onshore and offshore.',-26.03,-15.34,156.25,162.01,0);
INSERT INTO "area" VALUES('EPSG','3432','New Caledonia - 162°E to 168°E','New Caledonia - between 162°E and 168°E onshore and offshore.',-26.45,-14.83,162.0,168.0,0);
@@ -2585,7 +2585,7 @@ INSERT INTO "area" VALUES('EPSG','3605','Finland - 28.5°E to 29.5°E nominal','
INSERT INTO "area" VALUES('EPSG','3606','Finland - 29.5°E to 30.5°E nominal','Finland - nominally between 29°30''E and 30°30''E but may be used in adjacent areas if a municipality chooses to use one zone over its whole extent.',61.43,67.98,29.5,30.5,0);
INSERT INTO "area" VALUES('EPSG','3607','Finland - east of 30.5°E nominal','Finland - nominally east of 30°30''E but may be used in adjacent areas to west if a municipality chooses to use one zone over its whole extent.',62.08,64.27,30.5,31.59,0);
INSERT INTO "area" VALUES('EPSG','3608','Sweden - Stockholm county','Sweden - Stockholm county. Municipalities of Botkyrka, Danderyd, Ekerö, Haninge, Huddinge, Järfälla, Lidingö, Nacka, Nynäshamn, Salem, Sigtuna, Sollentuna, Solna, Stockholm and Sundbyberg.',58.69,60.27,17.25,19.61,0);
INSERT INTO "area" VALUES('EPSG','3609','Congo DR (Zaire) - Katanga west of 25.5°E','The Democratic Republic of the Congo (Zaire) - Katanga west of 25°30''E.',-11.72,-6.32,21.74,25.5,0);
INSERT INTO "area" VALUES('EPSG','3609','Congo DR (Zaire) - Katanga west of 25.5°E','The Democratic Republic of the Congo (Zaire) - Katanga west of 25°30''E.',-11.72,-6.32,21.74,25.51,0);
INSERT INTO "area" VALUES('EPSG','3610','Congo DR (Zaire) - Katanga 24.5°E to 27.5°E','The Democratic Republic of the Congo (Zaire) - Katanga between 24°30''E and 27°30''E.',-12.08,-4.99,24.5,27.5,0);
INSERT INTO "area" VALUES('EPSG','3611','Congo DR (Zaire) - Katanga 26.5°E to 29.5°E','The Democratic Republic of the Congo (Zaire) - Katanga between 26°30''E and 29°30''E.',-13.44,-4.99,26.5,29.5,0);
INSERT INTO "area" VALUES('EPSG','3612','Congo DR (Zaire) - Katanga east of 28.5°E','The Democratic Republic of the Congo (Zaire) - Katanga east of 28°30''E.',-13.46,-4.99,28.5,30.78,0);
@@ -2612,10 +2612,10 @@ INSERT INTO "area" VALUES('EPSG','3632','Denmark - onshore Jutland east of 9°E
INSERT INTO "area" VALUES('EPSG','3633','Mexico - 96°W to 90°W','Mexico between 96°W and 90°W, onshore and offshore.',12.1,26.0,-96.0,-90.0,0);
INSERT INTO "area" VALUES('EPSG','3634','Caribbean - Puerto Rico and US Virgin Islands - onshore','Puerto Rico and US Virgin Islands - onshore.',17.62,18.57,-67.97,-64.51,0);
INSERT INTO "area" VALUES('EPSG','3635','Mexico - east of 90°W','Mexico east of 90°W, onshore and offshore.',17.81,25.77,-90.0,-84.64,0);
INSERT INTO "area" VALUES('EPSG','3636','Norway - onshore - west of 6ºE','Norway - onshore - west of 6ºE.',58.32,62.49,4.68,6.0,0);
INSERT INTO "area" VALUES('EPSG','3636','Norway - onshore - west of 6°E','Norway - onshore - west of 6°E.',58.32,62.49,4.68,6.0,0);
INSERT INTO "area" VALUES('EPSG','3637','USA - 102°W to 96°W and GoM OCS','United States (USA) - between 102°W and 96°W. Iowa; Kansas; Minnesota; Nebraska; North Dakota; Oklahoma; South Dakota; Texas; Gulf of Mexico outer continental shelf (GoM OCS) west of approximately 96°W - protraction areas Corpus Christi; Port Isabel.',25.83,49.01,-102.0,-95.87,0);
INSERT INTO "area" VALUES('EPSG','3638','South America - 84°W to 78°W, S hemisphere and SIRGAS95 by country','Ecuador (mainland whole country including areas in northern hemisphere and east of 78°W), onshore and offshore. In remainder of South America, between 84°W and 78°W, southern hemisphere, onshore and offshore.',-56.45,1.45,-84.0,-75.21,0);
INSERT INTO "area" VALUES('EPSG','3639','Norway - onshore - 6ºE to 7ºE','Norway - onshore - between 6ºE and 7ºE.',57.93,63.02,6.0,7.0,0);
INSERT INTO "area" VALUES('EPSG','3639','Norway - onshore - 6°E to 7°E','Norway - onshore - between 6°E and 7°E.',57.93,63.02,6.0,7.0,0);
INSERT INTO "area" VALUES('EPSG','3640','USA - 96°W to 90°W and GoM OCS','United States (USA) - between 96°W and 90°W - Arkansas; Illinois; Iowa; Kansas; Louisiana; Michigan; Minnesota; Mississippi; Missouri; Nebraska; Oklahoma; Tennessee; Texas; Wisconsin; Gulf of Mexico outer continental shelf (GoM OCS) between approximately 96°W and 90°W - protraction areas East Breaks; Alaminos Canyon; Garden Banks; Keathley Canyon; Sigsbee Escarpment; Ewing Bank; Green Canyon; Walker Ridge; Amery Terrace.',25.61,49.38,-96.01,-89.86,0);
INSERT INTO "area" VALUES('EPSG','3641','USA - 90°W to 84°W and GoM OCS','United States (USA) - between 90°W and 84°W onshore and offshore - Alabama; Arkansas; Florida; Georgia; Indiana; Illinois; Kentucky; Louisiana; Michigan; Minnesota; Mississippi; Missouri; North Carolina; Ohio; Tennessee; Wisconsin; Gulf of Mexico outer continental shelf (GoM OCS) between approximately 90°W and 84°W - protraction areas Mobile; Viosca Knoll; Mississippi Canyon; Atwater Valley; Lund; Lund South; Pensacola; Destin Dome; De Soto Canyon; Lloyd Ridge; Henderson; Florida Plain; Campeche Escarpment; Apalachicola; Florida Middle Ground; The Elbow; Vernon Basin; Howell Hook; Rankin.',23.95,48.32,-90.01,-83.91,0);
INSERT INTO "area" VALUES('EPSG','3642','USA - 84°W to 78°W and GoM OCS','United States (USA) - between 84°W and 78°W onshore and offshore - Florida; Georgia; Maryland; Michigan; New York; North Carolina; Ohio; Pennsylvania; South Carolina; Tennessee; Virginia; West Virginia; Gulf of Mexico outer continental shelf (GoM OCS) east of approximately 84°W - protraction areas Gainesville; Tarpon Springs; St Petersburg; Charlotte Harbor; Pulley Ridge; Dry Tortugas; Tortugas Valley; Miami; Key West.',23.81,46.13,-84.09,-77.99,0);
@@ -2623,36 +2623,36 @@ INSERT INTO "area" VALUES('EPSG','3643','Germany - Schleswig-Holstein','Germany
INSERT INTO "area" VALUES('EPSG','3644','Germany - Schleswig-Holstein - east of 10.5°E','Germany - Schleswig-Holstein - east of 10°30''E.',53.36,54.59,10.49,11.4,0);
INSERT INTO "area" VALUES('EPSG','3645','Sao Tome and Principe - onshore - Sao Tome','Sao Tome and Principe - onshore - Sao Tome.',-0.04,0.46,6.41,6.82,0);
INSERT INTO "area" VALUES('EPSG','3646','Sao Tome and Principe - onshore - Principe','Sao Tome and Principe - onshore - Principe.',1.48,1.76,7.27,7.52,0);
INSERT INTO "area" VALUES('EPSG','3647','Norway - onshore - 7ºE to 8ºE','Norway - onshore - between 7ºE and 8ºE.',57.93,63.52,7.0,8.0,0);
INSERT INTO "area" VALUES('EPSG','3648','Norway - onshore - 8ºE to 9ºE','Norway - onshore - between 8ºE and 9ºE.',58.03,63.87,8.0,9.0,0);
INSERT INTO "area" VALUES('EPSG','3649','Norway - onshore - 9ºE to 10ºE','Norway - onshore - between 9ºE and 10ºE.',58.52,64.16,9.0,10.0,0);
INSERT INTO "area" VALUES('EPSG','3650','Norway - onshore - 10ºE to 11ºE','Norway - onshore - between 10ºE and 11ºE.',58.9,65.04,10.0,11.0,0);
INSERT INTO "area" VALUES('EPSG','3651','Norway - onshore - 11ºE to 12ºE','Norway - onshore - between 11ºE and 12ºE.',58.88,65.76,11.0,12.0,0);
INSERT INTO "area" VALUES('EPSG','3647','Norway - onshore - 7°E to 8°E','Norway - onshore - between 7°E and 8°E.',57.93,63.52,7.0,8.0,0);
INSERT INTO "area" VALUES('EPSG','3648','Norway - onshore - 8°E to 9°E','Norway - onshore - between 8°E and 9°E.',58.03,63.87,8.0,9.0,0);
INSERT INTO "area" VALUES('EPSG','3649','Norway - onshore - 9°E to 10°E','Norway - onshore - between 9°E and 10°E.',58.52,64.16,9.0,10.0,0);
INSERT INTO "area" VALUES('EPSG','3650','Norway - onshore - 10°E to 11°E','Norway - onshore - between 10°E and 11°E.',58.9,65.04,10.0,11.0,0);
INSERT INTO "area" VALUES('EPSG','3651','Norway - onshore - 11°E to 12°E','Norway - onshore - between 11°E and 12°E.',58.88,65.76,11.0,12.0,0);
INSERT INTO "area" VALUES('EPSG','3652','USA - Michigan - SPCS - W','United States (USA) - Michigan - counties of Baraga; Dickinson; Gogebic; Houghton; Iron; Keweenaw; Marquette; Menominee; Ontonagon.',45.09,48.32,-90.42,-83.44,0);
INSERT INTO "area" VALUES('EPSG','3653','Norway - onshore - 12ºE to 13ºE','Norway - onshore - between 12ºE and 13ºE.',59.88,68.15,12.0,13.0,0);
INSERT INTO "area" VALUES('EPSG','3654','Norway - onshore - 13ºE to 14ºE','Norway - onshore - between 13ºE and 14ºE.',64.01,68.37,13.0,14.0,0);
INSERT INTO "area" VALUES('EPSG','3655','Norway - onshore - 14ºE to 15ºE','Norway - onshore - between 14ºE and 15ºE.',64.03,69.05,14.0,15.0,0);
INSERT INTO "area" VALUES('EPSG','3656','Norway - onshore - 15ºE to 16ºE','Norway - onshore - between 15ºE and 16ºE.',66.14,69.35,15.0,16.0,0);
INSERT INTO "area" VALUES('EPSG','3657','Norway - onshore - 16ºE to 17ºE','Norway - onshore - between 16ºE and 17ºE.',66.88,69.45,16.0,17.0,0);
INSERT INTO "area" VALUES('EPSG','3658','Norway - onshore - 17ºE to 18ºE','Norway - onshore - between 17ºE and 18ºE.',67.94,69.68,17.0,18.0,0);
INSERT INTO "area" VALUES('EPSG','3653','Norway - onshore - 12°E to 13°E','Norway - onshore - between 12°E and 13°E.',59.88,68.15,12.0,13.0,0);
INSERT INTO "area" VALUES('EPSG','3654','Norway - onshore - 13°E to 14°E','Norway - onshore - between 13°E and 14°E.',64.01,68.37,13.0,14.0,0);
INSERT INTO "area" VALUES('EPSG','3655','Norway - onshore - 14°E to 15°E','Norway - onshore - between 14°E and 15°E.',64.03,69.05,14.0,15.0,0);
INSERT INTO "area" VALUES('EPSG','3656','Norway - onshore - 15°E to 16°E','Norway - onshore - between 15°E and 16°E.',66.14,69.35,15.0,16.0,0);
INSERT INTO "area" VALUES('EPSG','3657','Norway - onshore - 16°E to 17°E','Norway - onshore - between 16°E and 17°E.',66.88,69.45,16.0,17.0,0);
INSERT INTO "area" VALUES('EPSG','3658','Norway - onshore - 17°E to 18°E','Norway - onshore - between 17°E and 18°E.',67.94,69.68,17.0,18.0,0);
INSERT INTO "area" VALUES('EPSG','3659','Germany - Schleswig-Holstein - west of 10.5°E','Germany - Schleswig-Holstein - west of 10°30''E including Heligoland.',53.37,55.09,7.8,10.5,0);
INSERT INTO "area" VALUES('EPSG','3660','Norway - onshore - 18ºE to 19ºE','Norway - onshore - between 18ºE and 19ºE.',68.04,70.27,18.0,19.0,0);
INSERT INTO "area" VALUES('EPSG','3661','Norway - onshore - 19ºE to 20ºE','Norway - onshore - between 19ºE and 20ºE.',68.33,70.34,19.0,20.0,0);
INSERT INTO "area" VALUES('EPSG','3662','Norway - onshore - 20ºE to 21ºE','Norway - onshore - between 20ºE and 21ºE.',68.37,70.29,20.0,21.0,0);
INSERT INTO "area" VALUES('EPSG','3663','Norway - onshore - 21ºE to 22ºE','Norway - onshore - between 21ºE and 22ºE.',69.03,70.71,21.0,22.0,0);
INSERT INTO "area" VALUES('EPSG','3660','Norway - onshore - 18°E to 19°E','Norway - onshore - between 18°E and 19°E.',68.04,70.27,18.0,19.0,0);
INSERT INTO "area" VALUES('EPSG','3661','Norway - onshore - 19°E to 20°E','Norway - onshore - between 19°E and 20°E.',68.33,70.34,19.0,20.0,0);
INSERT INTO "area" VALUES('EPSG','3662','Norway - onshore - 20°E to 21°E','Norway - onshore - between 20°E and 21°E.',68.37,70.29,20.0,21.0,0);
INSERT INTO "area" VALUES('EPSG','3663','Norway - onshore - 21°E to 22°E','Norway - onshore - between 21°E and 22°E.',69.03,70.71,21.0,22.0,0);
INSERT INTO "area" VALUES('EPSG','3664','USA - CONUS and Alaska - onshore','United States (USA) - CONUS and Alaska - onshore - Alabama; Alaska mainland; Arizona; Arkansas; California; Colorado; Connecticut; Delaware; Florida; Georgia; Idaho; Illinois; Indiana; Iowa; Kansas; Kentucky; Louisiana; Maine; Maryland; Massachusetts; Michigan; Minnesota; Mississippi; Missouri; Montana; Nebraska; Nevada; New Hampshire; New Jersey; New Mexico; New York; North Carolina; North Dakota; Ohio; Oklahoma; Oregon; Pennsylvania; Rhode Island; South Carolina; South Dakota; Tennessee; Texas; Utah; Vermont; Virginia; Washington; West Virginia; Wisconsin; Wyoming.',24.41,71.4,-168.26,-66.91,0);
INSERT INTO "area" VALUES('EPSG','3665','Norway - onshore - 22ºE to 23ºE','Norway - onshore - between 22ºE and 23ºE.',68.69,70.81,22.0,23.0,0);
INSERT INTO "area" VALUES('EPSG','3665','Norway - onshore - 22°E to 23°E','Norway - onshore - between 22°E and 23°E.',68.69,70.81,22.0,23.0,0);
INSERT INTO "area" VALUES('EPSG','3666','Indonesia - Java, Java Sea and western Sumatra','Indonesia - Bali, Java and western Sumatra onshore, offshore southern Java Sea, Madura Strait and western Bali Sea.',-8.91,5.97,95.16,117.01,0);
INSERT INTO "area" VALUES('EPSG','3667','Norway - onshore - 23ºE to 24ºE','Norway - onshore - between 23ºE and 24ºE.',68.62,71.08,23.0,24.0,0);
INSERT INTO "area" VALUES('EPSG','3668','Norway - onshore - 24ºE to 25ºE','Norway - onshore - between 24ºE and 25ºE.',68.58,71.16,24.0,25.0,0);
INSERT INTO "area" VALUES('EPSG','3669','Norway - onshore - 25ºE to 26ºE','Norway - onshore - between 25ºE and 26ºE.',68.59,71.21,25.0,26.0,0);
INSERT INTO "area" VALUES('EPSG','3667','Norway - onshore - 23°E to 24°E','Norway - onshore - between 23°E and 24°E.',68.62,71.08,23.0,24.0,0);
INSERT INTO "area" VALUES('EPSG','3668','Norway - onshore - 24°E to 25°E','Norway - onshore - between 24°E and 25°E.',68.58,71.16,24.0,25.0,0);
INSERT INTO "area" VALUES('EPSG','3669','Norway - onshore - 25°E to 26°E','Norway - onshore - between 25°E and 26°E.',68.59,71.21,25.0,26.0,0);
INSERT INTO "area" VALUES('EPSG','3670','Portugal - Azores and Madeira','Portugal - Azores and Madeira island groups and surrounding EEZ - Flores, Corvo; Graciosa, Terceira, Sao Jorge, Pico, Faial; Sao Miguel, Santa Maria; Madeira, Porto Santo, Desertas; Selvagens.',29.24,43.07,-35.58,-12.48,0);
INSERT INTO "area" VALUES('EPSG','3671','Norway - onshore - 26ºE to 27ºE','Norway - onshore - between 26ºE and 27ºE.',69.71,71.17,26.0,27.0,0);
INSERT INTO "area" VALUES('EPSG','3672','Norway - onshore - 27ºE to 28ºE','Norway - onshore - between 27ºE and 28ºE.',69.9,71.17,27.0,28.0,0);
INSERT INTO "area" VALUES('EPSG','3673','Norway - onshore - 28ºE to 29ºE','Norway - onshore - between 28ºE and 29ºE.',69.03,71.13,28.0,29.0,0);
INSERT INTO "area" VALUES('EPSG','3674','Norway - onshore - 29ºE to 30ºE','Norway - onshore - between 29ºE and 30ºE.',69.02,70.93,29.0,30.0,0);
INSERT INTO "area" VALUES('EPSG','3671','Norway - onshore - 26°E to 27°E','Norway - onshore - between 26°E and 27°E.',69.71,71.17,26.0,27.0,0);
INSERT INTO "area" VALUES('EPSG','3672','Norway - onshore - 27°E to 28°E','Norway - onshore - between 27°E and 28°E.',69.9,71.17,27.0,28.0,0);
INSERT INTO "area" VALUES('EPSG','3673','Norway - onshore - 28°E to 29°E','Norway - onshore - between 28°E and 29°E.',69.03,71.13,28.0,29.0,0);
INSERT INTO "area" VALUES('EPSG','3674','Norway - onshore - 29°E to 30°E','Norway - onshore - between 29°E and 30°E.',69.02,70.93,29.0,30.0,0);
INSERT INTO "area" VALUES('EPSG','3675','Paraguay - north of 22°S','Paraguay - north of 22°S.',-22.0,-19.29,-62.57,-57.81,0);
INSERT INTO "area" VALUES('EPSG','3676','Norway - onshore - east of 30ºE','Norway - onshore - east of 30ºE.',69.46,70.77,30.0,31.22,0);
INSERT INTO "area" VALUES('EPSG','3676','Norway - onshore - east of 30°E','Norway - onshore - east of 30°E.',69.46,70.77,30.0,31.22,0);
INSERT INTO "area" VALUES('EPSG','3677','Portugal - Azores 30°W to 24°W','Portugal - between 30°W and 24°W - central and eastern Azores - Graciosa, Terceira, Sao Jorge, Pico, Faial; Sao Miguel and Santa Maria islands and surrounding EEZ.',33.52,42.96,-30.0,-24.0,0);
INSERT INTO "area" VALUES('EPSG','3678','Portugal - Madeira and EEZ E of 18°W','Portugal - Madeira, Porto Santo, Desertas and Selvagens islands and surrounding EEZ east of 18°W.',29.24,36.46,-18.0,-12.48,0);
INSERT INTO "area" VALUES('EPSG','3679','Portugal - Madeira island onshore','Portugal - Madeira island onshore.',32.58,32.93,-17.31,-16.66,0);
@@ -2849,7 +2849,7 @@ INSERT INTO "area" VALUES('EPSG','3869','Costa Rica - onshore north of 9°32''N'
INSERT INTO "area" VALUES('EPSG','3870','Costa Rica - onshore south of 9°56''N','Costa Rica - onshore south of 9°56''N',7.98,9.94,-85.74,-82.53,0);
INSERT INTO "area" VALUES('EPSG','3871','USA - 72°W to 66°W onshore','United States (USA) - between 72°W and 66°W - onshore - Connecticut; Maine; Massachusetts; New Hampshire; New York (Long Island); Rhode Island; Vermont.',40.96,47.47,-72.0,-66.91,0);
INSERT INTO "area" VALUES('EPSG','3872','North America - 144°W to 138°W and NAD83 by country','North America - between 144°W and 138°W - onshore and offshore. Canada - British Columbia; Yukon. United States (USA) - Alaska.',52.05,73.59,-144.0,-137.99,0);
INSERT INTO "area" VALUES('EPSG','3873','Spain - Canary Islands onshore','Spain - Canary Islands onshore.',27.58,29.3,-18.22,-13.37,0);
INSERT INTO "area" VALUES('EPSG','3873','Spain - Canary Islands onshore','Spain - Canary Islands onshore.',27.58,29.47,-18.22,-13.37,0);
INSERT INTO "area" VALUES('EPSG','3874','Brazil - Corrego Alegre 1961','Brazil - onshore - between 18°S and 27°30''S, also east of 54°W between 15°S and 18°S.',-27.5,-14.99,-58.16,-38.82,0);
INSERT INTO "area" VALUES('EPSG','3875','Canada - Labrador - 63°W to 60°W','Canada - Labrador between 63°W and 60°W.',52.0,58.92,-63.0,-60.0,0);
INSERT INTO "area" VALUES('EPSG','3876','Central America - Guatemala to Costa Rica','Costa Rica; El Salvador; Guatemala; Honduras; Nicaragua.',7.98,17.83,-92.29,-82.53,0);
@@ -2887,11 +2887,11 @@ INSERT INTO "area" VALUES('EPSG','3907','Ukraine - 22.5°E to 25.5°E','Ukraine
INSERT INTO "area" VALUES('EPSG','3908','Ukraine - 25.5°E to 28.5°E','Ukraine - between 25°30''E and 28°30''E.',45.26,51.94,25.5,28.5,0);
INSERT INTO "area" VALUES('EPSG','3909','Ukraine - 28.5°E to 31.5°E','Ukraine - between 28°30''E and 31°30''E, onshore and offshore.',43.42,52.12,28.5,31.5,0);
INSERT INTO "area" VALUES('EPSG','3910','Ukraine - 31.5°E to 34.5°E','Ukraine - between 31°30''E and 34°30''E, onshore and offshore.',43.18,52.38,31.5,34.5,0);
INSERT INTO "area" VALUES('EPSG','3911','Reunion - east of 54ºE','Reunion - onshore and offshore - east of 54ºE.',-24.72,-18.28,54.0,58.24,0);
INSERT INTO "area" VALUES('EPSG','3911','Reunion - east of 54°E','Reunion - onshore and offshore - east of 54°E.',-24.72,-18.28,54.0,58.24,0);
INSERT INTO "area" VALUES('EPSG','3912','Ukraine - 34.5°E to 37.5°E','Ukraine - between 34°30''E and 37°30''E, onshore and offshore.',43.24,51.25,34.5,37.5,0);
INSERT INTO "area" VALUES('EPSG','3913','Ukraine - east of 37.5°E','Ukraine - east of 37°30''E.',46.77,50.39,37.5,40.18,0);
INSERT INTO "area" VALUES('EPSG','3914','World - N hemisphere - 3°E to 9°E - by country','France - offshore Mediterranean including area east of 9°E. Nigeria - offshore including area west of 3°E.',1.92,43.74,2.66,10.38,0);
INSERT INTO "area" VALUES('EPSG','3915','Reunion - west of 54ºE','Reunion - offshore - west of 54ºE.',-24.37,-18.52,51.83,54.0,0);
INSERT INTO "area" VALUES('EPSG','3915','Reunion - west of 54°E','Reunion - offshore - west of 54°E.',-24.37,-18.52,51.83,54.0,0);
INSERT INTO "area" VALUES('EPSG','3916','French Southern Territories - Amsterdam onshore','French Southern Territories - Amsterdam Island onshore.',-37.93,-37.74,77.45,77.67,0);
INSERT INTO "area" VALUES('EPSG','3917','Algeria - Ahnet licence area','Algeria - Ahnet licence area.',26.06,27.51,1.26,2.92,0);
INSERT INTO "area" VALUES('EPSG','3918','French Southern Territories - Kerguelen','French Southern Territories - Kerguelen onshore and offshore.',-53.24,-45.11,62.96,75.66,0);
@@ -3204,7 +3204,7 @@ INSERT INTO "area" VALUES('EPSG','4224','Chile - onshore 32°S to 36°S','Chile
INSERT INTO "area" VALUES('EPSG','4225','UAE - Abu Dhabi - onshore','United Arab Emirates (UAE) - Abu Dhabi onshore.',22.63,24.95,51.56,56.03,0);
INSERT INTO "area" VALUES('EPSG','4226','UAE - Abu Dhabi','United Arab Emirates (UAE) - Abu Dhabi onshore and offshore.',22.63,25.64,51.5,56.03,0);
INSERT INTO "area" VALUES('EPSG','4227','UAE - Abu Dhabi - onshore east of 54°E','United Arab Emirates (UAE) - Abu Dhabi onshore east of 54°E.',22.63,24.95,53.99,56.03,0);
INSERT INTO "area" VALUES('EPSG','4228','USA - California - San Francisco Bay Area','United States (USA) - California - San Francisco bay area – counties of Alameda, Contra Costa, Marin, Napa, San Francisco, San Mateo, Santa Clara, Santa Cruz, Solano and Sonoma.',36.85,38.87,-123.56,-121.2,0);
INSERT INTO "area" VALUES('EPSG','4228','USA - California - San Francisco Bay Area','United States (USA) - California - San Francisco bay area - counties of Alameda, Contra Costa, Marin, Napa, San Francisco, San Mateo, Santa Clara, Santa Cruz, Solano and Sonoma.',36.85,38.87,-123.56,-121.2,0);
INSERT INTO "area" VALUES('EPSG','4229','UAE - Abu Dhabi island','United Arab Emirates (UAE) - Abu Dhabi island.',24.24,24.64,54.2,54.71,0);
INSERT INTO "area" VALUES('EPSG','4230','USA - Iowa - Elkader','United States (USA) - Iowa - counties of Allamakee; Clayton; Delaware.',42.29,43.51,-91.62,-90.89,0);
INSERT INTO "area" VALUES('EPSG','4231','Chile - onshore north of 26°S','Chile - onshore north of 26°S.',-26.0,-17.5,-70.79,-67.0,0);
@@ -3366,8 +3366,8 @@ INSERT INTO "area" VALUES('EPSG','4386','Kyrgyzstan - 70°01''E to 73°01''E','K
INSERT INTO "area" VALUES('EPSG','4387','Kyrgyzstan - 73°01''E to 76°01''E','Kyrgyzstan - between 73°01''E and 76°01''E.',39.35,43.22,73.01,76.02,0);
INSERT INTO "area" VALUES('EPSG','4388','Kyrgyzstan - 76°01''E to 79°01''E','Kyrgyzstan - between 76°01''E and 79°01''E.',40.35,43.0,76.01,79.02,0);
INSERT INTO "area" VALUES('EPSG','4389','Kyrgyzstan - east of 79°01''E','Kyrgyzstan - east of 79°01''E.',41.66,42.8,79.01,80.29,0);
INSERT INTO "area" VALUES('EPSG','4390','UK - Britain and UKCS 49°46''N to 61°01''N, 7°33''W to 3°33''E','United Kingdom (UK) - offshore to boundary of UKCS within 49°46''N to 61°01''N and 7°33''W to 3°33''E; onshore Great Britain (England, Wales and Scotland). Isle of Man onshore.',49.75,61.14,-9.2,2.88,0);
INSERT INTO "area" VALUES('EPSG','4391','UK - offshore 49°46''N to 61°01''N, 7°33''W to 3°33''E','United Kingdom (UK) – offshore between 2km from shore and boundary of UKCS within 49°46''N to 61°01''N and 7°33''W to 3°33''E.',49.75,61.14,-9.2,2.88,0);
INSERT INTO "area" VALUES('EPSG','4390','UK - Britain and UKCS 49°45''N to 61°N, 9°W to 2°E','United Kingdom (UK) - offshore to boundary of UKCS within 49°45''N to 61°N and 9°W to 2°E; onshore Great Britain (England, Wales and Scotland). Isle of Man onshore.',49.75,61.01,-9.0,2.01,0);
INSERT INTO "area" VALUES('EPSG','4391','UK - offshore 49°46''N to 61°01''N, 7°33''W to 3°33''E','United Kingdom (UK) - offshore between 2km from shore and boundary of UKCS within 49°46''N to 61°01''N and 7°33''W to 3°33''E.',49.75,61.14,-9.2,2.88,0);
INSERT INTO "area" VALUES('EPSG','4392','India - northeast','India - Arunachal Pradesh, Assam, Manipur, Meghalaya, Mizoram, Nagaland and Tripura.',21.94,29.47,89.69,97.42,0);
INSERT INTO "area" VALUES('EPSG','4393','To be specified','Description of the extent of the CRS.',-90.0,90.0,-180.0,180.0,0);
INSERT INTO "area" VALUES('EPSG','4394','India - Andhra Pradesh and Telangana','India - Andhra Pradesh; Telangana; Yanam area of Pudacherry territory.',12.61,19.92,76.75,84.81,0);
@@ -3491,7 +3491,7 @@ INSERT INTO "area" VALUES('EPSG','4511','USA - Kansas - Arkansas City','United S
INSERT INTO "area" VALUES('EPSG','4512','USA - Kansas - Coffeyville','United States (USA) - Kansas - counties of Chautauqua; Coffey; Elk; Greenwood; Montgomery; Osage; Wilson; Woodson.',36.99,38.88,-96.53,-95.5,0);
INSERT INTO "area" VALUES('EPSG','4513','USA - Kansas - Pittsburg','United States (USA) - Kansas - counties of Allen; Anderson; Bourbon; Cherokee; Crawford; Franklin; Labette; Linn; Miami; Neosho.',36.99,38.74,-95.53,-94.6,0);
INSERT INTO "area" VALUES('EPSG','4514','Pacific - Guam and NMI west of 144°E','Guam and Northern Mariana Islands; offshore west of 144°E.',10.95,23.9,141.19,144.01,0);
INSERT INTO "area" VALUES('EPSG','4515','USA - FBN','American Samoa - Tutuila, Aunu''u, Ofu, Olesega, Ta''u and Rose islands - onshore. Guam - onshore. Northern Mariana Islands - onshore. Puerto Rico - onshore. United States (USA) – CONUS - Alabama; Arizona; Arkansas; California; Colorado; Connecticut; Delaware; Florida; Georgia; Idaho; Illinois; Indiana; Iowa; Kansas; Kentucky; Louisiana; Maine; Maryland; Massachusetts; Michigan; Minnesota; Mississippi; Missouri; Montana; Nebraska; Nevada; New Hampshire; New Jersey; New Mexico; New York; North Carolina; North Dakota; Ohio; Oklahoma; Oregon; Pennsylvania; Rhode Island; South Carolina; South Dakota; Tennessee; Texas; Utah; Vermont; Virginia; Washington; West Virginia; Wisconsin; Wyoming - onshore plus Gulf of Mexico offshore continental shelf (GoM OCS). US Virgin Islands - onshore.',-14.59,49.38,144.58,-64.51,0);
INSERT INTO "area" VALUES('EPSG','4515','USA - FBN','American Samoa - Tutuila, Aunu''u, Ofu, Olesega, Ta''u and Rose islands - onshore. Guam - onshore. Northern Mariana Islands - onshore. Puerto Rico - onshore. United States (USA) - CONUS - Alabama; Arizona; Arkansas; California; Colorado; Connecticut; Delaware; Florida; Georgia; Idaho; Illinois; Indiana; Iowa; Kansas; Kentucky; Louisiana; Maine; Maryland; Massachusetts; Michigan; Minnesota; Mississippi; Missouri; Montana; Nebraska; Nevada; New Hampshire; New Jersey; New Mexico; New York; North Carolina; North Dakota; Ohio; Oklahoma; Oregon; Pennsylvania; Rhode Island; South Carolina; South Dakota; Tennessee; Texas; Utah; Vermont; Virginia; Washington; West Virginia; Wisconsin; Wyoming - onshore plus Gulf of Mexico offshore continental shelf (GoM OCS). US Virgin Islands - onshore.',-14.59,49.38,144.58,-64.51,0);
INSERT INTO "area" VALUES('EPSG','4516','USA - CONUS and GoM','United States (USA) - CONUS onshore - Alabama; Arizona; Arkansas; California; Colorado; Connecticut; Delaware; Florida; Georgia; Idaho; Illinois; Indiana; Iowa; Kansas; Kentucky; Louisiana; Maine; Maryland; Massachusetts; Michigan; Minnesota; Mississippi; Missouri; Montana; Nebraska; Nevada; New Hampshire; New Jersey; New Mexico; New York; North Carolina; North Dakota; Ohio; Oklahoma; Oregon; Pennsylvania; Rhode Island; South Carolina; South Dakota; Tennessee; Texas; Utah; Vermont; Virginia; Washington; West Virginia; Wisconsin; Wyoming. US Gulf of Mexico offshore continental shelf (GoM OCS).',23.82,49.38,-124.79,-66.91,0);
INSERT INTO "area" VALUES('EPSG','4517','Canada - NAD27','Canada - onshore - Alberta; British Columbia; Manitoba; New Brunswick; Newfoundland and Labrador; Northwest Territories; Nova Scotia; Nunavut; Ontario; Prince Edward Island; Quebec; Saskatchewan; Yukon; offshore east coast.',40.04,83.17,-141.01,-47.74,0);
INSERT INTO "area" VALUES('EPSG','4518','Pacific - Guam and NMI east of 144°E','Guam and Northern Mariana Islands; onshore and offshore east of 144°E.',11.05,23.9,144.0,149.55,0);
@@ -3503,8 +3503,8 @@ INSERT INTO "area" VALUES('EPSG','4523','World centred on 150°E','World centred
INSERT INTO "area" VALUES('EPSG','4524','Saudi Arabia - west of 36°E','Saudi Arabia - onshore and offshore - west of 36°E.',24.92,29.38,34.44,36.01,0);
INSERT INTO "area" VALUES('EPSG','4525','Pacific - Guam and NMI - onshore','Guam - onshore. Northern Mariana Islands - onshore.',13.18,20.61,144.58,146.12,0);
INSERT INTO "area" VALUES('EPSG','4526','Saudi Arabia - 36°E to 42°E','Saudi Arabia - onshore and offshore - between 36°E and 42°E.',16.29,32.16,36.0,42.0,0);
INSERT INTO "area" VALUES('EPSG','4527','Saudi Arabia - 42°E to 48°E','Saudi Arabia - onshore and offshore - between of 42°E and 48°E.',15.61,31.15,41.99,48.0,0);
INSERT INTO "area" VALUES('EPSG','4528','Saudi Arabia - 48°E to 54°E','Saudi Arabia - onshore and offshore - between 48°E and 54°E.',17.43,28.94,48.0,54.01,0);
INSERT INTO "area" VALUES('EPSG','4527','Saudi Arabia - 42°E to 48°E','Saudi Arabia - onshore and offshore - between of 42°E and 48°E.',16.35,31.15,41.99,48.0,0);
INSERT INTO "area" VALUES('EPSG','4528','Saudi Arabia - 48°E to 54°E','Saudi Arabia - onshore and offshore - between 48°E and 54°E.',17.94,28.94,47.99,54.01,0);
INSERT INTO "area" VALUES('EPSG','4530','Latin America - Central America and South America','Latin America - Central America and South America, onshore and offshore.',-59.87,32.72,-122.19,-25.28,0);
INSERT INTO "area" VALUES('EPSG','4531','Costa Rica - offshore Caribbean','Costa Rica - offshore - Caribbean sea.',9.6,11.77,-83.6,-81.43,0);
INSERT INTO "area" VALUES('EPSG','4532','Costa Rica - offshore Pacific','Costa Rica - offshore Pacific ocean and onshore Coco Island.',2.15,11.11,-90.45,-82.92,0);
@@ -3549,5 +3549,37 @@ INSERT INTO "area" VALUES('EPSG','4570','Argentina - south Santa Cruz west of 70
INSERT INTO "area" VALUES('EPSG','4571','Argentina - south Santa Cruz east of 70.5°W','Argentina - Santa Cruz province south of approximately 50°20''S and east of 70°30''W.',-52.43,-50.33,-70.5,-68.3,0);
INSERT INTO "area" VALUES('EPSG','4572','Argentina - 44°S to 47.5°S','Argentina - Chubut province south of approximately 44°S and Santa Cruz province north of approximately 47°30''S - Golfo San Jorge basin onshore and offshore.',-47.5,-43.99,-72.36,-63.24,0);
INSERT INTO "area" VALUES('EPSG','4573','Argentina - onshore','Argentina - onshore.',-55.11,-21.78,-73.59,-53.65,0);
INSERT INTO "area" VALUES('EPSG','4574','Brazil - west of 54°W and between 18°S and 27°30''S','Brazil - west of 54°W and between 18°S and 27°30''S.',-27.5,-17.99,-58.16,-54.0,0);
INSERT INTO "area" VALUES('EPSG','4575','Denmark - onshore Jutland, Funen, Zealand and Lolland','Denmark - onshore Jutland, Funen, Zealand and Lolland.',54.51,57.8,8.0,12.69,0);
INSERT INTO "area" VALUES('EPSG','4576','Brazil - 54°W to 48°W and 15°S to 27°30''S','Brazil - onshore between 54°W and 48°W and between 15°S and 27°30''S.',-27.5,-14.99,-54.0,-47.99,0);
INSERT INTO "area" VALUES('EPSG','4577','Argentina - 70.5°W to 67.5°W mainland onshore','Argentina - between 70°30''W and 67°30''W, onshore mainland.',-52.43,-24.08,-70.5,-67.49,0);
INSERT INTO "area" VALUES('EPSG','4578','Argentina - 67.5°W to 64.5°W mainland onshore','Argentina - between 67°30''W and 64°30''W, onshore mainland.',-49.05,-21.78,-67.5,-64.49,0);
INSERT INTO "area" VALUES('EPSG','4579','Argentina - 64.5°W to 61.5°W mainland onshore','Argentina - between 64°30''W and 61°30''W, onshore mainland.',-43.14,-21.99,-64.5,-61.49,0);
INSERT INTO "area" VALUES('EPSG','4580','Germany - Baden-Wurttemberg','Germany - Baden-Wurttemberg.',47.54,49.8,7.51,10.5,0);
INSERT INTO "area" VALUES('EPSG','4581','Africa - Morocco and Western Sahara - onshore','Africa - Morocco and Western Sahara - onshore.',20.71,35.97,-17.16,-1.01,0);
INSERT INTO "area" VALUES('EPSG','4582','UK - London to Birmingham and Crewe','UK - HS2 phases 1 and 2a railway corridor from London to Birmingham, Lichfield and Crewe.',51.45,53.3,-2.75,0.0,0);
INSERT INTO "area" VALUES('EPSG','4583','UK - Liverpool to Leeds','UK - on or related to the Trans-Pennine rail route from Liverpool via Manchester to Bradford and Leeds.',53.32,53.9,-3.14,-1.34,0);
INSERT INTO "area" VALUES('EPSG','4584','Germany - Saarland','Germany - Saarland.',49.11,49.64,6.35,7.41,0);
INSERT INTO "area" VALUES('EPSG','4585','Austria - Vienna','Austria - Vienna city state.',48.12,48.34,16.18,16.59,0);
INSERT INTO "area" VALUES('EPSG','4586','World - south of 50°S','Southern hemisphere - south of 50°S onshore and offshore, including Antarctica.',-90.0,-50.0,-180.0,180.0,0);
INSERT INTO "area" VALUES('EPSG','4587','Congo DR (Zaire) - 6th parallel south 21.5°E to 23°E','The Democratic Republic of the Congo (Zaire) - adjacent to 6th parallel south traverse between 21°30''E and 23°E.',-7.31,-5.31,21.5,23.01,0);
INSERT INTO "area" VALUES('EPSG','4588','UK - London to Sheffield','UK - on or related to the Midland Mainline rail route from Sheffield to London.',51.46,53.42,-1.89,0.16,0);
INSERT INTO "area" VALUES('EPSG','4589','UK - Aberdeen to Inverness','UK - on or related to the A96 highway from Aberdeen to Inverness.',57.1,57.71,-4.31,-2.1,0);
INSERT INTO "area" VALUES('EPSG','4590','Spain - Ceuta','Spain - Ceuta onshore.',35.82,35.97,-5.4,-5.24,0);
INSERT INTO "area" VALUES('EPSG','4591','Spain - Canary Islands - Lanzarote','Spain - Canary Islands - Lanzarote onshore.',28.78,29.47,-13.95,-13.37,0);
INSERT INTO "area" VALUES('EPSG','4592','Spain - Canary Islands - Fuerteventura','Spain - Canary Islands - Fuerteventura onshore.',27.99,28.81,-14.58,-13.75,0);
INSERT INTO "area" VALUES('EPSG','4593','Spain - Canary Islands - Gran Canaria','Spain - Canary Islands - Gran Canaria onshore.',27.68,28.23,-15.88,-15.31,0);
INSERT INTO "area" VALUES('EPSG','4594','Spain - Canary Islands - Tenerife','Spain - Canary Islands - Tenerife onshore.',27.93,28.63,-16.96,-16.08,0);
INSERT INTO "area" VALUES('EPSG','4595','Spain - Canary Islands - La Gomera','Spain - Canary Islands - La Gomera onshore.',27.95,28.26,-17.39,-17.03,0);
INSERT INTO "area" VALUES('EPSG','4596','Spain - Canary Islands - La Palma','Spain - Canary Islands - La Palma onshore.',28.4,28.9,-18.06,-17.66,0);
INSERT INTO "area" VALUES('EPSG','4597','Spain - Canary Islands - El Hierro','Spain - Canary Islands - El Hierro onshore.',27.58,27.9,-18.22,-17.83,0);
INSERT INTO "area" VALUES('EPSG','4598','Spain - Canary Islands western','Spain - Canary Islands - El Hierro, La Gomera, La Palma and Tenerife - onshore.',27.58,28.9,-18.22,-16.08,0);
INSERT INTO "area" VALUES('EPSG','4599','Spain - Canary Islands - El Hierro west of 18°W','Spain - Canary Islands - El Hierro onshore west of 18°W.',27.59,27.88,-18.22,-18.0,0);
INSERT INTO "area" VALUES('EPSG','4600','Spain - Canary Islands onshore east of 18°W','Spain - Canary Islands onshore - El Hierro east of 18°W, Fuerteventura, Gran Canaria, La Gomera, La Palma, Lanzarote and Tenerife.',27.58,29.47,-18.06,-13.37,0);
INSERT INTO "area" VALUES('EPSG','4601','Spain - Canary Islands western east of 18°W','Spain - Canary Islands onshore - El Hierro east of 18°W, La Gomera, La Palma and Tenerife.',27.58,28.9,-18.06,-16.08,0);
INSERT INTO "area" VALUES('EPSG','4602','Spain - Balearic Islands - Mallorca','Spain - Balearic Islands - Mallorca onshore.',39.07,40.02,2.23,3.55,0);
INSERT INTO "area" VALUES('EPSG','4603','Spain - Balearic Islands - Menorca','Spain - Balearic Islands - Menorca onshore.',39.75,40.15,3.73,4.39,0);
INSERT INTO "area" VALUES('EPSG','4604','Spain - Balearic Islands - Ibiza and Formentera','Spain - Balearic Islands - Ibiza and Formentera - onshore.',38.59,39.17,1.12,1.68,0);
INSERT INTO "area" VALUES('EPSG','4605','Spain - mainland onshore and Ceuta','Spain - mainland and Ceuta - onshore.',35.82,43.82,-9.37,3.39,0);
INSERT INTO "area" VALUES('EPSG','4608','Europe - EVRF2019','Europe - onshore - Andorra; Austria; Belarus; Belgium; Bosnia and Herzegovina; Bulgaria; Croatia; Czechia; Denmark; Estonia; Finland; France - mainland; Germany; Gibraltar, Hungary; Italy - mainland and Sicily; Latvia; Liechtenstein; Lithuania; Luxembourg; Netherlands; North Macedonia; Norway; Poland; Portugal - mainland; Romania; Russia – west of approximately 60°E; San Marino; Slovakia; Slovenia; Spain - mainland; Sweden; Switzerland; United Kingdom (UK) - Great Britain mainland; Ukraine; Vatican City State.',35.95,77.07,-9.56,69.15,0);
INSERT INTO "area" VALUES('EPSG','4609','Europe - ETRF EVRF2019','Europe - onshore - Andorra; Austria; Belgium; Bosnia and Herzegovina; Bulgaria; Croatia; Czechia; Denmark; Estonia; Finland; France - mainland; Germany; Gibraltar, Hungary; Italy - mainland and Sicily; Latvia; Liechtenstein; Lithuania; Luxembourg; Netherlands; North Macedonia; Norway; Poland; Portugal - mainland; Romania; San Marino; Slovakia; Slovenia; Spain - mainland; Sweden; Switzerland; United Kingdom (UK) - Great Britain mainland; Vatican City State.',35.95,71.21,-9.56,31.59,0);
+14 -16
View File
@@ -32,9 +32,20 @@ FOR EACH ROW BEGIN
-- test to check that our custom grid transformation overrides are really needed
SELECT RAISE(ABORT, 'PROJ grid_transformation defined whereas EPSG has one')
WHERE EXISTS (SELECT 1 FROM grid_transformation g1, grid_transformation g2 WHERE
lower(g1.grid_name) = lower(g2.grid_name) AND
g1.auth_name = 'PROJ' AND g2.auth_name = 'EPSG');
WHERE EXISTS (SELECT 1 FROM grid_transformation g1
JOIN grid_transformation g2
ON g1.source_crs_auth_name = g2.source_crs_auth_name
AND g1.source_crs_code = g2.source_crs_code
AND g1.target_crs_auth_name = g2.target_crs_auth_name
AND g1.target_crs_code = g2.target_crs_code
WHERE g1.auth_name = 'PROJ' AND g2.auth_name = 'EPSG')
OR EXISTS (SELECT 1 FROM grid_transformation g1
JOIN grid_transformation g2
ON g1.source_crs_auth_name = g2.target_crs_auth_name
AND g1.source_crs_code = g2.target_crs_code
AND g1.target_crs_auth_name = g1.source_crs_auth_name
AND g1.target_crs_code = g1.source_crs_code
WHERE g1.auth_name = 'PROJ' AND g2.auth_name = 'EPSG');
SELECT RAISE(ABORT, 'Arg! there is now a EPSG:102100 object. Hack in createFromUserInput() will no longer work')
WHERE EXISTS(SELECT 1 FROM crs_view WHERE auth_name = 'EPSG' AND code = '102100');
@@ -63,19 +74,6 @@ FOR EACH ROW BEGIN
(SELECT auth_name || code FROM geodetic_crs
WHERE type = 'geographic 2D'));
-- check that grids with HEIGHT_TO_GEOGRAPHIC3D method are properly registered
SELECT RAISE(ABORT, 'One grid_transformation with HEIGHT_TO_GEOGRAPHIC3D has not its source_crs in vertical_crs table')
WHERE EXISTS (SELECT * FROM grid_transformation g WHERE
g.method_code = 'HEIGHT_TO_GEOGRAPHIC3D' 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 HEIGHT_TO_GEOGRAPHIC3D has not its target_crs in geodetic_crs table with type = ''geographic 3D''')
WHERE EXISTS (SELECT * FROM grid_transformation g WHERE
g.method_code = 'HEIGHT_TO_GEOGRAPHIC3D' AND
g.target_crs_auth_name || g.target_crs_code NOT IN
(SELECT auth_name || code FROM geodetic_crs
WHERE type = 'geographic 3D'));
-- check that grids with Geographic3D to GravityRelatedHeight method are properly registered
SELECT RAISE(ABORT, 'One grid_transformation with Geographic3D to GravityRelatedHeight has not its target_crs in vertical_crs table')
WHERE EXISTS (SELECT * FROM grid_transformation g WHERE
+27 -12
View File
@@ -64,12 +64,12 @@ INSERT INTO "compound_crs" VALUES('EPSG','5967','ETRS89 / NTM zone 27 + NN2000 h
INSERT INTO "compound_crs" VALUES('EPSG','5968','ETRS89 / NTM zone 28 + NN2000 height',NULL,NULL,'EPSG','5128','EPSG','5941','EPSG','3673',0);
INSERT INTO "compound_crs" VALUES('EPSG','5969','ETRS89 / NTM zone 29 + NN2000 height',NULL,NULL,'EPSG','5129','EPSG','5941','EPSG','3674',0);
INSERT INTO "compound_crs" VALUES('EPSG','5970','ETRS89 / NTM zone 30 + NN2000 height',NULL,NULL,'EPSG','5130','EPSG','5941','EPSG','3676',0);
INSERT INTO "compound_crs" VALUES('EPSG','5971','ETRS89 / UTM zone 31 + NN2000 height',NULL,NULL,'EPSG','25831','EPSG','5941','EPSG','3636',0);
INSERT INTO "compound_crs" VALUES('EPSG','5972','ETRS89 / UTM zone 32 + NN2000 height',NULL,NULL,'EPSG','25832','EPSG','5941','EPSG','4066',0);
INSERT INTO "compound_crs" VALUES('EPSG','5973','ETRS89 / UTM zone 33 + NN2000 height',NULL,NULL,'EPSG','25833','EPSG','5941','EPSG','4067',0);
INSERT INTO "compound_crs" VALUES('EPSG','5974','ETRS89 / UTM zone 34 + NN2000 height',NULL,NULL,'EPSG','25834','EPSG','5941','EPSG','4068',0);
INSERT INTO "compound_crs" VALUES('EPSG','5975','ETRS89 / UTM zone 35 + NN2000 height',NULL,NULL,'EPSG','25835','EPSG','5941','EPSG','4069',0);
INSERT INTO "compound_crs" VALUES('EPSG','5976','ETRS89 / UTM zone 36 + NN2000 height',NULL,NULL,'EPSG','25836','EPSG','5941','EPSG','3676',0);
INSERT INTO "compound_crs" VALUES('EPSG','5971','ETRS89 / UTM zone 31N + NN2000 height',NULL,NULL,'EPSG','25831','EPSG','5941','EPSG','3636',0);
INSERT INTO "compound_crs" VALUES('EPSG','5972','ETRS89 / UTM zone 32N + NN2000 height',NULL,NULL,'EPSG','25832','EPSG','5941','EPSG','4066',0);
INSERT INTO "compound_crs" VALUES('EPSG','5973','ETRS89 / UTM zone 33N + NN2000 height',NULL,NULL,'EPSG','25833','EPSG','5941','EPSG','4067',0);
INSERT INTO "compound_crs" VALUES('EPSG','5974','ETRS89 / UTM zone 34N + NN2000 height',NULL,NULL,'EPSG','25834','EPSG','5941','EPSG','4068',0);
INSERT INTO "compound_crs" VALUES('EPSG','5975','ETRS89 / UTM zone 35N + NN2000 height',NULL,NULL,'EPSG','25835','EPSG','5941','EPSG','4069',0);
INSERT INTO "compound_crs" VALUES('EPSG','5976','ETRS89 / UTM zone 36N + NN2000 height',NULL,NULL,'EPSG','25836','EPSG','5941','EPSG','3676',0);
INSERT INTO "compound_crs" VALUES('EPSG','6144','ETRS89 + NN54 height',NULL,NULL,'EPSG','4258','EPSG','5776','EPSG','1352',0);
INSERT INTO "compound_crs" VALUES('EPSG','6145','ETRS89 / NTM zone 5 + NN54 height',NULL,NULL,'EPSG','5105','EPSG','5776','EPSG','3636',0);
INSERT INTO "compound_crs" VALUES('EPSG','6146','ETRS89 / NTM zone 6 + NN54 height',NULL,NULL,'EPSG','5106','EPSG','5776','EPSG','3639',0);
@@ -97,12 +97,12 @@ INSERT INTO "compound_crs" VALUES('EPSG','6167','ETRS89 / NTM zone 27 + NN54 hei
INSERT INTO "compound_crs" VALUES('EPSG','6168','ETRS89 / NTM zone 28 + NN54 height',NULL,NULL,'EPSG','5128','EPSG','5776','EPSG','3673',0);
INSERT INTO "compound_crs" VALUES('EPSG','6169','ETRS89 / NTM zone 29 + NN54 height',NULL,NULL,'EPSG','5129','EPSG','5776','EPSG','3674',0);
INSERT INTO "compound_crs" VALUES('EPSG','6170','ETRS89 / NTM zone 30 + NN54 height',NULL,NULL,'EPSG','5130','EPSG','5776','EPSG','3676',0);
INSERT INTO "compound_crs" VALUES('EPSG','6171','ETRS89 / UTM zone 31 + NN54 height',NULL,NULL,'EPSG','25831','EPSG','5776','EPSG','3636',0);
INSERT INTO "compound_crs" VALUES('EPSG','6172','ETRS89 / UTM zone 32 + NN54 height',NULL,NULL,'EPSG','25832','EPSG','5776','EPSG','4066',0);
INSERT INTO "compound_crs" VALUES('EPSG','6173','ETRS89 / UTM zone 33 + NN54 height',NULL,NULL,'EPSG','25833','EPSG','5776','EPSG','4067',0);
INSERT INTO "compound_crs" VALUES('EPSG','6174','ETRS89 / UTM zone 34 + NN54 height',NULL,NULL,'EPSG','25834','EPSG','5776','EPSG','4068',0);
INSERT INTO "compound_crs" VALUES('EPSG','6175','ETRS89 / UTM zone 35 + NN54 height',NULL,NULL,'EPSG','25835','EPSG','5776','EPSG','4069',0);
INSERT INTO "compound_crs" VALUES('EPSG','6176','ETRS89 / UTM zone 36 + NN54 height',NULL,NULL,'EPSG','25836','EPSG','5776','EPSG','3676',0);
INSERT INTO "compound_crs" VALUES('EPSG','6171','ETRS89 / UTM zone 31N + NN54 height',NULL,NULL,'EPSG','25831','EPSG','5776','EPSG','3636',0);
INSERT INTO "compound_crs" VALUES('EPSG','6172','ETRS89 / UTM zone 32N + NN54 height',NULL,NULL,'EPSG','25832','EPSG','5776','EPSG','4066',0);
INSERT INTO "compound_crs" VALUES('EPSG','6173','ETRS89 / UTM zone 33N + NN54 height',NULL,NULL,'EPSG','25833','EPSG','5776','EPSG','4067',0);
INSERT INTO "compound_crs" VALUES('EPSG','6174','ETRS89 / UTM zone 34N + NN54 height',NULL,NULL,'EPSG','25834','EPSG','5776','EPSG','4068',0);
INSERT INTO "compound_crs" VALUES('EPSG','6175','ETRS89 / UTM zone 35N + NN54 height',NULL,NULL,'EPSG','25835','EPSG','5776','EPSG','4069',0);
INSERT INTO "compound_crs" VALUES('EPSG','6176','ETRS89 / UTM zone 36N + NN54 height',NULL,NULL,'EPSG','25836','EPSG','5776','EPSG','3676',0);
INSERT INTO "compound_crs" VALUES('EPSG','6190','Belge 1972 / Belgian Lambert 72 + Ostend height',NULL,NULL,'EPSG','31370','EPSG','5710','EPSG','1347',0);
INSERT INTO "compound_crs" VALUES('EPSG','6349','NAD83(2011) + NAVD88 height',NULL,NULL,'EPSG','6318','EPSG','5703','EPSG','3664',0);
INSERT INTO "compound_crs" VALUES('EPSG','6649','NAD83(CSRS) + CGVD2013 height',NULL,NULL,'EPSG','4617','EPSG','6647','EPSG','1061',0);
@@ -277,3 +277,18 @@ INSERT INTO "compound_crs" VALUES('EPSG','8813','NAD83 / Missouri East + NAVD88
INSERT INTO "compound_crs" VALUES('EPSG','8814','NAD83 / Missouri Central + NAVD88 height',NULL,NULL,'EPSG','26997','EPSG','5703','EPSG','2218',0);
INSERT INTO "compound_crs" VALUES('EPSG','8815','NAD83 / Missouri West + NAVD88 height',NULL,NULL,'EPSG','26998','EPSG','5703','EPSG','2220',0);
INSERT INTO "compound_crs" VALUES('EPSG','8912','CR-SIRGAS / CRTM05 + DACR52 height',NULL,NULL,'EPSG','8908','EPSG','8911','EPSG','3232',0);
INSERT INTO "compound_crs" VALUES('EPSG','9306','HS2 Survey Grid + HS2-VRF height',NULL,NULL,'EPSG','9300','EPSG','9303','EPSG','4582',0);
INSERT INTO "compound_crs" VALUES('EPSG','9368','TPEN11 Grid + ODN height',NULL,NULL,'EPSG','9367','EPSG','5701','EPSG','4583',0);
INSERT INTO "compound_crs" VALUES('EPSG','9374','MML07 Grid + ODN height',NULL,NULL,'EPSG','9373','EPSG','5701','EPSG','4588',0);
INSERT INTO "compound_crs" VALUES('EPSG','9388','AbInvA96_2020 Grid + ODN height',NULL,NULL,'EPSG','9387','EPSG','5701','EPSG','4589',0);
INSERT INTO "compound_crs" VALUES('EPSG','9422','ETRS89 + EVRF2019 height',NULL,NULL,'EPSG','4258','EPSG','9389','EPSG','4609',0);
INSERT INTO "compound_crs" VALUES('EPSG','9423','ETRS89 + EVRF2019 mean-tide height',NULL,NULL,'EPSG','4258','EPSG','9390','EPSG','4609',0);
INSERT INTO "compound_crs" VALUES('EPSG','9424','ETRS89 + ODN height',NULL,NULL,'EPSG','4258','EPSG','5701','EPSG','2792',0);
INSERT INTO "compound_crs" VALUES('EPSG','9425','ETRS89 + ODN (Offshore) height',NULL,NULL,'EPSG','4258','EPSG','7707','EPSG','4391',0);
INSERT INTO "compound_crs" VALUES('EPSG','9426','ETRS89 + ODN Orkney height',NULL,NULL,'EPSG','4258','EPSG','5740','EPSG','2793',0);
INSERT INTO "compound_crs" VALUES('EPSG','9427','ETRS89 + Lerwick height',NULL,NULL,'EPSG','4258','EPSG','5742','EPSG','2795',0);
INSERT INTO "compound_crs" VALUES('EPSG','9428','ETRS89 + Stornoway height',NULL,NULL,'EPSG','4258','EPSG','5746','EPSG','2799',0);
INSERT INTO "compound_crs" VALUES('EPSG','9429','ETRS89 + Douglas height',NULL,NULL,'EPSG','4258','EPSG','5750','EPSG','2803',0);
INSERT INTO "compound_crs" VALUES('EPSG','9430','ETRS89 + St. Marys height',NULL,NULL,'EPSG','4258','EPSG','5749','EPSG','2802',0);
INSERT INTO "compound_crs" VALUES('EPSG','9449','ETRS89 + Malin Head height',NULL,NULL,'EPSG','4258','EPSG','5731','EPSG','1305',0);
INSERT INTO "compound_crs" VALUES('EPSG','9450','ETRS89 + Belfast height',NULL,NULL,'EPSG','4258','EPSG','5732','EPSG','2530',0);
+2425 -2419
View File
File diff suppressed because it is too large Load Diff
+122
View File
@@ -25,6 +25,51 @@ INSERT INTO "geodetic_crs" VALUES('OGC','CRS84','WGS 84 (CRS84)',NULL,NULL,'geog
INSERT INTO "other_transformation" VALUES('PROJ','CRS84_TO_EPSG_4326','OGC:CRS84 to WGS 84',NULL,NULL,'EPSG','9843','Axis Order Reversal (2D)','OGC','CRS84','EPSG','4326','EPSG','1262',0.0,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);
-- Temporary entry for NZGD2000 deformation model
INSERT INTO other_transformation VALUES(
'PROJ','NZGD2000-20180701','NZGD2000 to ITRF96',
'New Zealand Deformation Model. Defines the secular model (National Deformation Model) and patches for significant deformation events since 2000', NULL,
'PROJ', 'PROJString',
'+proj=pipeline ' ||
'+step +proj=unitconvert +xy_in=deg +xy_out=rad ' ||
'+step +proj=axisswap +order=2,1 ' ||
'+step +proj=defmodel +model=nz_linz_nzgd2000-20180701.json ' ||
'+step +proj=axisswap +order=2,1 ' ||
'+step +proj=unitconvert +xy_in=rad +xy_out=deg',
'EPSG','4959',
'EPSG','7907',
'EPSG','1175',
NULL, --accuracy
NULL,NULL,NULL,NULL,NULL,NULL, -- param1
NULL,NULL,NULL,NULL,NULL,NULL, -- param2
NULL,NULL,NULL,NULL,NULL,NULL, -- param3
NULL,NULL,NULL,NULL,NULL,NULL, -- param4
NULL,NULL,NULL,NULL,NULL,NULL, -- param5
NULL,NULL,NULL,NULL,NULL,NULL, -- param6
NULL,NULL,NULL,NULL,NULL,NULL, -- param7
'20180701', -- operation version
0);
INSERT INTO "concatenated_operation" VALUES('PROJ','NZGD2000_TO_ITRF97','NZGD2000 to ITRF97','Concatenation of PROJ:NZGD2000-20180701 and 9079','','EPSG','4959','EPSG','7908','EPSG','1175',NULL,NULL,0);
INSERT INTO "concatenated_operation_step" VALUES('PROJ','NZGD2000_TO_ITRF97',1,'PROJ','NZGD2000-20180701');
INSERT INTO "concatenated_operation_step" VALUES('PROJ','NZGD2000_TO_ITRF97',2,'EPSG','9079');
INSERT INTO "concatenated_operation" VALUES('PROJ','NZGD2000_TO_ITRF2000','NZGD2000 to ITRF2000','Concatenation of PROJ:NZGD2000-20180701 and 9080','','EPSG','4959','EPSG','7909','EPSG','1175',NULL,NULL,0);
INSERT INTO "concatenated_operation_step" VALUES('PROJ','NZGD2000_TO_ITRF2000',1,'PROJ','NZGD2000-20180701');
INSERT INTO "concatenated_operation_step" VALUES('PROJ','NZGD2000_TO_ITRF2000',2,'EPSG','9080');
INSERT INTO "concatenated_operation" VALUES('PROJ','NZGD2000_TO_ITRF2005','NZGD2000 to ITRF2005','Concatenation of PROJ:NZGD2000-20180701 and 9081','','EPSG','4959','EPSG','7910','EPSG','1175',NULL,NULL,0);
INSERT INTO "concatenated_operation_step" VALUES('PROJ','NZGD2000_TO_ITRF2005',1,'PROJ','NZGD2000-20180701');
INSERT INTO "concatenated_operation_step" VALUES('PROJ','NZGD2000_TO_ITRF2005',2,'EPSG','9081');
INSERT INTO "concatenated_operation" VALUES('PROJ','NZGD2000_TO_ITRF2008','NZGD2000 to ITRF2008','Concatenation of PROJ:NZGD2000-20180701 and EPSG:9082','','EPSG','4959','EPSG','7911','EPSG','1175',NULL,NULL,0);
INSERT INTO "concatenated_operation_step" VALUES('PROJ','NZGD2000_TO_ITRF2008',1,'PROJ','NZGD2000-20180701');
INSERT INTO "concatenated_operation_step" VALUES('PROJ','NZGD2000_TO_ITRF2008',2,'EPSG','9082');
INSERT INTO "concatenated_operation" VALUES('PROJ','NZGD2000_TO_ITRF2014','NZGD2000 to ITRF2014','Concatenation of PROJ:NZGD2000-20180701 and EPSG:9083','','EPSG','4959','EPSG','7912','EPSG','1175',NULL,NULL,0);
INSERT INTO "concatenated_operation_step" VALUES('PROJ','NZGD2000_TO_ITRF2014',1,'PROJ','NZGD2000-20180701');
INSERT INTO "concatenated_operation_step" VALUES('PROJ','NZGD2000_TO_ITRF2014',2,'EPSG','9083');
-- alias of EPSG:3857
INSERT INTO "projected_crs" VALUES('EPSG','900913','Google Maps Global Mercator',NULL,NULL,'EPSG','4499','EPSG','4326','EPSG','3856','EPSG','3544',NULL,1);
@@ -123,6 +168,8 @@ INSERT INTO "geoid_model" SELECT 'GEOID12B', auth_name, code FROM grid_transform
INSERT INTO "geoid_model" SELECT 'GEOID18', auth_name, code FROM grid_transformation WHERE auth_name = 'EPSG' AND grid_name LIKE 'g2018%' AND deprecated = 0;
INSERT INTO "geoid_model" SELECT 'OSGM15', auth_name, code FROM grid_transformation WHERE auth_name = 'EPSG' AND grid_name LIKE '%OSGM15%' AND deprecated = 0;
---- PROJ historic +datum aliases -----
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','6326','WGS84','PROJ');
@@ -135,3 +182,78 @@ INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','6312','hermannskogel','
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)
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','4326','WGS84','PROJ');
---- PROJ unit short names -----
-- Linear units
UPDATE unit_of_measure SET proj_short_name = 'mm' WHERE auth_name = 'EPSG' AND code = '1025';
UPDATE unit_of_measure SET proj_short_name = 'cm' WHERE auth_name = 'EPSG' AND code = '1033';
UPDATE unit_of_measure SET proj_short_name = 'm' WHERE auth_name = 'EPSG' AND code = '9001';
UPDATE unit_of_measure SET proj_short_name = 'ft' WHERE auth_name = 'EPSG' AND code = '9002';
UPDATE unit_of_measure SET proj_short_name = 'us-ft' WHERE auth_name = 'EPSG' AND code = '9003';
UPDATE unit_of_measure SET proj_short_name = 'fath' WHERE auth_name = 'EPSG' AND code = '9014';
UPDATE unit_of_measure SET proj_short_name = 'kmi' WHERE auth_name = 'EPSG' AND code = '9030';
UPDATE unit_of_measure SET proj_short_name = 'us-ch' WHERE auth_name = 'EPSG' AND code = '9033';
UPDATE unit_of_measure SET proj_short_name = 'us-mi' WHERE auth_name = 'EPSG' AND code = '9035';
UPDATE unit_of_measure SET proj_short_name = 'km' WHERE auth_name = 'EPSG' AND code = '9036';
UPDATE unit_of_measure SET proj_short_name = 'ind-ft' WHERE auth_name = 'EPSG' AND code = '9081';
UPDATE unit_of_measure SET proj_short_name = 'ind-yd' WHERE auth_name = 'EPSG' AND code = '9085';
UPDATE unit_of_measure SET proj_short_name = 'mi' WHERE auth_name = 'EPSG' AND code = '9093';
UPDATE unit_of_measure SET proj_short_name = 'yd' WHERE auth_name = 'EPSG' AND code = '9096';
UPDATE unit_of_measure SET proj_short_name = 'ch' WHERE auth_name = 'EPSG' AND code = '9097';
UPDATE unit_of_measure SET proj_short_name = 'link' WHERE auth_name = 'EPSG' AND code = '9098';
-- Angular units
UPDATE unit_of_measure SET proj_short_name = 'rad' WHERE auth_name = 'EPSG' AND code = '9101';
UPDATE unit_of_measure SET proj_short_name = 'deg' WHERE auth_name = 'EPSG' AND code = '9102';
UPDATE unit_of_measure SET proj_short_name = 'grad' WHERE auth_name = 'EPSG' AND code = '9105';
-- PROJ specific units
INSERT INTO "unit_of_measure" VALUES('PROJ','DM','decimeter','length',0.01,'dm',0);
INSERT INTO "unit_of_measure" VALUES('PROJ','IN','inch','length',0.0254,'in',0);
INSERT INTO "unit_of_measure" VALUES('PROJ','US_IN','US survey inch','length',0.025400050800101,'us-in',0);
INSERT INTO "unit_of_measure" VALUES('PROJ','US_YD','US survey yard','length',0.914401828803658,'us-yd',0);
INSERT INTO "unit_of_measure" VALUES('PROJ','IND_CH','Indian chain','length',20.11669506,'ind-ch',0);
-- Deal with grid_transformation using EPSG:9635 'Geog3D to Geog2D+GravityRelatedHeight (US .gtx)' method
-- We derive records using the more classic 'Geographic3D to GravityRelatedHeight' method
-- We could probably do that at runtime too, but more simple and efficient to create records
INSERT INTO "grid_transformation"
SELECT
'PROJ' AS auth_name,
gt.auth_name || '_' || gt.code || '_RESTRICTED_TO_VERTCRS' AS code,
gcrs.name || ' to ' || vcrs.name || ' (from ' || gt.name || ')' AS name,
NULL AS description,
gt.scope,
'EPSG' AS method_auth_name,
'9665' AS method_code,
'Geographic3D to GravityRelatedHeight (gtx)' AS method_name,
gt.source_crs_auth_name,
gt.source_crs_code,
c.vertical_crs_auth_name AS target_crs_auth_name,
c.vertical_crs_code AS target_crs_code,
gt.area_of_use_auth_name,
gt.area_of_use_code,
gt.accuracy,
gt.grid_param_auth_name,
gt.grid_param_code,
gt.grid_param_name,
gt.grid_name,
gt.grid2_param_auth_name,
gt.grid2_param_code,
gt.grid2_param_name,
gt.grid2_name,
gt.interpolation_crs_auth_name,
gt.interpolation_crs_code,
gt.operation_version,
gt.deprecated
FROM grid_transformation gt
JOIN compound_crs c ON gt.target_crs_code = c.code AND gt.target_crs_auth_name = c.auth_name
JOIN geodetic_crs gcrs ON gt.source_crs_auth_name = gcrs.auth_name AND gt.source_crs_code = gcrs.code
JOIN vertical_crs vcrs on vcrs.auth_name = c.vertical_crs_auth_name AND vcrs.code = c.vertical_crs_code
WHERE method_auth_name = 'EPSG' AND method_code = '9635' AND gt.deprecated = 0;
+8
View File
@@ -456,3 +456,11 @@ INSERT INTO "deprecation" VALUES('projected_crs','EPSG','3911','EPSG','8686','EP
INSERT INTO "deprecation" VALUES('geodetic_crs','EPSG','8449','EPSG','8860','EPSG');
INSERT INTO "deprecation" VALUES('geodetic_crs','EPSG','4280','EPSG','4211','EPSG');
INSERT INTO "deprecation" VALUES('geodetic_crs','EPSG','4808','EPSG','4813','EPSG');
INSERT INTO "deprecation" VALUES('projected_crs','EPSG','2163','EPSG','9311','EPSG');
INSERT INTO "deprecation" VALUES('projected_crs','EPSG','3408','EPSG','6931','EPSG');
INSERT INTO "deprecation" VALUES('projected_crs','EPSG','3409','EPSG','6932','EPSG');
INSERT INTO "deprecation" VALUES('projected_crs','EPSG','3410','EPSG','6933','EPSG');
INSERT INTO "deprecation" VALUES('projected_crs','EPSG','3411','EPSG','3413','EPSG');
INSERT INTO "deprecation" VALUES('projected_crs','EPSG','3412','EPSG','3976','EPSG');
INSERT INTO "deprecation" VALUES('projected_crs','EPSG','4088','EPSG','4087','EPSG');
INSERT INTO "deprecation" VALUES('projected_crs','EPSG','7804','EPSG','9391','EPSG');
+1200 -1018
View File
File diff suppressed because it is too large Load Diff
+18 -7
View File
@@ -160,7 +160,7 @@ INSERT INTO "geodetic_crs" VALUES('EPSG','4215','Belge 1950',NULL,NULL,'geograph
INSERT INTO "geodetic_crs" VALUES('EPSG','4216','Bermuda 1957',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','6216','EPSG','3221',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','4218','Bogota 1975',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','6218','EPSG','3686',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','4219','Bukit Rimpah',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','6219','EPSG','1287',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','4220','Camacupa 1948',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','6220','EPSG','1029',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','4220','Camacupa 1948',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','6220','EPSG','1288',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','4221','Campo Inchauspe',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','6221','EPSG','3843',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','4222','Cape',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','6222','EPSG','1290',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','4223','Carthage',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','6223','EPSG','1236',NULL,0);
@@ -201,7 +201,7 @@ INSERT INTO "geodetic_crs" VALUES('EPSG','4257','Makassar',NULL,NULL,'geographic
INSERT INTO "geodetic_crs" VALUES('EPSG','4258','ETRS89',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','6258','EPSG','1298',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','4259','Malongo 1987',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','6259','EPSG','3180',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','4260','Manoca',NULL,NULL,'geographic 2D','EPSG','6402','EPSG','6260','EPSG','1060',NULL,1);
INSERT INTO "geodetic_crs" VALUES('EPSG','4261','Merchich',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','6261','EPSG','3280',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','4261','Merchich',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','6261','EPSG','4581',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','4262','Massawa',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','6262','EPSG','1089',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','4263','Minna',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','6263','EPSG','1178',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','4264','Mhast',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','6264','EPSG','1318',NULL,1);
@@ -461,7 +461,7 @@ INSERT INTO "geodetic_crs" VALUES('EPSG','4724','Diego Garcia 1969',NULL,NULL,'g
INSERT INTO "geodetic_crs" VALUES('EPSG','4725','Johnston Island 1961',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','6725','EPSG','3201',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','4726','SIGD61',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','6726','EPSG','3186',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','4727','Midway 1961',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','6727','EPSG','3202',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','4728','Pico de las Nieves 1984',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','6728','EPSG','3873',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','4728','PN84',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','6728','EPSG','4598',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','4729','Pitcairn 1967',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','6729','EPSG','3208',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','4730','Santo 1965',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','6730','EPSG','3194',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','4731','Viti Levu 1916',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','6731','EPSG','3195',NULL,1);
@@ -738,7 +738,7 @@ INSERT INTO "geodetic_crs" VALUES('EPSG','6882','Bekaa Valley 1920',NULL,NULL,'g
INSERT INTO "geodetic_crs" VALUES('EPSG','6883','Bioko',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','1136','EPSG','4220',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','6892','South East Island 1943',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','1138','EPSG','4183',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','6894','Gambia',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','1139','EPSG','3250',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','6934','IGS08',NULL,NULL,'geocentric','EPSG','6500','EPSG','1141','EPSG','2830',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','6934','IGS08',NULL,NULL,'geocentric','EPSG','6500','EPSG','1141','EPSG','1262',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','6978','IGD05',NULL,NULL,'geocentric','EPSG','6500','EPSG','1143','EPSG','1126',NULL,1);
INSERT INTO "geodetic_crs" VALUES('EPSG','6979','IGD05',NULL,NULL,'geographic 3D','EPSG','6423','EPSG','1143','EPSG','1126',NULL,1);
INSERT INTO "geodetic_crs" VALUES('EPSG','6980','IGD05',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','1143','EPSG','1126',NULL,1);
@@ -1023,14 +1023,25 @@ INSERT INTO "geodetic_crs" VALUES('EPSG','9148','SIRGAS-Chile 2013',NULL,NULL,'g
INSERT INTO "geodetic_crs" VALUES('EPSG','9151','SIRGAS-Chile 2016',NULL,NULL,'geocentric','EPSG','6500','EPSG','1253','EPSG','1066',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','9152','SIRGAS-Chile 2016',NULL,NULL,'geographic 3D','EPSG','6423','EPSG','1253','EPSG','1066',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','9153','SIRGAS-Chile 2016',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','1253','EPSG','1066',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','9182','SIRGAS-Chile',NULL,NULL,'geocentric','EPSG','6500','EPSG','1254','EPSG','1066',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','9183','SIRGAS-Chile',NULL,NULL,'geographic 3D','EPSG','6423','EPSG','1254','EPSG','1066',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','9184','SIRGAS-Chile',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','1254','EPSG','1066',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','9182','SIRGAS-Chile',NULL,NULL,'geocentric','EPSG','6500','EPSG','1254','EPSG','1066',NULL,1);
INSERT INTO "geodetic_crs" VALUES('EPSG','9183','SIRGAS-Chile',NULL,NULL,'geographic 3D','EPSG','6423','EPSG','1254','EPSG','1066',NULL,1);
INSERT INTO "geodetic_crs" VALUES('EPSG','9184','SIRGAS-Chile',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','1254','EPSG','1066',NULL,1);
INSERT INTO "geodetic_crs" VALUES('EPSG','9248','Tapi Aike',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','1257','EPSG','4569',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','9251','MMN',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','1258','EPSG','2357',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','9253','MMS',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','1259','EPSG','2357',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','9266','MGI',NULL,NULL,'geocentric','EPSG','6500','EPSG','6312','EPSG','1037',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','9267','MGI',NULL,NULL,'geographic 3D','EPSG','6423','EPSG','6312','EPSG','1037',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','9292','ONGD17',NULL,NULL,'geocentric','EPSG','6500','EPSG','1263','EPSG','1183',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','9293','ONGD17',NULL,NULL,'geographic 3D','EPSG','6423','EPSG','1263','EPSG','1183',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','9294','ONGD17',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','1263','EPSG','1183',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','9299','HS2-IRF',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','1264','EPSG','4582',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','9331','KSA-GRF17',NULL,NULL,'geocentric','EPSG','6500','EPSG','1268','EPSG','1206',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','9332','KSA-GRF17',NULL,NULL,'geographic 3D','EPSG','6423','EPSG','1268','EPSG','1206',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','9333','KSA-GRF17',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','1268','EPSG','1206',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','9364','TPEN11-IRF',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','1266','EPSG','4583',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','9372','MML07-IRF',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','1271','EPSG','4588',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','9378','IGb14',NULL,NULL,'geocentric','EPSG','6500','EPSG','1272','EPSG','2830',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','9379','IGb14',NULL,NULL,'geographic 3D','EPSG','6423','EPSG','1272','EPSG','1262',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','9380','IGb14',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','1191','EPSG','1262',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','9384','AbInvA96_2020-IRF',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','1273','EPSG','4589',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','9403','PN68',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','1286','EPSG','3873',NULL,0);
+13 -6
View File
@@ -137,7 +137,7 @@ INSERT INTO "geodetic_datum" VALUES('EPSG','1239','SIRGAS Continuously Operating
INSERT INTO "geodetic_datum" VALUES('EPSG','1240','SIRGAS Continuously Operating Network SIR14P01',NULL,NULL,'EPSG','7019','EPSG','8901','EPSG','4530','2013-01-01',0);
INSERT INTO "geodetic_datum" VALUES('EPSG','1241','SIRGAS Continuously Operating Network SIR15P01',NULL,NULL,'EPSG','7019','EPSG','8901','EPSG','4530','2013-01-01',0);
INSERT INTO "geodetic_datum" VALUES('EPSG','1242','SIRGAS Continuously Operating Network SIR17P01',NULL,NULL,'EPSG','7019','EPSG','8901','EPSG','4530','2015-01-01',0);
INSERT INTO "geodetic_datum" VALUES('EPSG','1243','SIRGAS-Chile realization 2 epoch 2010.00',NULL,NULL,'EPSG','7019','EPSG','8901','EPSG','1066','2010-01-01',0);
INSERT INTO "geodetic_datum" VALUES('EPSG','1243','SIRGAS-Chile realization 2 epoch 2010',NULL,NULL,'EPSG','7019','EPSG','8901','EPSG','1066','2010-01-01',0);
INSERT INTO "geodetic_datum" VALUES('EPSG','1244','IGS97',NULL,NULL,'EPSG','7019','EPSG','8901','EPSG','1262','1997-01-01',0);
INSERT INTO "geodetic_datum" VALUES('EPSG','1245','IGS00',NULL,NULL,'EPSG','7019','EPSG','8901','EPSG','1262','1998-01-01',0);
INSERT INTO "geodetic_datum" VALUES('EPSG','1246','IGb00',NULL,NULL,'EPSG','7019','EPSG','8901','EPSG','1262','1998-01-01',0);
@@ -145,13 +145,20 @@ INSERT INTO "geodetic_datum" VALUES('EPSG','1247','IGS05',NULL,NULL,'EPSG','7019
INSERT INTO "geodetic_datum" VALUES('EPSG','1248','IGb08',NULL,NULL,'EPSG','7019','EPSG','8901','EPSG','1262','2005-01-01',0);
INSERT INTO "geodetic_datum" VALUES('EPSG','1249','North American Datum of 1983 (PACP00)',NULL,NULL,'EPSG','7019','EPSG','8901','EPSG','4162','1993-08-15',0);
INSERT INTO "geodetic_datum" VALUES('EPSG','1251','Kosovo Reference System 2001',NULL,NULL,'EPSG','7019','EPSG','8901','EPSG','4542','2001-04-01',0);
INSERT INTO "geodetic_datum" VALUES('EPSG','1252','SIRGAS-Chile realization 3 epoch 2013.00',NULL,NULL,'EPSG','7019','EPSG','8901','EPSG','1066','2013-01-01',0);
INSERT INTO "geodetic_datum" VALUES('EPSG','1253','SIRGAS-Chile realization 4 epoch 2016.00',NULL,NULL,'EPSG','7019','EPSG','8901','EPSG','1066','2016-01-01',0);
INSERT INTO "geodetic_datum" VALUES('EPSG','1254','SIRGAS-Chile',NULL,NULL,'EPSG','7019','EPSG','8901','EPSG','1066',NULL,0);
INSERT INTO "geodetic_datum" VALUES('EPSG','1252','SIRGAS-Chile realization 3 epoch 2013',NULL,NULL,'EPSG','7019','EPSG','8901','EPSG','1066','2013-01-01',0);
INSERT INTO "geodetic_datum" VALUES('EPSG','1253','SIRGAS-Chile realization 4 epoch 2016',NULL,NULL,'EPSG','7019','EPSG','8901','EPSG','1066','2016-01-01',0);
INSERT INTO "geodetic_datum" VALUES('EPSG','1254','SIRGAS-Chile',NULL,NULL,'EPSG','7019','EPSG','8901','EPSG','1066',NULL,1);
INSERT INTO "geodetic_datum" VALUES('EPSG','1257','Tapi Aike',NULL,NULL,'EPSG','7022','EPSG','8901','EPSG','4569','1945-01-01',0);
INSERT INTO "geodetic_datum" VALUES('EPSG','1258','Ministerio de Marina Norte',NULL,NULL,'EPSG','7022','EPSG','8901','EPSG','2357',NULL,0);
INSERT INTO "geodetic_datum" VALUES('EPSG','1259','Ministerio de Marina Sur',NULL,NULL,'EPSG','7022','EPSG','8901','EPSG','2357',NULL,0);
INSERT INTO "geodetic_datum" VALUES('EPSG','1268','Kingdom of Saudi Arabia Geodetic Reference Frame 2017',NULL,NULL,'EPSG','7019','EPSG','8901','EPSG','1206','2017-12-01',0);
INSERT INTO "geodetic_datum" VALUES('EPSG','1263','Oman National Geodetic Datum 2017',NULL,NULL,'EPSG','7019','EPSG','8901','EPSG','1183','2017-11-01',0);
INSERT INTO "geodetic_datum" VALUES('EPSG','1264','HS2 Intermediate Reference Frame',NULL,NULL,'EPSG','7019','EPSG','8901','EPSG','4582',NULL,0);
INSERT INTO "geodetic_datum" VALUES('EPSG','1266','TPEN11 Intermediate Reference Frame',NULL,NULL,'EPSG','7019','EPSG','8901','EPSG','4583',NULL,0);
INSERT INTO "geodetic_datum" VALUES('EPSG','1268','Kingdom of Saudi Arabia Geodetic Reference Frame 2017',NULL,NULL,'EPSG','7019','EPSG','8901','EPSG','1206','2019-07-01',0);
INSERT INTO "geodetic_datum" VALUES('EPSG','1271','MML07 Intermediate Reference Frame',NULL,NULL,'EPSG','7019','EPSG','8901','EPSG','4588',NULL,0);
INSERT INTO "geodetic_datum" VALUES('EPSG','1272','IGb14',NULL,NULL,'EPSG','7019','EPSG','8901','EPSG','1262','2010-01-01',0);
INSERT INTO "geodetic_datum" VALUES('EPSG','1273','AbInvA96_2020 Intermediate Reference Frame',NULL,NULL,'EPSG','7019','EPSG','8901','EPSG','4589',NULL,0);
INSERT INTO "geodetic_datum" VALUES('EPSG','1286','Pico de las Nieves 1968',NULL,NULL,'EPSG','7022','EPSG','8901','EPSG','3873',NULL,0);
INSERT INTO "geodetic_datum" VALUES('EPSG','6001','Not specified (based on Airy 1830 ellipsoid)',NULL,NULL,'EPSG','7001','EPSG','8901','EPSG','1263',NULL,0);
INSERT INTO "geodetic_datum" VALUES('EPSG','6002','Not specified (based on Airy Modified 1849 ellipsoid)',NULL,NULL,'EPSG','7002','EPSG','8901','EPSG','1263',NULL,0);
INSERT INTO "geodetic_datum" VALUES('EPSG','6003','Not specified (based on Australian National Spheroid)',NULL,NULL,'EPSG','7003','EPSG','8901','EPSG','1263',NULL,0);
@@ -517,7 +524,7 @@ INSERT INTO "geodetic_datum" VALUES('EPSG','6724','Diego Garcia 1969',NULL,NULL,
INSERT INTO "geodetic_datum" VALUES('EPSG','6725','Johnston Island 1961',NULL,NULL,'EPSG','7022','EPSG','8901','EPSG','3201','1961-01-01',0);
INSERT INTO "geodetic_datum" VALUES('EPSG','6726','Sister Islands Geodetic Datum 1961',NULL,NULL,'EPSG','7008','EPSG','8901','EPSG','3186','1961-01-01',0);
INSERT INTO "geodetic_datum" VALUES('EPSG','6727','Midway 1961',NULL,NULL,'EPSG','7022','EPSG','8901','EPSG','3202','1961-01-01',0);
INSERT INTO "geodetic_datum" VALUES('EPSG','6728','Pico de las Nieves 1984',NULL,NULL,'EPSG','7022','EPSG','8901','EPSG','3873',NULL,0);
INSERT INTO "geodetic_datum" VALUES('EPSG','6728','Pico de las Nieves 1984',NULL,NULL,'EPSG','7022','EPSG','8901','EPSG','4598',NULL,0);
INSERT INTO "geodetic_datum" VALUES('EPSG','6729','Pitcairn 1967',NULL,NULL,'EPSG','7022','EPSG','8901','EPSG','3208','1967-01-01',0);
INSERT INTO "geodetic_datum" VALUES('EPSG','6730','Santo 1965',NULL,NULL,'EPSG','7022','EPSG','8901','EPSG','3194','1965-01-01',0);
INSERT INTO "geodetic_datum" VALUES('EPSG','6731','Viti Levu 1916',NULL,NULL,'EPSG','7012','EPSG','8901','EPSG','3195','1916-01-01',1);
+19 -8
View File
@@ -47,6 +47,8 @@ VALUES
('OSGM15_Malin.gri','uk_os_OSGM15_Malin.tif','OSGM15_Malin.gtx','GTiff','geoid_like',0,NULL,'https://cdn.proj.org/uk_os_OSGM15_Malin.tif',1,1,NULL),
-- Northern Ireland: OSGM15 height, Belfast height -> ETRS89 ellipsoidal heights
('OSGM15_Belfast.gri','uk_os_OSGM15_Belfast.tif','OSGM15_Belfast.gtx','GTiff','geoid_like',0,NULL,'https://cdn.proj.org/uk_os_OSGM15_Belfast.tif',1,1,NULL),
-- United Kingdom: OSGM15 height, ODN height -> ETRS89 ellipsoidal heights
('OSTN15_OSGM15_GB.txt','uk_os_OSGM15_GB.tif',NULL,'GTiff','geoid_like',0,NULL,'https://cdn.proj.org/uk_os_OSGM15_GB.tif',1,1,NULL),
-- US GEOID99 height models. Not mapped: Alaska: g1999a01.gtx to g1999a04.gtx. Hawaii: g1999h01.gtx, Puerto Rico: g1999p01.gtx
('g1999u01.bin','us_noaa_g1999u01.tif','g1999u01.gtx','GTiff','geoid_like',0,NULL,'https://cdn.proj.org/us_noaa_g1999u01.tif',1,1,NULL),
('g1999u02.bin','us_noaa_g1999u02.tif','g1999u02.gtx','GTiff','geoid_like',0,NULL,'https://cdn.proj.org/us_noaa_g1999u02.tif',1,1,NULL),
@@ -137,6 +139,9 @@ VALUES
('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),
-- Spain
('100800401.gsb','es_cat_icgc_100800401.tif','100800401.gsb','GTiff','hgridshift',0,NULL,'https://cdn.proj.org/es_cat_icgc_100800401.tif',1,1,NULL),
('SPED2ETV2.gsb','es_ign_SPED2ETV2.tif',NULL,'GTiff','hgridshift',0,NULL,'https://cdn.proj.org/es_ign_SPED2ETV2.tif',1,1,NULL),
('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),
-- Portugal
('DLx_ETRS89_geo.gsb','pt_dgt_DLx_ETRS89_geo.tif','DLx_ETRS89_geo.gsb','GTiff','hgridshift',0,NULL,'https://cdn.proj.org/pt_dgt_DLx_ETRS89_geo.tif',1,1,NULL),
('D73_ETRS89_geo.gsb','pt_dgt_D73_ETRS89_geo.tif','D73_ETRS89_geo.gsb','GTiff','hgridshift',0,NULL,'https://cdn.proj.org/pt_dgt_D73_ETRS89_geo.tif',1,1,NULL),
@@ -178,16 +183,17 @@ VALUES
('Icegeoid_ISN2004.gtx','is_lmi_Icegeoid_ISN2004.tif','Icegeoid_ISN2004.gtx','GTiff','geoid_like',0,NULL,'https://cdn.proj.org/is_lmi_Icegeoid_ISN2004.tif',1,1,NULL),
('Icegeoid_ISN93.gtx','is_lmi_Icegeoid_ISN93.tif','Icegeoid_ISN93.gtx','GTiff','geoid_like',0,NULL,'https://cdn.proj.org/is_lmi_Icegeoid_ISN93.tif',1,1,NULL),
('Icegeoid_ISN2016.gtx','is_lmi_Icegeoid_ISN2016.tif','Icegeoid_ISN2016.gtx','GTiff','geoid_like',0,NULL,'https://cdn.proj.org/is_lmi_Icegeoid_ISN2016.tif',1,1,NULL),
-- New Caledonia,
('gr3dnc01b.mnt','nc_dittt_gr3dnc01b.tif',NULL,'GTiff','geocentricoffset',0,NULL,'https://cdn.proj.org/nc_dittt_gr3dnc01b.tif',1,1,NULL),
('gr3dnc02b.mnt','nc_dittt_gr3dnc02b.tif',NULL,'GTiff','geocentricoffset',0,NULL,'https://cdn.proj.org/nc_dittt_gr3dnc02b.tif',1,1,NULL),
('gr3dnc03a.mnt','nc_dittt_gr3dnc03a.tif',NULL,'GTiff','geocentricoffset',0,NULL,'https://cdn.proj.org/nc_dittt_gr3dnc03a.tif',1,1,NULL),
('Ranc08_Circe.mnt','nc_dittt_Ranc08_Circe.tif',NULL,'GTiff','geoid_like',0,NULL,'https://cdn.proj.org/nc_dittt_Ranc08_Circe.tif',1,1,NULL),
-- New Zealand grid shift models.
('auckland-1946-to-nzvd2016-conversion.csv','nz_linz_auckht1946-nzvd2016.tif','auckht1946-nzvd2016.gtx','GTiff','vgridshift',0,NULL,'https://cdn.proj.org/nz_linz_auckht1946-nzvd2016.tif',1,1,NULL),
-- Slovakia
--
-- The definition of EPSG:8364 (JTSK03 to JTSK) uses NADCON method which is not supported by PROJ.
-- UGKK (Slovak Geodetic and Cartographic Institute) provides also NTv2 grid file in addition
-- to NADCON .las/.los files, so we define the NTv2 file here as an alternative.
-- The file is available online but it does not have a confirmed open license yet,
-- so it is not available in proj-datumgrid-europe for now
('Slovakia_JTSK03_to_JTSK.LAS', 'Slovakia_JTSK03_to_JTSK.gsb', 'Slovakia_JTSK03_to_JTSK.gsb', 'NTv2', 'hgridshift', 0, NULL, 'https://www.geoportal.sk/files/gz/slovakia_jtsk03_to_jtsk_ntv2.zip', 0, 0, NULL),
('Slovakia_JTSK03_to_JTSK.LAS','sk_gku_JTSK03_to_JTSK.tif',NULL,'GTiff','hgridshift',0,NULL,'https://cdn.proj.org/sk_gku_JTSK03_to_JTSK.tif',1,1,NULL),
('Slovakia_ETRS89h_to_Baltic1957.gtx','sk_gku_Slovakia_ETRS89h_to_Baltic1957.tif',NULL,'GTiff','geoid_like',0,NULL,'https://cdn.proj.org/sk_gku_Slovakia_ETRS89h_to_Baltic1957.tif',1,1,NULL),
('Slovakia_ETRS89h_to_EVRF2007.gtx','sk_gku_Slovakia_ETRS89h_to_EVRF2007.tif',NULL,'GTiff','geoid_like',0,NULL,'https://cdn.proj.org/sk_gku_Slovakia_ETRS89h_to_EVRF2007.tif',1,1,NULL),
-- Superseded entries
('bluff-1955-to-nzvd2016-conversion.csv','nz_linz_blufht1955-nzvd2016.tif','blufht1955-nzvd2016.gtx','GTiff','vgridshift',0,NULL,'https://cdn.proj.org/nz_linz_blufht1955-nzvd2016.tif',1,1,NULL),
('dunedin-1958-to-nzvd2016-conversion.csv','nz_linz_duneht1958-nzvd2016.tif','duneht1958-nzvd2016.gtx','GTiff','vgridshift',0,NULL,'https://cdn.proj.org/nz_linz_duneht1958-nzvd2016.tif',1,1,NULL),
@@ -219,5 +225,10 @@ VALUES
('nzgeoid2016.gtx','nz_linz_nzgeoid2016.tif','nzgeoid2016.gtx','GTiff','geoid_like',0,NULL,'https://cdn.proj.org/nz_linz_nzgeoid2016.tif',1,1,NULL),
-- Superseded
('nzgeoid09.sid','nz_linz_nzgeoid2009.tif','nzgeoid2009.gtx','GTiff','geoid_like',0,NULL,'https://cdn.proj.org/nz_linz_nzgeoid2009.tif',1,1,NULL),
('nzgeoid2009.gtx','nz_linz_nzgeoid2009.tif','nzgeoid2009.gtx','GTiff','geoid_like',0,NULL,'https://cdn.proj.org/nz_linz_nzgeoid2009.tif',1,1,NULL)
('nzgeoid2009.gtx','nz_linz_nzgeoid2009.tif','nzgeoid2009.gtx','GTiff','geoid_like',0,NULL,'https://cdn.proj.org/nz_linz_nzgeoid2009.tif',1,1,NULL),
-- Brazil
('CA61_003.gsb','br_ibge_CA61_003.tif',NULL,'GTiff','hgridshift',0,NULL,'https://cdn.proj.org/br_ibge_CA61_003.tif',1,1,NULL),
('CA7072_003.gsb','br_ibge_CA7072_003.tif',NULL,'GTiff','hgridshift',0,NULL,'https://cdn.proj.org/br_ibge_CA7072_003.tif',1,1,NULL),
('SAD69_003.gsb','br_ibge_SAD69_003.tif',NULL,'GTiff','hgridshift',0,NULL,'https://cdn.proj.org/br_ibge_SAD69_003.tif',1,1,NULL),
('SAD96_003.gsb','br_ibge_SAD96_003.tif',NULL,'GTiff','hgridshift',0,NULL,'https://cdn.proj.org/br_ibge_SAD96_003.tif',1,1,NULL)
;
+54 -16
View File
@@ -214,12 +214,12 @@ INSERT INTO "grid_transformation" VALUES('EPSG','7673','CH1903 to CHTRF95 (1)','
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.','Approximation (to better than 2cm) using NTv2 method of results of FINELTRA programme concatenated with LV-95 parameters.','EPSG','9615','NTv2','EPSG','4149','EPSG','4258','EPSG','1286',0.25,'EPSG','8656','Latitude and longitude difference file','CHENyx06_ETRS.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'BfL-Che NTv2',0);
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).','Accuracy at 2000 test points compared to official OSTN15 (tfm code 7708): latitude 0.5mm average, 17mm maximum; longitude 0.8mm average, 23mm maximum.','EPSG','9615','NTv2','EPSG','4277','EPSG','4258','EPSG','4390',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','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).','Accuracy 1m.','EPSG','9615','NTv2','EPSG','4277','EPSG','4326','EPSG','4390',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','7711','ETRS89 to Newlyn height (2)','OSGM15 supersedes OSGM02 geoid model. Replaces ETRS89 to Newlyn height (1) (tfm code 10021).','Derivation of gravity-related heights from OSGM15 geoid model.','EPSG','9663','Geographic3D to GravityRelatedHeight (OSGM-GB)','EPSG','4937','EPSG','5701','EPSG','2792',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 "grid_transformation" VALUES('EPSG','7712','ETRS89 to Newlyn (Orkney Isles) height (2)','OSGM15 supersedes OSGM02 geoid model. Replaces ETRS89 to Newlyn (Orkney Isles) height (1) (tfm code 10029).','Derivation of gravity-related heights from OSGM15 geoid model.','EPSG','9663','Geographic3D to GravityRelatedHeight (OSGM-GB)','EPSG','4937','EPSG','5740','EPSG','2793',0.017,'EPSG','8666','Geoid (height correction) model file','OSTN15_OSGM15_GB.txt',NULL,NULL,NULL,NULL,NULL,NULL,'OS-UK Ork 2015',0);
INSERT INTO "grid_transformation" VALUES('EPSG','7713','ETRS89 to Newlyn (Offshore) height (1)','Replaces ETRS89 to Fair Isle/Flannan Isles/Foula/North Rona/St Kilda/Sule Skerry height (1) (tfm codes 10024-26, 10030-31 and 10034).','Derivation of gravity-related heights from OSGM15 geoid model.','EPSG','9663','Geographic3D to GravityRelatedHeight (OSGM-GB)','EPSG','4937','EPSG','7707','EPSG','4391',0.02,'EPSG','8666','Geoid (height correction) model file','OSTN15_OSGM15_GB.txt',NULL,NULL,NULL,NULL,NULL,NULL,'OS-UK Off 2015',0);
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).','Derivation of gravity-related heights from OSGM15 geoid model.','EPSG','9663','Geographic3D to GravityRelatedHeight (OSGM-GB)','EPSG','4937','EPSG','5701','EPSG','2792',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 "grid_transformation" VALUES('EPSG','7712','ETRS89 to ODN Orkney height (2)','OSGM15 supersedes OSGM02 geoid model. Replaces ETRS89 to ODN Orkney height (1) (tfm code 10029).','Derivation of gravity-related heights from OSGM15 geoid model.','EPSG','9663','Geographic3D to GravityRelatedHeight (OSGM-GB)','EPSG','4937','EPSG','5740','EPSG','2793',0.017,'EPSG','8666','Geoid (height correction) model file','OSTN15_OSGM15_GB.txt',NULL,NULL,NULL,NULL,NULL,NULL,'OS-UK Ork 2015',0);
INSERT INTO "grid_transformation" VALUES('EPSG','7713','ETRS89 to ODN (Offshore) height (1)','Replaces ETRS89 to Fair Isle/Flannan Isles/Foula/North Rona/St Kilda/Sule Skerry height (1) (tfm codes 10024-26, 10030-31 and 10034).','Derivation of gravity-related heights from OSGM15 geoid model.','EPSG','9663','Geographic3D to GravityRelatedHeight (OSGM-GB)','EPSG','4937','EPSG','7707','EPSG','4391',0.02,'EPSG','8666','Geoid (height correction) model file','OSTN15_OSGM15_GB.txt',NULL,NULL,NULL,NULL,NULL,NULL,'OS-UK Off 2015',0);
INSERT INTO "grid_transformation" VALUES('EPSG','7714','ETRS89 to Lerwick height (2)','OSGM15 supersedes OSGM02 geoid model. Replaces ETRS89 to Lerwick height (1) (tfm code 10027).','Derivation of gravity-related heights from OSGM15 geoid model.','EPSG','9663','Geographic3D to GravityRelatedHeight (OSGM-GB)','EPSG','4937','EPSG','5742','EPSG','2795',0.018,'EPSG','8666','Geoid (height correction) model file','OSTN15_OSGM15_GB.txt',NULL,NULL,NULL,NULL,NULL,NULL,'OS -UK Shet 2015',0);
INSERT INTO "grid_transformation" VALUES('EPSG','7715','ETRS89 to Stornoway height (2)','OSGM15 supersedes OSGM02 geoid model. Replaces ETRS89 to Stornaway height (1) (tfm code 10033).','Derivation of gravity-related heights from OSGM15 geoid model.','EPSG','9663','Geographic3D to GravityRelatedHeight (OSGM-GB)','EPSG','4937','EPSG','5746','EPSG','2799',0.011,'EPSG','8666','Geoid (height correction) model file','OSTN15_OSGM15_GB.txt',NULL,NULL,NULL,NULL,NULL,NULL,'OS-UK Heb 2015',0);
INSERT INTO "grid_transformation" VALUES('EPSG','7716','ETRS89 to St. Marys height (2)','OSGM15 supersedes OSGM02 geoid model. Replaces ETRS89 to St Marys height (1) (tfm code 10032).','Derivation of gravity-related heights from OSGM15 geoid model.','EPSG','9663','Geographic3D to GravityRelatedHeight (OSGM-GB)','EPSG','4937','EPSG','5749','EPSG','2802',0.01,'EPSG','8666','Geoid (height correction) model file','OSTN15_OSGM15_GB.txt',NULL,NULL,NULL,NULL,NULL,NULL,'OS-UK Scilly 2015',0);
INSERT INTO "grid_transformation" VALUES('EPSG','7716','ETRS89 to St. Marys height (2)','OSGM15 supersedes OSGM02 geoid model. Replaces ETRS89 to St. Marys height (1) (tfm code 10032).','Derivation of gravity-related heights from OSGM15 geoid model.','EPSG','9663','Geographic3D to GravityRelatedHeight (OSGM-GB)','EPSG','4937','EPSG','5749','EPSG','2802',0.01,'EPSG','8666','Geoid (height correction) model file','OSTN15_OSGM15_GB.txt',NULL,NULL,NULL,NULL,NULL,NULL,'OS-UK Scilly 2015',0);
INSERT INTO "grid_transformation" VALUES('EPSG','7717','ETRS89 to Douglas height (2)','OSGM15 supersedes OSGM02 geoid model. Replaces ETRS89 to Douglas height (1) (tfm code 10023).','Derivation of gravity-related heights from OSGM15 geoid model.','EPSG','9663','Geographic3D to GravityRelatedHeight (OSGM-GB)','EPSG','4937','EPSG','5750','EPSG','2803',0.03,'EPSG','8666','Geoid (height correction) model file','OSTN15_OSGM15_GB.txt',NULL,NULL,NULL,NULL,NULL,NULL,'OS-UK Man 2015',0);
INSERT INTO "grid_transformation" VALUES('EPSG','7718','ETRS89 to Belfast height (2)','OSGM15 supersedes OSGM02 geoid model. Replaces ETRS89 to Belfast height (1) (tfm code 5334).','Derivation of gravity-related heights from OSGM15 geoid model.','EPSG','1045','Geographic3D to GravityRelatedHeight (OSGM02-Ire)','EPSG','4937','EPSG','5732','EPSG','2530',0.014,'EPSG','8666','Geoid (height correction) model file','OSGM15_Belfast.gri',NULL,NULL,NULL,NULL,NULL,NULL,'OS-UK NI 2015',1);
INSERT INTO "grid_transformation" VALUES('EPSG','7719','ETRS89 to Malin Head height (2)','OSGM15 supersedes OSGM02 geoid model. Replaces ETRS89 to Malin Head height (1) (tfm code 5335).','Derivation of gravity-related heights from OSGM15 geoid model.','EPSG','1045','Geographic3D to GravityRelatedHeight (OSGM02-Ire)','EPSG','4937','EPSG','5731','EPSG','1305',0.023,'EPSG','8666','Geoid (height correction) model file','OSGM15_Malin.gri',NULL,NULL,NULL,NULL,NULL,NULL,'OS-Ire 2015',1);
@@ -254,8 +254,8 @@ INSERT INTO "grid_transformation" VALUES('EPSG','8361','ETRS89 to ETRS89 + Balti
INSERT INTO "grid_transformation" VALUES('EPSG','8362','ETRS89 to ETRS89 + EVRF2007 height (1)','Uses ETRS89 (realization ETRF2000) and quasigeoid model DMQSK2014E. 1 sigma = 29 mm (test performed on 93 independent points). Uses method 9635 rather than method 9665 to facilitate Baltic 1957 to EVRF2007 transformation (see transformation code 8363).','Geodetic survey, GIS','EPSG','9635','Geog3D to Geog2D+GravityRelatedHeight (US .gtx)','EPSG','4937','EPSG','7423','EPSG','1211',0.03,'EPSG','8666','Geoid (height correction) model file','Slovakia_ETRS89h_to_EVRF2007.gtx',NULL,NULL,NULL,NULL,NULL,NULL,'UGKK-Svk',0);
INSERT INTO "grid_transformation" VALUES('EPSG','8364','S-JTSK [JTSK03] to S-JTSK (1)','Derived at 684 identical points.','Applications to 5cm accuracy.','EPSG','9613','NADCON','EPSG','8351','EPSG','4156','EPSG','1211',0.05,'EPSG','8657','Latitude difference file','Slovakia_JTSK03_to_JTSK.LAS','EPSG','8658','Longitude difference file','Slovakia_JTSK03_to_JTSK.LOS',NULL,NULL,'UGKK-Svk',0);
INSERT INTO "grid_transformation" VALUES('EPSG','8369','BD72 to ETRS89 (3)','File name is lower case and despite its name is between geographic CRSs. (Similarly-named file in upper case BD72LB72_ETRS89LB08 operates in projected CRS domain).','For applications to an accuracy of 0.01 metre.','EPSG','9615','NTv2','EPSG','4313','EPSG','4258','EPSG','1347',0.01,'EPSG','8656','Latitude and longitude difference file','bd72lb72_etrs89lb08.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'IGN-Bel 0.01m',0);
INSERT INTO "grid_transformation" VALUES('EPSG','8371','RGF93 to NGF IGN69 height (2)','Replaces RGF93 to NGF IGN69 height (1) (code 10000). Accuracy at each 0.0333333333333° in longitude and 0.025° in latitude grid node is given within the geoid model file. Recommended interpolation method given in file RAF09.xml.','Derivation of gravity-related heights from GPS observations.','EPSG','1073','Geographic3D to GravityRelatedHeight (IGN2009)','EPSG','4965','EPSG','5720','EPSG','1326',0.02,'EPSG','8666','Geoid (height correction) model file','RAF09.mnt',NULL,NULL,NULL,NULL,NULL,NULL,'IGN Fra 09',0);
INSERT INTO "grid_transformation" VALUES('EPSG','8372','RGF93 to IGN78 Corsica height (2)','Replaces RGF93 to NGF IGN69 height (1) (code 10002). Accuracy at each 0.0333333333333° in longitude and 0.025° in latitude grid node is given within the geoid model file. Recommended interpolation method given in file RAC09.xml.','Derivation of gravity-related heights from GPS observations.','EPSG','1073','Geographic3D to GravityRelatedHeight (IGN2009)','EPSG','4965','EPSG','5721','EPSG','1327',0.05,'EPSG','8666','Geoid (height correction) model file','RAC09.mnt',NULL,NULL,NULL,NULL,NULL,NULL,'IGN Fra Cor 09',0);
INSERT INTO "grid_transformation" VALUES('EPSG','8371','RGF93 to NGF-IGN69 height (2)','Replaces RGF93 to NGF-IGN69 height (1) (code 10000). Accuracy at each 0.0333333333333° in longitude and 0.025° in latitude grid node is given within the geoid model file. Recommended interpolation method given in file RAF09.xml.','Derivation of gravity-related heights from GPS observations.','EPSG','1073','Geographic3D to GravityRelatedHeight (IGN2009)','EPSG','4965','EPSG','5720','EPSG','1326',0.02,'EPSG','8666','Geoid (height correction) model file','RAF09.mnt',NULL,NULL,NULL,NULL,NULL,NULL,'IGN Fra 09',0);
INSERT INTO "grid_transformation" VALUES('EPSG','8372','RGF93 to NGF-IGN78 height (2)','Replaces RGF93 to NGF-IGN78 height (1) (code 10002). Accuracy at each 0.0333333333333° in longitude and 0.025° in latitude grid node is given within the geoid model file. Recommended interpolation method given in file RAC09.xml.','Derivation of gravity-related heights from GPS observations.','EPSG','1073','Geographic3D to GravityRelatedHeight (IGN2009)','EPSG','4965','EPSG','5721','EPSG','1327',0.05,'EPSG','8666','Geoid (height correction) model file','RAC09.mnt',NULL,NULL,NULL,NULL,NULL,NULL,'IGN Fra Cor 09',0);
INSERT INTO "grid_transformation" VALUES('EPSG','8444','GDA94 to GDA2020 (4)','See GDA94 to GDA2020 (1) (code 8048) for transformation using Helmert method which gives identical results.','Spatial referencing.','EPSG','9615','NTv2','EPSG','4283','EPSG','7844','EPSG','4169',0.05,'EPSG','8656','Latitude and longitude difference file','GDA94_GDA2020_conformal_christmas_island.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'ICSM-Cxr Conf',0);
INSERT INTO "grid_transformation" VALUES('EPSG','8445','GDA94 to GDA2020 (5)','See GDA94 to GDA2020 (1) (code 8048) for transformation using Helmert method which gives identical results.','Spatial referencing.','EPSG','9615','NTv2','EPSG','4283','EPSG','7844','EPSG','1069',0.05,'EPSG','8656','Latitude and longitude difference file','GDA94_GDA2020_conformal_cocos_island.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'ICSM-Cck Conf',0);
INSERT INTO "grid_transformation" VALUES('EPSG','8446','GDA94 to GDA2020 (3)','Gives identical results to Helmert transformation GDA94 to GDA2020 (1) (code 8048). See GDA94 to GDA2020 (2) (code 8447) for alternative with local distortion modelling included. GDA2020 Technical Manual and fact sheet T1 give guidance on which to use.','Conformal transformation of GDA94 coordinates that have been derived through GNSS CORS.','EPSG','9615','NTv2','EPSG','4283','EPSG','7844','EPSG','2575',0.05,'EPSG','8656','Latitude and longitude difference file','GDA94_GDA2020_conformal.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'ICSM-Aus NTv2 Conf',0);
@@ -275,7 +275,7 @@ INSERT INTO "grid_transformation" VALUES('EPSG','8665','Guam 1963 to NAD83(HARN)
INSERT INTO "grid_transformation" VALUES('EPSG','8668','Puerto Rico to NAD83 (2)','Uses NADCON5 method which expects longitudes positive east in range 0-360°; EPSG source and target CRSs have longitudes positive east in range -180° to +180°.','Spatial referencing.','EPSG','1074','NADCON5 (2D)','EPSG','4139','EPSG','4269','EPSG','3634',0.15,'EPSG','8657','Latitude difference file','nadcon5.pr40.nad83_1986.prvi.lat.trn.20160901.b','EPSG','8658','Longitude difference file','nadcon5.pr40.nad83_1986.prvi.lon.trn.20160901.b',NULL,NULL,'NGS-Pri Vir Nadcon5',0);
INSERT INTO "grid_transformation" VALUES('EPSG','8669','NAD83 to NAD83(HARN) (50)','Uses NADCON5 method which expects longitudes positive east in range 0-360°; EPSG source and target CRSs have longitudes positive east in range -180° to +180°.','Spatial referencing.','EPSG','1074','NADCON5 (2D)','EPSG','4269','EPSG','4152','EPSG','3634',0.15,'EPSG','8657','Latitude difference file','nadcon5.nad83_1986.nad83_1993.prvi.lat.trn.20160901.b','EPSG','8658','Longitude difference file','nadcon5.nad83_1986.nad83_1993.prvi.lon.trn.20160901.b',NULL,NULL,'NGS-Pri Vir Nadcon5',0);
INSERT INTO "grid_transformation" VALUES('EPSG','8676','Canada velocity grid v6','','Change of coordinate epoch for points referenced to NAD83(CSRS)v6.','EPSG','1070','Point motion by grid (Canada NTv2_Vel)','EPSG','8251','EPSG','8251','EPSG','1061',0.01,'EPSG','1050','Point motion velocity grid file','cvg60.cvb',NULL,NULL,NULL,NULL,NULL,NULL,'NRC-Can cvg6.0',0);
INSERT INTO "grid_transformation" VALUES('EPSG','8885','RGF93 to NGF IGN69 height (3)','Replaces RGF93 to NGF IGN69 height (2) (code 8371). Accuracy at each 0.0333333333333° in longitude and 0.025° in latitude grid node is given within the geoid model file. Recommended interpolation method is bilinear.','Derivation of gravity-related heights from GPS observations.','EPSG','1073','Geographic3D to GravityRelatedHeight (IGN2009)','EPSG','4965','EPSG','5720','EPSG','1326',0.01,'EPSG','8666','Geoid (height correction) model file','RAF18.tac',NULL,NULL,NULL,NULL,NULL,NULL,'IGN Fra 18',0);
INSERT INTO "grid_transformation" VALUES('EPSG','8885','RGF93 to NGF-IGN69 height (3)','Replaces RGF93 to NGF-IGN69 height (2) (code 8371). Accuracy at each 0.0333333333333° in longitude and 0.025° in latitude grid node is given within the geoid model file. Recommended interpolation method is bilinear.','Derivation of gravity-related heights from GPS observations.','EPSG','1073','Geographic3D to GravityRelatedHeight (IGN2009)','EPSG','4965','EPSG','5720','EPSG','1326',0.01,'EPSG','8666','Geoid (height correction) model file','RAF18.tac',NULL,NULL,NULL,NULL,NULL,NULL,'IGN Fra 18',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9105','ATS77 to NAD83 (1)','','Spatial referencing.','EPSG','9615','NTv2','EPSG','4122','EPSG','4269','EPSG','2313',0.5,'EPSG','8656','Latitude and longitude difference file','GS7783.GSB',NULL,NULL,NULL,NULL,NULL,NULL,'NSGC-Can NS',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9106','ATS77 to NAD83(CSRS)v6 (4)','Derived through NAD83(CSRS)v6. Replaces ATS77 to NAD83(CSRS)v3 (3) (transformation code 9235).','Spatial referencing.','EPSG','9615','NTv2','EPSG','4122','EPSG','8252','EPSG','2313',0.06,'EPSG','8656','Latitude and longitude difference file','NS778302.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'NSGC-Can NS v2',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9107','NAD27 to NAD83(CSRS)v3 (5)','Derived through NAD83(CSRS)v3 but within accuracy of transformation may be assumed to apply to any version. For Toronto use NAD27 to NAD83(CSRS) (6) (CT code 9108).','Spatial referencing.','EPSG','9615','NTv2','EPSG','4267','EPSG','8240','EPSG','4537',1.5,'EPSG','8656','Latitude and longitude difference file','ON27CSv1.GSB',NULL,NULL,NULL,NULL,NULL,NULL,'LIO-Can Ont ex Tor',0);
@@ -316,7 +316,7 @@ INSERT INTO "grid_transformation" VALUES('EPSG','9168','NAD83(FBN) to NAVD88 hei
INSERT INTO "grid_transformation" VALUES('EPSG','9169','NAD83(HARN) to NAVD88 height (9)','Uses Geoid06 hybrid model. Replaced by Geoid09 model (CT code 9174).','Derivation of approximate gravity-related heights from GPS observations.','EPSG','9665','Geographic3D to GravityRelatedHeight (gtx)','EPSG','4957','EPSG','5703','EPSG','1330',0.02,'EPSG','8666','Geoid (height correction) model file','geoid06_ak.bin',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-US AK',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9170','NAD83(FBN) to ASVD02 height (1)','Uses Geoid09 hybrid model. Replaced by Geoid12 model (CT code 7650).','Derivation of approximate gravity-related heights from GPS observations.','EPSG','9665','Geographic3D to GravityRelatedHeight (gtx)','EPSG','8542','EPSG','6643','EPSG','2288',0.05,'EPSG','8666','Geoid (height correction) model file','g2009s01.bin',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-Asm 09',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9171','NAD83(FBN) to GUVD04 height (1)','Uses Geoid09 hybrid model. Replaced by Geoid12 model (CT code 7648).','Derivation of approximate gravity-related heights from GPS observations.','EPSG','9665','Geographic3D to GravityRelatedHeight (gtx)','EPSG','8542','EPSG','6644','EPSG','3255',0.05,'EPSG','8666','Geoid (height correction) model file','g2009g01.bin',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-Gum 09',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9172','NAD83(FBN) to NMVD03 height (1)','Uses Geoid09 hybrid model. Replaced by Geoid12 model (CT code 7649).','Derivation of approximate gravity-related heights from GPS observations.','EPSG','9665','Geographic3D to GravityRelatedHeight (gtx)','EPSG','8542','EPSG','6640','EPSG','4171',0.05,'EPSG','8666','Geoid (height correction) model file','g2009g01.bin',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-Mnp 12B',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9172','NAD83(FBN) to NMVD03 height (1)','Uses Geoid09 hybrid model. Replaced by Geoid12 model (CT code 7649).','Derivation of approximate gravity-related heights from GPS observations.','EPSG','9665','Geographic3D to GravityRelatedHeight (gtx)','EPSG','8542','EPSG','6640','EPSG','4171',0.05,'EPSG','8666','Geoid (height correction) model file','g2009g01.bin',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-Mnp 09',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9173','NAD83(NSRS2007) to NAVD88 height (1)','Uses Geoid09 hybrid model. Replaced by 2012 model (CT code 6326).','Derivation of approximate gravity-related heights from GPS observations.','EPSG','9665','Geographic3D to GravityRelatedHeight (gtx)','EPSG','4893','EPSG','5703','EPSG','1323',0.05,'EPSG','8666','Geoid (height correction) model file','geoid09_conus.bin',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-US Conus 09',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9174','NAD83(NSRS2007) to NAVD88 height (2)','Uses Geoid09 hybrid model. Replaced by Geoid12 model (CT code 6327).','Derivation of approximate gravity-related heights from GPS observations.','EPSG','9665','Geographic3D to GravityRelatedHeight (gtx)','EPSG','4893','EPSG','5703','EPSG','1330',0.05,'EPSG','8666','Geoid (height correction) model file','geoid09_ak.bin',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-US AK 09',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9175','NAD83(NSRS2007) to PRVD02 height (1)','Uses Geoid09 hybrid model. Replaced by Geoid12 model (CT code 7646).','Derivation of approximate gravity-related heights from GPS observations.','EPSG','9665','Geographic3D to GravityRelatedHeight (gtx)','EPSG','4893','EPSG','6641','EPSG','3294',0.05,'EPSG','8666','Geoid (height correction) model file','g2009p01.bin',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-Pri 09',0);
@@ -325,7 +325,7 @@ INSERT INTO "grid_transformation" VALUES('EPSG','9187','RGAF09 to IGN 1988 SB he
INSERT INTO "grid_transformation" VALUES('EPSG','9188','RGAF09 to IGN 1988 SM height (2)','Accuracy 0.05m to 0.1m. Replaces RGAF09 to IGN 1988 SM height (1), transformation code 5505.','Derivation of gravity-related heights from GPS observations.','EPSG','1073','Geographic3D to GravityRelatedHeight (IGN2009)','EPSG','5488','EPSG','5620','EPSG','2890',0.1,'EPSG','8666','Geoid (height correction) model file','gg10_smv2.mnt',NULL,NULL,NULL,NULL,NULL,NULL,'IGN Glp StM',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9228','RGSPM06 to Danger 1950 height (2)','Accuracy 0.01m to 0.05m within onshore area. Replaces RGSPM06 to Danger 1950 height (1), CT code 9137.','Derivation of gravity-related heights from GPS observations.','EPSG','1073','Geographic3D to GravityRelatedHeight (IGN2009)','EPSG','4466','EPSG','5792','EPSG','1220',0.05,'EPSG','8666','Geoid (height correction) model file','RASPM2018.mnt',NULL,NULL,NULL,NULL,NULL,NULL,'IGN-SPM',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9229','NAD83(2011) to NAVD88 height (3)','Uses Geoid18 hybrid model. Replaces 12B model. See information source for further information.','Derivation of approximate gravity-related heights from GPS observations.','EPSG','9665','Geographic3D to GravityRelatedHeight (gtx)','EPSG','6319','EPSG','5703','EPSG','1323',0.015,'EPSG','8666','Geoid (height correction) model file','g2018u0.bin',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-US Conus 18',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9230','NAD83(2011) to PRVD02 height (2)','Uses Geoid18 hybrid model. Replaces 12B model. See information source for further information.','Derivation of approximate gravity-related heights from GPS observations.','EPSG','9665','Geographic3D to GravityRelatedHeight (gtx)','EPSG','6319','EPSG','6641','EPSG','3294',0.015,'EPSG','8666','Geoid (height correction) model file','g2018p0.bin',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-Pri 12B',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9230','NAD83(2011) to PRVD02 height (2)','Uses Geoid18 hybrid model. Replaces 12B model. See information source for further information.','Derivation of approximate gravity-related heights from GPS observations.','EPSG','9665','Geographic3D to GravityRelatedHeight (gtx)','EPSG','6319','EPSG','6641','EPSG','3294',0.015,'EPSG','8666','Geoid (height correction) model file','g2018p0.bin',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-Pri 18',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9231','NAD83(2011) to VIVD09 height (2)','Uses Geoid18 hybrid model. Replaces 12B model. See information source for further information.','Derivation of approximate gravity-related heights from GPS observations.','EPSG','9665','Geographic3D to GravityRelatedHeight (gtx)','EPSG','6319','EPSG','6642','EPSG','3330',0.015,'EPSG','8666','Geoid (height correction) model file','g2018p0.bin',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-Vir 18',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9232','ISN93 to ISN2016 (1)','Grid transformation based on Kriging between ISN93 and ISN2016. Accuracy is better than 5 cm in stable areas but can be around 25 cm in areas that have suffered deformation due to earthquake or volcanic eruption.','Spatial referencing.','EPSG','9615','NTv2','EPSG','4659','EPSG','8086','EPSG','1120',0.05,'EPSG','8656','Latitude and longitude difference file','ISN93_ISN2016.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'LMI-Isl',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9233','ISN2004 to ISN2016 (1)','Grid transformation based on Kriging between ISN2004 and ISN2016. Accuracy is better than 5 cm in stable areas but can be around 25 cm in areas that have suffered deformation due to earthquake or volcanic eruption.','Spatial referencing.','EPSG','9615','NTv2','EPSG','5324','EPSG','8086','EPSG','1120',0.05,'EPSG','8656','Latitude and longitude difference file','ISN2004_ISN2016.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'LMI-Isl',0);
@@ -345,10 +345,13 @@ INSERT INTO "grid_transformation" VALUES('EPSG','9256','POSGAR 2007 to SRVN16 he
INSERT INTO "grid_transformation" VALUES('EPSG','9275','GHA height to EVRF2000 Austria height (1)','Care! Austrian literature describes this transformation in direction EVRF2000 Austria height to GHA height with offset subtracted. EPSG method has offset as an addition. See method formula and example. The grid is implemented in BEV-Transformator.','Change of height to a different vertical reference surface.','EPSG','1080','Vertical Offset by Grid Interpolation (BEV AT)','EPSG','5778','EPSG','9274','EPSG','1037',0.05,'EPSG','8732','Vertical offset file','GV_HoehenGrid_V1.csv',NULL,NULL,NULL,NULL,'EPSG','4312','BEV-Aut',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9276','ETRS89 to EVRF2000 Austria height (1)','Austrian Geoid 2008. Accuracy 5cm (1 sigma). The transformation is implemented in BEV-Transformator.','Derivation of gravity-related heights from GNSS observations.','EPSG','1081','Geographic3D to GravityRelatedHeight (BEV AT)','EPSG','4937','EPSG','9274','EPSG','1037',0.05,'EPSG','8666','Geoid (height correction) model file','GEOID_GRS80_Oesterreich.csv',NULL,NULL,NULL,NULL,'EPSG','4167','BEV-Aut',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9277','MGI to EVRF2000 Austria height (1)','Austrian Geoid 2008 (Bessel ellipsoid). Accuracy 5cm (1 sigma). The transformation is implemented in BEV-Transformator.','Derivation of gravity-related heights from GNSS observations.','EPSG','1081','Geographic3D to GravityRelatedHeight (BEV AT)','EPSG','9267','EPSG','9274','EPSG','1037',0.05,'EPSG','8666','Geoid (height correction) model file','GEOID_BESSEL_Oesterreich.csv',NULL,NULL,NULL,NULL,'EPSG','4312','BEV-Aut',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9278','ETRS89 to GHA Austria height (1)','This transformation gives same result as concatenation of ETRS89 to EVRF2000 Austria height and EVRF2000 Austria height to GHA height transformations, CTs code 9276 and 9275. Accuracy 5cm (1 sigma). The transformation is implemented in BEV-Transformator.','Derivation of gravity-related heights from GNSS observations.','EPSG','1081','Geographic3D to GravityRelatedHeight (BEV AT)','EPSG','4937','EPSG','5778','EPSG','1037',0.05,'EPSG','8666','Geoid (height correction) model file','GV_Hoehengrid_plus_Geoid_V3.csv',NULL,NULL,NULL,NULL,NULL,NULL,'BEV-Aut',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9278','ETRS89 to GHA height (1)','This transformation gives same result as concatenation of ETRS89 to EVRF2000 Austria height and EVRF2000 Austria height to GHA height transformations, CTs code 9276 and 9275. Accuracy 5cm (1 sigma). The transformation is implemented in BEV-Transformator.','Derivation of gravity-related heights from GNSS observations.','EPSG','1081','Geographic3D to GravityRelatedHeight (BEV AT)','EPSG','4937','EPSG','5778','EPSG','1037',0.05,'EPSG','8666','Geoid (height correction) model file','GV_Hoehengrid_plus_Geoid_V3.csv',NULL,NULL,NULL,NULL,NULL,NULL,'BEV-Aut',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9280','ITRF2005 to SA LLD height (1)','Hybrid geoid referenced to ITRF2005@2010.02. Accuracy 7cm at 1 sigma.','Derivation of gravity-related heights from GNSS observations.','EPSG','1082','Geographic3D to GravityRelatedHeight (SA 2010)','EPSG','7910','EPSG','9279','EPSG','3309',0.07,'EPSG','8666','Geoid (height correction) model file','SAGEOID2010.dat',NULL,NULL,NULL,NULL,NULL,NULL,'NGI-Zaf',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9282','Amersfoort to ETRS89 (9)','Consistent to within 1mm with official RNAPTRANS(TM)2018 at ground level onshore and at MSL offshore. The horizontal deviation using this NTv2 grid is approximately 1mm per 50m height difference from ground level or MSL.','Approximation of horizontal component of official 3D RDNAPTRANS(TM) transformation, which since 1st October 2000 has defined Amersfoort geodetic datum.','EPSG','9615','NTv2','EPSG','4289','EPSG','4258','EPSG','1275',0.001,'EPSG','8656','Latitude and longitude difference file','rdtrans2018.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'NSGI-Nld 2018',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9283','ETRS89 to NAP height (2)','Vertical component of official RDNAPTRANS(TM)2018 procedure. Replaces previous versions of RDNAPTRANS.','Derivation of gravity-related heights from GPS observations.','EPSG','9665','Geographic3D to GravityRelatedHeight (gtx)','EPSG','4937','EPSG','5709','EPSG','1275',0.001,'EPSG','8666','Geoid (height correction) model file','nlgeo2018.gtx',NULL,NULL,NULL,NULL,NULL,NULL,'NSGI-Nld 2018',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9302','HS2-IRF to ETRS89 (1)','In conjunction with the HS2-TM projection (code 9301), emulates zero-distortion HS2P1+14 Snake projection. For use with OSNet v2009 CORS. Supersedes HS2TN02 used with OSNet v2001. Derived at 350000 locations, RMS 0.15 mm; this is considered errorless.','Engineering survey for HS2 project phases 1 and 2a.','EPSG','9615','NTv2','EPSG','9299','EPSG','4258','EPSG','4582',0.0,'EPSG','8656','Latitude and longitude difference file','HS2TN15_NTv2.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'HS2-Gbr OSNet2009',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9304','ETRS89 to HS2-VRF height (1)','Defines HS2-VRF using OSNet v2009. Full grid also available in a single file in each of Leica, Topcon and Trimble formats.','Derivation of gravity-related heights from GNSS observations.','EPSG','9661','Geographic3D to GravityRelatedHeight (EGM)','EPSG','4937','EPSG','9303','EPSG','4582',0.001,'EPSG','8666','Geoid (height correction) model file','HS2GM15W.grd',NULL,NULL,NULL,NULL,NULL,NULL,'HS2-Gbr HS2GM15 W',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9310','DHDN to ETRS89 (10)','Replaces SeTa2009 from 2018-01-15. Derived using the 2016 implementation of ETRS89 / DREF91 and DHHN2016. Coincident with the transformation of cadastral data from DHDN to ETRS89 used by LVGL at a level of 1-2 mm.','Cadastre, engineering survey, topographic mapping (large scale).','EPSG','9615','NTv2','EPSG','4314','EPSG','4258','EPSG','4584',0.01,'EPSG','8656','Latitude and longitude difference file','SeTa2016.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'LVGL-Deu SL 2016',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9312','NZVD2016 height to Auckland 1946 height (2)','Derived at 260 control points. Mean offset 0.292m, standard deviation 0.029m, maximum difference from mean 0.075m. Supersedes NZVD2016 height to Auckland 1946 height (1) (code 7860) after change of grid file format.','Transformation between national and local height systems.','EPSG','1084','Vertical Offset by Grid Interpolation (gtx)','EPSG','7839','EPSG','5759','EPSG','3764',0.02,'EPSG','8732','Vertical offset file','auckht1946-nzvd2016.gtx',NULL,NULL,NULL,NULL,'EPSG','4167','LINZ-NZ AUCK gtx',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9313','NZVD2016 height to Bluff 1955 height (2)','Derived at 71 control points. Mean offset 0.273m, standard deviation 0.034m, maximum difference from mean 0.079m. Supersedes NZVD2016 height to Bluff 1955 height (1) (code 7861) after change of grid file format.','Transformation between national and local height systems.','EPSG','1084','Vertical Offset by Grid Interpolation (gtx)','EPSG','7839','EPSG','5760','EPSG','3801',0.02,'EPSG','8732','Vertical offset file','blufht1955-nzvd2016.gtx',NULL,NULL,NULL,NULL,'EPSG','4167','LINZ-NZ BLUF gtx',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9314','NZVD2016 height to Dunedin 1958 height (2)','Derived at 197 control points. Mean offset 0.326m, standard deviation 0.043m, maximum difference from mean 0.152m. Supersedes NZVD2016 height to Dunedin 1958 height (1) (code 7862) after change of grid file format.','Transformation between national and local height systems.','EPSG','1084','Vertical Offset by Grid Interpolation (gtx)','EPSG','7839','EPSG','5761','EPSG','3803',0.02,'EPSG','8732','Vertical offset file','duneht1958-nzvd2016.gtx',NULL,NULL,NULL,NULL,'EPSG','4167','LINZ-NZ DUNE gtx',0);
@@ -369,10 +372,45 @@ INSERT INTO "grid_transformation" VALUES('EPSG','9328','NEA74 Noumea to RGNC91-9
INSERT INTO "grid_transformation" VALUES('EPSG','9329','IGN72 Grande Terre to RGNC91-93 (4)','Developed in July 2002 and officially adopted in August 2005. May be emulated using NTv2 method - see RGNC91-93 to IGN72 Grande Terre (6) (code 15962).','Accuracy better than +/- 0.1 metre.','EPSG','1087','Geocentric translation by Grid Interpolation (IGN)','EPSG','4662','EPSG','4749','EPSG','2822',0.1,'EPSG','8727','Geocentric translation file','gr3dnc01b.mnt',NULL,NULL,NULL,NULL,'EPSG','4749','BGN-Ncl 0.1m',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9330','IGN72 Grande Terre to RGNC91-93 (5)','Developed in July 2002 and officially adopted in August 2005.','Accuracy 5-10cm.','EPSG','1087','Geocentric translation by Grid Interpolation (IGN)','EPSG','4662','EPSG','4749','EPSG','2823',0.05,'EPSG','8727','Geocentric translation file','gr3dnc02b.mnt',NULL,NULL,NULL,NULL,'EPSG','4749','BGN-Ncl Noum 0.05m',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9338','DHDN to ETRS89 (9)','Official transformation for the state of Baden-Württemberg. Used in ATKIS (Amtliches Topographisch-Kartographisches Informationssystem [Official Topographic and Cartographic Information System]).','Cadastre, engineering survey, topographic mapping (large scale).','EPSG','9615','NTv2','EPSG','4314','EPSG','4258','EPSG','4580',0.1,'EPSG','8656','Latitude and longitude difference file','BWTA2017.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'LGL-Deu BWTA2017',0);
INSERT INTO "grid_transformation" VALUES('EPSG','10000','RGF93 to NGF IGN69 height (1)','May be used for transformations from WGS 84 to NGF IGN69. Accuracy at each 0.1 deg x 0.1 degree grid node is given within the geoid model file.','Derivation of gravity-related heights from GPS observations.','EPSG','9664','Geographic3D to GravityRelatedHeight (IGN1997)','EPSG','4965','EPSG','5720','EPSG','1326',0.5,'EPSG','8666','Geoid (height correction) model file','ggf97a.txt',NULL,NULL,NULL,NULL,NULL,NULL,'IGN Fra',0);
INSERT INTO "grid_transformation" VALUES('EPSG','10001','ETRS89 to NGF IGN69 height (1)','Parameter values taken from RGF93 to NGF IGN69 (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.','Derivation of gravity-related heights from GPS observations.','EPSG','9664','Geographic3D to GravityRelatedHeight (IGN1997)','EPSG','4937','EPSG','5720','EPSG','1326',0.5,'EPSG','8666','Geoid (height correction) model file','ggf97a.txt',NULL,NULL,NULL,NULL,NULL,NULL,'IGN Fra',0);
INSERT INTO "grid_transformation" VALUES('EPSG','10002','RGF93 to IGN78 Corsica height (1)','May be used for transformations from WGS 84 to IGN78 Corsica. Accuracy at each 0.1 deg x 0.1 degree grid node is given within the geoid model file.','Derivation of gravity-related heights from GPS observations.','EPSG','9664','Geographic3D to GravityRelatedHeight (IGN1997)','EPSG','4965','EPSG','5721','EPSG','1327',0.5,'EPSG','8666','Geoid (height correction) model file','ggf97a_corse.txt',NULL,NULL,NULL,NULL,NULL,NULL,'IGN Fra Cor',0);
INSERT INTO "grid_transformation" VALUES('EPSG','10003','ETRS89 to IGN78 Corsica height (1)','Parameter values taken from RGF93 to IGN78 Corsica (1) (code 10002) 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.','Derivation of gravity-related heights from GPS observations.','EPSG','9664','Geographic3D to GravityRelatedHeight (IGN1997)','EPSG','4937','EPSG','5721','EPSG','1327',0.5,'EPSG','8666','Geoid (height correction) model file','ggf97a_corse.txt',NULL,NULL,NULL,NULL,NULL,NULL,'IGN Fra Cor',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9352','RGNC91-93 to NGNC08 height (1)','Geoid model RANC08 realizes NGNC08 height (CRS code 9351) to a precision of 2-5cm.','Derivation of gravity-related heights from GNSS observations.','EPSG','1073','Geographic3D to GravityRelatedHeight (IGN2009)','EPSG','4907','EPSG','9351','EPSG','3430',0.03,'EPSG','8666','Geoid (height correction) model file','Ranc08_Circe.mnt',NULL,NULL,NULL,NULL,NULL,NULL,'BGN-Ncl RANC08',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9355','KSA-GRF17 to KSA-VRF14 height (1)','Hybrid geoid, grid resolution 0.02° latitude x 0.025° longitude. Accuracy ~2 cm in the Eastern region and ~10-20 cm in the rest of KSA. Also available in IGN2009 format (method 1073). To access KSA-GEOID17 contact GCS by e-mail to info@gcs.gov.sa.','Derivation of gravity-related heights from GNSS observations.','EPSG','1047','Geographic3D to GravityRelatedHeight (Gravsoft)','EPSG','9332','EPSG','9335','EPSG','3303',0.1,'EPSG','8666','Geoid (height correction) model file','KSA-GEOID17.gra',NULL,NULL,NULL,NULL,NULL,NULL,'GCS-Sau',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9363','Ain el Abd to KSA-GRF17 (2)','Accuracy 5-10 cm.','Geodesy.','EPSG','1087','Geocentric translation by Grid Interpolation (IGN)','EPSG','4204','EPSG','9333','EPSG','3303',0.1,'EPSG','8727','Geocentric translation file','ARAMCO_AAA-KSAGRF_6.tac',NULL,NULL,NULL,NULL,'EPSG','9333','GCS-Sau 0.1m',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9365','ETRS89 to TPEN11-IRF (1)','In conjunction with the TPEN11-TM map projection (code 9366) applied to TPEN11-IRF (code 9364), emulates the TPEN11 Snake and TPEN11ext Snake projections. Applied to ETRS89 (as realized through the OSNet v2009 CORS) defines TPEN11-IRF hence is errorless.','Engineering survey and topographic mapping for railway applications.','EPSG','9615','NTv2','EPSG','4258','EPSG','9364','EPSG','4583',0.0,'EPSG','8656','Latitude and longitude difference file','TN15-ETRS89-to-TPEN11-IRF.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'NR-Gbr TPEN11 OSNet2009',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9369','ETRS89 to MML07-IRF (1)','In conjunction with the MML07-TM map projection (code 9370) applied to MML07-IRF (code 9372), emulates the MML07 Snake projection. Applied to ETRS89 (as realized through the OSNet v2009 CORS) defines MML07-IRF hence is errorless.','Engineering survey and topographic mapping for railway applications.','EPSG','9615','NTv2','EPSG','4258','EPSG','9372','EPSG','4588',0.0,'EPSG','8656','Latitude and longitude difference file','TN15-ETRS89-to-MML07-IRF.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'NR-Gbr MML07 OSNet2009',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9386','ETRS89 to AbInvA96_2020-IRF (1)','In conjunction with AbInvA96_2020-TM map projection (code 9385) applied to AbInvA96_2020-IRF (code 9384), emulates the AbInvA96_2020 Snake projection. Applied to ETRS89 (as realized through the OSNet v2009) defines AbInvA96_2020-IRF hence is errorless.','Highway engineering.','EPSG','9615','NTv2','EPSG','4258','EPSG','9384','EPSG','4589',0.0,'EPSG','8656','Latitude and longitude difference file','TN15-ETRS89-to-AbInvA96_2020-IRF.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'TS-Gbr A96 OSNet2009',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9408','ED50 to ETRS89 (16)','Replaces ED50 to ETRS89 (12) (code 15932).','Spatial referencing.','EPSG','9615','NTv2','EPSG','4230','EPSG','4258','EPSG','4605',0.2,'EPSG','8656','Latitude and longitude difference file','PENR2009.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'IGN-Esp v3 pen',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9409','ED50 to ETRS89 (17)','Replaces ED50 to ETRS89 (12) (code 15932).','Spatial referencing.','EPSG','9615','NTv2','EPSG','4230','EPSG','4258','EPSG','2335',0.2,'EPSG','8656','Latitude and longitude difference file','BALR2009.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'IGN-Esp v3 Bal',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9410','ETRS89 to Alicante height (1)','','Derivation of gravity-related heights from GPS observations.','EPSG','1025','Geographic3D to GravityRelatedHeight (EGM2008)','EPSG','4937','EPSG','5782','EPSG','2366',0.05,'EPSG','8666','Geoid (height correction) model file','EGM08_REDNAP.txt',NULL,NULL,NULL,NULL,NULL,NULL,'IGN-Esp 2008',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9411','ETRS89 to Mallorca height (1)','','Derivation of gravity-related heights from GPS observations.','EPSG','1025','Geographic3D to GravityRelatedHeight (EGM2008)','EPSG','4937','EPSG','9392','EPSG','4602',0.05,'EPSG','8666','Geoid (height correction) model file','EGM08_REDNAP.txt',NULL,NULL,NULL,NULL,NULL,NULL,'IGN-Esp 2008',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9412','ETRS89 to Menorca height (1)','','Derivation of gravity-related heights from GPS observations.','EPSG','1025','Geographic3D to GravityRelatedHeight (EGM2008)','EPSG','4937','EPSG','9393','EPSG','4603',0.05,'EPSG','8666','Geoid (height correction) model file','EGM08_REDNAP.txt',NULL,NULL,NULL,NULL,NULL,NULL,'IGN-Esp 2008',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9413','ETRS89 to Ibiza height (1)','','Derivation of gravity-related heights from GPS observations.','EPSG','1025','Geographic3D to GravityRelatedHeight (EGM2008)','EPSG','4937','EPSG','9394','EPSG','4604',0.05,'EPSG','8666','Geoid (height correction) model file','EGM08_REDNAP.txt',NULL,NULL,NULL,NULL,NULL,NULL,'IGN-Esp 2008',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9414','ETRS89 to Ceuta 2 height (1)','','Derivation of gravity-related heights from GPS observations.','EPSG','1025','Geographic3D to GravityRelatedHeight (EGM2008)','EPSG','4937','EPSG','9402','EPSG','4590',0.05,'EPSG','8666','Geoid (height correction) model file','EGM08_REDNAP.txt',NULL,NULL,NULL,NULL,NULL,NULL,'IGN-Esp 2008',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9415','REGCAN95 to Lanzarote height (1)','','Derivation of gravity-related heights from GPS observations.','EPSG','1025','Geographic3D to GravityRelatedHeight (EGM2008)','EPSG','4080','EPSG','9395','EPSG','4591',0.05,'EPSG','8666','Geoid (height correction) model file','EGM08_REDNAP_Canarias.txt',NULL,NULL,NULL,NULL,NULL,NULL,'IGN-Esp 2008',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9416','REGCAN95 to Fuerteventura height (1)','','Derivation of gravity-related heights from GPS observations.','EPSG','1025','Geographic3D to GravityRelatedHeight (EGM2008)','EPSG','4080','EPSG','9396','EPSG','4592',0.05,'EPSG','8666','Geoid (height correction) model file','EGM08_REDNAP_Canarias.txt',NULL,NULL,NULL,NULL,NULL,NULL,'IGN-Esp 2008',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9417','REGCAN95 to Gran Canaria height (1)','','Derivation of gravity-related heights from GPS observations.','EPSG','1025','Geographic3D to GravityRelatedHeight (EGM2008)','EPSG','4080','EPSG','9397','EPSG','4593',0.05,'EPSG','8666','Geoid (height correction) model file','EGM08_REDNAP_Canarias.txt',NULL,NULL,NULL,NULL,NULL,NULL,'IGN-Esp 2008',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9418','REGCAN95 to Tenerife height (1)','','Derivation of gravity-related heights from GPS observations.','EPSG','1025','Geographic3D to GravityRelatedHeight (EGM2008)','EPSG','4080','EPSG','9398','EPSG','4594',0.05,'EPSG','8666','Geoid (height correction) model file','EGM08_REDNAP_Canarias.txt',NULL,NULL,NULL,NULL,NULL,NULL,'IGN-Esp 2008',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9419','REGCAN95 to La Gomera height (1)','','Derivation of gravity-related heights from GPS observations.','EPSG','1025','Geographic3D to GravityRelatedHeight (EGM2008)','EPSG','4080','EPSG','9399','EPSG','4595',0.05,'EPSG','8666','Geoid (height correction) model file','EGM08_REDNAP_Canarias.txt',NULL,NULL,NULL,NULL,NULL,NULL,'IGN-Esp 2008',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9420','REGCAN95 to La Palma height (1)','','Derivation of gravity-related heights from GPS observations.','EPSG','1025','Geographic3D to GravityRelatedHeight (EGM2008)','EPSG','4080','EPSG','9400','EPSG','4596',0.05,'EPSG','8666','Geoid (height correction) model file','EGM08_REDNAP_Canarias.txt',NULL,NULL,NULL,NULL,NULL,NULL,'IGN-Esp 2008',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9421','REGCAN95 to El Hierro height (1)','','Derivation of gravity-related heights from GPS observations.','EPSG','1025','Geographic3D to GravityRelatedHeight (EGM2008)','EPSG','4080','EPSG','9401','EPSG','4597',0.05,'EPSG','8666','Geoid (height correction) model file','EGM08_REDNAP_Canarias.txt',NULL,NULL,NULL,NULL,NULL,NULL,'IGN-Esp 2008',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9431','GHA height to EVRF2019 height (1)','Determined at 147 points, SD 0.060m. Offset: mean -0.306m, minimum -0.442m, maximum -0.219m.','Vertical datum change.','EPSG','1085','Vertical Offset by Grid Interpolation (asc)','EPSG','5778','EPSG','9389','EPSG','1037',0.12,'EPSG','8732','Vertical offset file','at_2019_z.asc',NULL,NULL,NULL,NULL,'EPSG','4258','EuG-Aut 2019z',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9432','GHA height to EVRF2019 mean-tide height (1)','Determined at 147 points, SD 0.058m. Offset: mean -0.330m, minimum -0.463m, maximum -0.245m.','Vertical datum change.','EPSG','1085','Vertical Offset by Grid Interpolation (asc)','EPSG','5778','EPSG','9390','EPSG','1037',0.116,'EPSG','8732','Vertical offset file','at_2019_m.asc',NULL,NULL,NULL,NULL,'EPSG','4258','EuG-Aut 2019m',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9433','Ostend height to EVRF2019 mean-tide height (1)','Determined at 39 points, SD 0.016m. Offset: mean -2.323m, minimum -2.372m, maximum -2.290m.','Vertical datum change.','EPSG','1085','Vertical Offset by Grid Interpolation (asc)','EPSG','5710','EPSG','9390','EPSG','1347',0.032,'EPSG','8732','Vertical offset file','be_2019_m.asc',NULL,NULL,NULL,NULL,'EPSG','4258','EuG-Bel 2019m',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9434','Ostend height to EVRF2019 height (1)','Determined at 39 points, SD 0.017m. Offset: mean -2.315m, minimum -2.364m, maximum -2.279m.','Vertical datum change.','EPSG','1085','Vertical Offset by Grid Interpolation (asc)','EPSG','5710','EPSG','9389','EPSG','1347',0.034,'EPSG','8732','Vertical offset file','be_2019_z.asc',NULL,NULL,NULL,NULL,'EPSG','4258','EuG-Bel 2019z',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9435','DHHN2016 height to EVRF2019 height (1)','Determined at 802 points, SD 0.010m. Offset: mean 0.013m, minimum -0.008m, maximum 0.039m.','Vertical datum change.','EPSG','1085','Vertical Offset by Grid Interpolation (asc)','EPSG','7837','EPSG','9389','EPSG','3339',0.02,'EPSG','8732','Vertical offset file','de_2019_z.asc',NULL,NULL,NULL,NULL,'EPSG','4258','EuG-Deu 2019z',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9436','DHHN2016 height to EVRF2019 mean-tide height (1)','Determined at 802 points, SD 0.003m. Offset: mean 0.007m, minimum -0.004m, maximum 0.018m.','Vertical datum change.','EPSG','1085','Vertical Offset by Grid Interpolation (asc)','EPSG','7837','EPSG','9390','EPSG','3339',0.006,'EPSG','8732','Vertical offset file','de_2019_m.asc',NULL,NULL,NULL,NULL,'EPSG','4258','EuG-Deu 2019m',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9437','Trieste height to EVRF2019 height (1)','Determined at 46 points, SD 0.016m. Offset: mean -0.548m, minimum -0.595m, maximum -0.500m.','Vertical datum change.','EPSG','1085','Vertical Offset by Grid Interpolation (asc)','EPSG','5195','EPSG','9389','EPSG','1148',0.032,'EPSG','8732','Vertical offset file','mk_2019_z.asc',NULL,NULL,NULL,NULL,'EPSG','4258','EuG-Mkd 2019z',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9438','Trieste height to EVRF2019 mean-tide height (1)','Determined at 46 points, SD 0.015m. Offset: mean -0.604m, minimum -0.650m, maximum -0.558m.','Vertical datum change.','EPSG','1085','Vertical Offset by Grid Interpolation (asc)','EPSG','5195','EPSG','9390','EPSG','1148',0.03,'EPSG','8732','Vertical offset file','mk_2019_m.asc',NULL,NULL,NULL,NULL,'EPSG','4258','EuG-Mkd 2019m',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9439','Cascais height to EVRF2019 height (1)','Determined at 18 points, SD 0.010m. Offset: mean -0.277m, minimum -0.323m, maximum -0.264m.','Vertical datum change.','EPSG','1085','Vertical Offset by Grid Interpolation (asc)','EPSG','5780','EPSG','9389','EPSG','1294',0.02,'EPSG','8732','Vertical offset file','pt_2019_z.asc',NULL,NULL,NULL,NULL,'EPSG','4258','EuG-Prt 2019z',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9440','Cascais height to EVRF2019 mean-tide height (1)','Determined at 18 points, SD 0.007m. Offset: mean -0.343m, minimum -0.383m, maximum -0.332m.','Vertical datum change.','EPSG','1085','Vertical Offset by Grid Interpolation (asc)','EPSG','5780','EPSG','9390','EPSG','1294',0.014,'EPSG','8732','Vertical offset file','pt_2019_m.asc',NULL,NULL,NULL,NULL,'EPSG','4258','EuG-Prt 2019m',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9441','SVS2010 height to EVRF2019 height (1)','Determined at 66 points, SD 0.003m. Offset: mean -0.258m, minimum -0.264m, maximum -0.250m.','Vertical datum change.','EPSG','1085','Vertical Offset by Grid Interpolation (asc)','EPSG','8690','EPSG','9389','EPSG','3307',0.006,'EPSG','8732','Vertical offset file','si_2019_z.asc',NULL,NULL,NULL,NULL,'EPSG','4258','EuG-Svn 2019z',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9442','SVS2010 height to EVRF2019 mean-tide height (1)','Determined at 66 points, SD 0.004m. Offset: mean -0.290m, minimum -0.295m, maximum -0.280m.','Vertical datum change.','EPSG','1085','Vertical Offset by Grid Interpolation (asc)','EPSG','8690','EPSG','9390','EPSG','3307',0.008,'EPSG','8732','Vertical offset file','si_2019_m.asc',NULL,NULL,NULL,NULL,'EPSG','4258','EuG-Svn 2019m',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9443','LHN95 height to EVRF2019 height (1)','Determined at 553 points, SD 0.075m. Offset: mean -0.204m, minimum -0.330m, maximum -0.130m.','Vertical datum change.','EPSG','1085','Vertical Offset by Grid Interpolation (asc)','EPSG','5729','EPSG','9389','EPSG','1286',0.15,'EPSG','8732','Vertical offset file','ch_2019_z.asc',NULL,NULL,NULL,NULL,'EPSG','4258','EuG-Che 2019z',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9444','LHN95 height to EVRF2019 mean-tide height (1)','Determined at 553 points, SD 0.073m. Offset: mean -0.233m, minimum -0.353m, maximum -0.044m.','Vertical datum change.','EPSG','1085','Vertical Offset by Grid Interpolation (asc)','EPSG','5729','EPSG','9390','EPSG','1286',0.146,'EPSG','8732','Vertical offset file','ch_2019_m.asc',NULL,NULL,NULL,NULL,'EPSG','4258','EuG-Che 2019m',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9445','ODN height to EVRF2019 height (1)','Determined at 35 points, SD 0.011m. Offset: mean -0.181m, minimum -0.202m, maximum -0.161m.','Vertical datum change.','EPSG','1085','Vertical Offset by Grid Interpolation (asc)','EPSG','5701','EPSG','9389','EPSG','2792',0.022,'EPSG','8732','Vertical offset file','gb_2019_z.asc',NULL,NULL,NULL,NULL,'EPSG','4258','EuG-Gbr 2019z',0);
INSERT INTO "grid_transformation" VALUES('EPSG','10000','RGF93 to NGF-IGN69 height (1)','May be used for transformations from WGS 84 to NGF-IGN69. Accuracy at each 0.1 deg x 0.1 degree grid node is given within the geoid model file.','Derivation of gravity-related heights from GPS observations.','EPSG','9664','Geographic3D to GravityRelatedHeight (IGN1997)','EPSG','4965','EPSG','5720','EPSG','1326',0.5,'EPSG','8666','Geoid (height correction) model file','ggf97a.txt',NULL,NULL,NULL,NULL,NULL,NULL,'IGN Fra',0);
INSERT INTO "grid_transformation" VALUES('EPSG','10001','ETRS89 to NGF-IGN69 height (1)','Parameter values taken from RGF93 to NGF-IGN69 (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.','Derivation of gravity-related heights from GPS observations.','EPSG','9664','Geographic3D to GravityRelatedHeight (IGN1997)','EPSG','4937','EPSG','5720','EPSG','1326',0.5,'EPSG','8666','Geoid (height correction) model file','ggf97a.txt',NULL,NULL,NULL,NULL,NULL,NULL,'IGN Fra',0);
INSERT INTO "grid_transformation" VALUES('EPSG','10002','RGF93 to NGF-IGN78 height (1)','May be used for transformations from WGS 84 to NGF-IGN78. Accuracy at each 0.1 deg x 0.1 degree grid node is given within the geoid model file.','Derivation of gravity-related heights from GPS observations.','EPSG','9664','Geographic3D to GravityRelatedHeight (IGN1997)','EPSG','4965','EPSG','5721','EPSG','1327',0.5,'EPSG','8666','Geoid (height correction) model file','ggf97a_corse.txt',NULL,NULL,NULL,NULL,NULL,NULL,'IGN Fra Cor',0);
INSERT INTO "grid_transformation" VALUES('EPSG','10003','ETRS89 to NGF-IGN78 height (1)','Parameter values taken from RGF93 to NGF-IGN78 (1) (code 10002) 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.','Derivation of gravity-related heights from GPS observations.','EPSG','9664','Geographic3D to GravityRelatedHeight (IGN1997)','EPSG','4937','EPSG','5721','EPSG','1327',0.5,'EPSG','8666','Geoid (height correction) model file','ggf97a_corse.txt',NULL,NULL,NULL,NULL,NULL,NULL,'IGN Fra Cor',0);
INSERT INTO "grid_transformation" VALUES('EPSG','10004','RRAF 1991 to Martinique 1987 height (1)','May be used for transformations from WGS 84 to IGN 1987. Accuracy at each 0.025 deg x 0.025 degree grid node is given within the geoid model file.','Derivation of gravity-related heights from GPS observations.','EPSG','9664','Geographic3D to GravityRelatedHeight (IGN1997)','EPSG','4973','EPSG','5756','EPSG','1156',998.0,'EPSG','8666','Geoid (height correction) model file','ggm00.txt',NULL,NULL,NULL,NULL,NULL,NULL,'IGN Mtq',1);
INSERT INTO "grid_transformation" VALUES('EPSG','10005','RRAF 1991 to Guadeloupe 1988 height (1)','May be used for transformations from WGS 84 to IGN 1988. Accuracy at each 0.025 deg x 0.025 degree grid node is given within the geoid model file.','Derivation of gravity-related heights from GPS observations. Accuracy 0.2m within onshore areas.','EPSG','9664','Geographic3D to GravityRelatedHeight (IGN1997)','EPSG','4973','EPSG','5757','EPSG','2892',0.2,'EPSG','8666','Geoid (height correction) model file','ggg00.txt',NULL,NULL,NULL,NULL,NULL,NULL,'IGN Glp GT',1);
INSERT INTO "grid_transformation" VALUES('EPSG','10006','RRAF 1991 to Guadeloupe 1988 height (2)','May be used for transformations from WGS 84 to IGN 1988. Accuracy at each 0.025 deg x 0.025 degree grid node is given within the geoid model file.','Derivation of gravity-related heights from GPS observations.','EPSG','9664','Geographic3D to GravityRelatedHeight (IGN1997)','EPSG','4973','EPSG','5757','EPSG','2894',998.0,'EPSG','8666','Geoid (height correction) model file','ggg00_mg.txt',NULL,NULL,NULL,NULL,NULL,NULL,'IGN Glp MG',1);
@@ -390,7 +428,7 @@ INSERT INTO "grid_transformation" VALUES('EPSG','10017','NAD83 to NAVD88 height
INSERT INTO "grid_transformation" VALUES('EPSG','10018','NAD83 to NAVD88 height (6)','Uses Geoid03 hybrid model. See information source for further information. Note: Source CRS is 2D, used in this application of the method as a pseudo-3D CRS.','Derivation of approximate gravity-related heights from GPS observations.','EPSG','9665','Geographic3D to GravityRelatedHeight (gtx)','EPSG','4269','EPSG','5703','EPSG','2974',0.05,'EPSG','8666','Geoid (height correction) model file','g2003u06.bin',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-US Conus CSW',1);
INSERT INTO "grid_transformation" VALUES('EPSG','10019','NAD83 to NAVD88 height (7)','Uses Geoid03 hybrid model. See information source for further information. Note: Source CRS is 2D, used in this application of the method as a pseudo-3D CRS.','Derivation of approximate gravity-related heights from GPS observations.','EPSG','9665','Geographic3D to GravityRelatedHeight (gtx)','EPSG','4269','EPSG','5703','EPSG','2975',0.05,'EPSG','8666','Geoid (height correction) model file','g2003u07.bin',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-US Conus CSE',1);
INSERT INTO "grid_transformation" VALUES('EPSG','10020','NAD83 to NAVD88 height (8)','Uses Geoid03 hybrid model. See information source for further information. Note: Source CRS is 2D, used in this application of the method as a pseudo-3D CRS.','Derivation of approximate gravity-related heights from GPS observations.','EPSG','9665','Geographic3D to GravityRelatedHeight (gtx)','EPSG','4269','EPSG','5703','EPSG','2976',0.05,'EPSG','8666','Geoid (height correction) model file','g2003u08.bin',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-US Conus SE',1);
INSERT INTO "grid_transformation" VALUES('EPSG','10021','ETRS89 to Newlyn height (1)','May be used for transformations from WGS 84 to Newlyn.','Derivation of gravity-related heights from GPS observations.','EPSG','9663','Geographic3D to GravityRelatedHeight (OSGM-GB)','EPSG','4937','EPSG','5701','EPSG','2792',0.02,'EPSG','8666','Geoid (height correction) model file','OSTN02_OSGM02_GB.txt',NULL,NULL,NULL,NULL,NULL,NULL,'OS-UK Gbr',0);
INSERT INTO "grid_transformation" VALUES('EPSG','10021','ETRS89 to ODN height (1)','','Derivation of gravity-related heights from GPS observations.','EPSG','9663','Geographic3D to GravityRelatedHeight (OSGM-GB)','EPSG','4937','EPSG','5701','EPSG','2792',0.02,'EPSG','8666','Geoid (height correction) model file','OSTN02_OSGM02_GB.txt',NULL,NULL,NULL,NULL,NULL,NULL,'OS-UK Gbr',0);
INSERT INTO "grid_transformation" VALUES('EPSG','10022','ETRS89 to Belfast height (1)','May be used for transformations from WGS 84 to Belfast.','Derivation of gravity-related heights from GPS observations.','EPSG','9663','Geographic3D to GravityRelatedHeight (OSGM-GB)','EPSG','4937','EPSG','5732','EPSG','2530',0.03,'EPSG','8666','Geoid (height correction) model file','OSTN02_OSGM02_GB.txt',NULL,NULL,NULL,NULL,NULL,NULL,'OS-UK NI',1);
INSERT INTO "grid_transformation" VALUES('EPSG','10023','ETRS89 to Douglas height (1)','May be used for transformations from WGS 84 to Douglas.','Derivation of gravity-related heights from GPS observations.','EPSG','9663','Geographic3D to GravityRelatedHeight (OSGM-GB)','EPSG','4937','EPSG','5750','EPSG','2803',0.02,'EPSG','8666','Geoid (height correction) model file','OSTN02_OSGM02_GB.txt',NULL,NULL,NULL,NULL,NULL,NULL,'OS-UK Man',0);
INSERT INTO "grid_transformation" VALUES('EPSG','10024','ETRS89 to Fair Isle height (1)','May be used for transformations from WGS 84 to Fair Isle.','Derivation of gravity-related heights from GPS observations.','EPSG','9663','Geographic3D to GravityRelatedHeight (OSGM-GB)','EPSG','4937','EPSG','5741','EPSG','2794',0.05,'EPSG','8666','Geoid (height correction) model file','OSTN02_OSGM02_GB.txt',NULL,NULL,NULL,NULL,NULL,NULL,'OS-UK Fair',0);
@@ -398,7 +436,7 @@ INSERT INTO "grid_transformation" VALUES('EPSG','10025','ETRS89 to Flannan Isles
INSERT INTO "grid_transformation" VALUES('EPSG','10026','ETRS89 to Foula height (1)','May be used for transformations from WGS 84 to Foula.','Derivation of gravity-related heights from GPS observations.','EPSG','9663','Geographic3D to GravityRelatedHeight (OSGM-GB)','EPSG','4937','EPSG','5743','EPSG','2796',0.05,'EPSG','8666','Geoid (height correction) model file','OSTN02_OSGM02_GB.txt',NULL,NULL,NULL,NULL,NULL,NULL,'OS-UK Foula',0);
INSERT INTO "grid_transformation" VALUES('EPSG','10027','ETRS89 to Lerwick height (1)','May be used for transformations from WGS 84 to Lerwick.','Derivation of gravity-related heights from GPS observations.','EPSG','9663','Geographic3D to GravityRelatedHeight (OSGM-GB)','EPSG','4937','EPSG','5742','EPSG','2795',0.05,'EPSG','8666','Geoid (height correction) model file','OSTN02_OSGM02_GB.txt',NULL,NULL,NULL,NULL,NULL,NULL,'OS-UK Shet',0);
INSERT INTO "grid_transformation" VALUES('EPSG','10028','ETRS89 to Malin Head height (1)','May be used for transformations from WGS 84 to Malin Head.','Derivation of gravity-related heights from GPS observations.','EPSG','9663','Geographic3D to GravityRelatedHeight (OSGM-GB)','EPSG','4937','EPSG','5731','EPSG','1305',0.04,'EPSG','8666','Geoid (height correction) model file','OSTN02_OSGM02_GB.txt',NULL,NULL,NULL,NULL,NULL,NULL,'OS-Ire',1);
INSERT INTO "grid_transformation" VALUES('EPSG','10029','ETRS89 to Newlyn (Orkney Isles) height (1)','May be used for transformations from WGS 84 to Newlyn (Orkney Isles).','Derivation of gravity-related heights from GPS observations.','EPSG','9663','Geographic3D to GravityRelatedHeight (OSGM-GB)','EPSG','4937','EPSG','5740','EPSG','2793',0.05,'EPSG','8666','Geoid (height correction) model file','OSTN02_OSGM02_GB.txt',NULL,NULL,NULL,NULL,NULL,NULL,'OS-UK Ork',0);
INSERT INTO "grid_transformation" VALUES('EPSG','10029','ETRS89 to ODN Orkney height (1)','','Derivation of gravity-related heights from GPS observations.','EPSG','9663','Geographic3D to GravityRelatedHeight (OSGM-GB)','EPSG','4937','EPSG','5740','EPSG','2793',0.05,'EPSG','8666','Geoid (height correction) model file','OSTN02_OSGM02_GB.txt',NULL,NULL,NULL,NULL,NULL,NULL,'OS-UK Ork',0);
INSERT INTO "grid_transformation" VALUES('EPSG','10030','ETRS89 to North Rona height (1)','May be used for transformations from WGS 84 to North Rona.','Derivation of gravity-related heights from GPS observations.','EPSG','9663','Geographic3D to GravityRelatedHeight (OSGM-GB)','EPSG','4937','EPSG','5745','EPSG','2798',0.05,'EPSG','8666','Geoid (height correction) model file','OSTN02_OSGM02_GB.txt',NULL,NULL,NULL,NULL,NULL,NULL,'OS-UK Rona',0);
INSERT INTO "grid_transformation" VALUES('EPSG','10031','ETRS89 to St. Kilda height (1)','May be used for transformations from WGS 84 to St. Kilda.','Derivation of gravity-related heights from GPS observations.','EPSG','9663','Geographic3D to GravityRelatedHeight (OSGM-GB)','EPSG','4937','EPSG','5747','EPSG','2800',0.05,'EPSG','8666','Geoid (height correction) model file','OSTN02_OSGM02_GB.txt',NULL,NULL,NULL,NULL,NULL,NULL,'OS-UK Kilda',0);
INSERT INTO "grid_transformation" VALUES('EPSG','10032','ETRS89 to St. Marys height (1)','May be used for transformations from WGS 84 to St. Marys.','Derivation of gravity-related heights from GPS observations.','EPSG','9663','Geographic3D to GravityRelatedHeight (OSGM-GB)','EPSG','4937','EPSG','5749','EPSG','2802',0.0,'EPSG','8666','Geoid (height correction) model file','OSTN02_OSGM02_GB.txt',NULL,NULL,NULL,NULL,NULL,NULL,'OS-UK Scilly',0);
+30 -36
View File
@@ -3,22 +3,22 @@
-- Denmark
INSERT INTO "grid_transformation" VALUES(
'PROJ','EPSG_5799_TO_EPSG_4937','DVR90 height to ETRS89',
'PROJ','EPSG_4937_TO_EPSG_5799','ETRS89 to DVR90 height',
NULL,NULL,
'PROJ','HEIGHT_TO_GEOGRAPHIC3D','GravityRelatedHeight to Geographic3D',
'EPSG','5799', -- source CRS (DVR90 height)
'EPSG','4937', -- target CRS (ETRS89)
'EPSG','9665','Geographic3D to GravityRelatedHeight (gtx)',
'EPSG','4937', -- source CRS (ETRS89)
'EPSG','5799', -- target CRS (DVR90 height)
'EPSG','3237', -- area of use: Denmark onshore
NULL,
'EPSG','8666','Geoid (height correction) model file','dvr90.gtx',
NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "grid_transformation" VALUES(
'PROJ','EPSG_5733_TO_EPSG_4937','DNN height to ETRS89',
'PROJ','EPSG_4937_TO_EPSG_5733','ETRS89 to DNN height',
NULL,NULL,
'PROJ','HEIGHT_TO_GEOGRAPHIC3D','GravityRelatedHeight to Geographic3D',
'EPSG','5733', -- source CRS (DNN height)
'EPSG','4937', -- target CRS (ETRS89)
'EPSG','9665','Geographic3D to GravityRelatedHeight (gtx)',
'EPSG','4937', -- source CRS (ETRS89)
'EPSG','5733', -- target CRS (DNN height)
'EPSG','3237', -- area of use: Denmark onshore
NULL,
'EPSG','8666','Geoid (height correction) model file','dnn.gtx',
@@ -27,11 +27,11 @@ INSERT INTO "grid_transformation" VALUES(
-- Faroe Islands
INSERT INTO "grid_transformation" VALUES(
'PROJ','EPSG_5317_TO_EPSG_4937','FVR09 height to ETRS89',
'PROJ','EPSG_4937_TO_EPSG_5317','ETRS89 to FVR09 height',
NULL,NULL,
'PROJ','HEIGHT_TO_GEOGRAPHIC3D','GravityRelatedHeight to Geographic3D',
'EPSG','5317', -- source CRS (FVR09 height)
'EPSG','4937', -- target CRS (ETRS89)
'EPSG','9665','Geographic3D to GravityRelatedHeight (gtx)',
'EPSG','4937', -- source CRS (ETRS89)
'EPSG','5317', -- target CRS (FVR09 height)
'EPSG','3248', -- area of use: Faroe Islands - onshore
NULL,
'EPSG','8666','Geoid (height correction) model file','fvr09.gtx',
@@ -40,52 +40,46 @@ INSERT INTO "grid_transformation" VALUES(
-- Sweden
INSERT INTO "grid_transformation" VALUES(
'PROJ','EPSG_5613_TO_EPSG_4977','RH2000 height to SWEREF99',
'PROJ','EPSG_4977_TO_EPSG_5613','SWEREF99 to RH2000 height',
NULL,NULL,
'PROJ','HEIGHT_TO_GEOGRAPHIC3D','GravityRelatedHeight to Geographic3D',
'EPSG','5613', -- source CRS (RH2000 height)
'EPSG','4977', -- target CRS (SWEREF99)
'EPSG','9665','Geographic3D to GravityRelatedHeight (gtx)',
'EPSG','4977', -- source CRS (SWEREF99)
'EPSG','5613', -- target CRS (RH2000 height)
'EPSG','3313', -- area of use: Sweden onshore
NULL,
'EPSG','8666','Geoid (height correction) model file','SWEN17_RH2000.gtx',
NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
----- Hopefully temporary entry for SeTa2016.gsb grid -----
INSERT INTO "area" VALUES('PROJ','SETA2016','Germany - Saarland','Germany - Saarland',49.10,49.64,6.345,7.45,0);
-- Advertize a 0.8 accuracy slightly better than the 0.9 of BETA2007 for sort purposes
INSERT INTO "grid_transformation" VALUES('PROJ','SETA2016','DHDN to ETRS89 (SETA2016)','DHDN to ETRS89 for Saarland. Using official SETA2016 grid but this transformation entry has been created temporarily by PROJ. Accuracy indication not to be considered as authoritative','For applications requiring an accuracy of better than 1 metre.','EPSG','9615','NTv2','EPSG','4314','EPSG','4258','PROJ','SETA2016',0.89,'EPSG','8656','Latitude and longitude difference file','SeTa2016.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'-',0);
-- Iceland
INSERT INTO "grid_transformation" VALUES(
'PROJ','EPSG_8089_TO_EPSG_5323','ISH2004 height to ISN2004',
'PROJ','EPSG_5323_TO_EPSG_8089','ISN2004 to ISH2004 height',
NULL,NULL,
'PROJ','HEIGHT_TO_GEOGRAPHIC3D','GravityRelatedHeight to Geographic3D',
'EPSG','8089', -- source CRS (ISH2004 height)
'EPSG','5323', -- target CRS (ISN2004 geographic 3D)
'EPSG','9665','Geographic3D to GravityRelatedHeight (gtx)',
'EPSG','5323', -- source CRS (ISN2004 geographic 3D)
'EPSG','8089', -- target CRS (ISH2004 height)
'EPSG','1120', -- area of use: Iceland - onshore and offshore
NULL,
'EPSG','8666','Geoid (height correction) model file','Icegeoid_ISN2004.gtx',
NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "grid_transformation" VALUES(
'PROJ','EPSG_8089_TO_EPSG_4945','ISH2004 height to ISN93',
'PROJ','EPSG_4945_TO_EPSG_8089','ISN93 to ISH2004 height',
NULL,NULL,
'PROJ','HEIGHT_TO_GEOGRAPHIC3D','GravityRelatedHeight to Geographic3D',
'EPSG','8089', -- source CRS (ISH2004 height)
'EPSG','4945', -- target CRS (ISN93 geographic 3D)
'EPSG','9665','Geographic3D to GravityRelatedHeight (gtx)',
'EPSG','4945', -- source CRS (ISN93 geographic 3D)
'EPSG','8089', -- target CRS (ISH2004 height)
'EPSG','1120', -- area of use: Iceland - onshore and offshore
NULL,
'EPSG','8666','Geoid (height correction) model file','Icegeoid_ISN93.gtx',
NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "grid_transformation" VALUES(
'PROJ','EPSG_8089_TO_EPSG_8085','ISH2004 height to ISN2016',
'PROJ','EPSG_8085_TO_EPSG_8089','ISN2016 to ISH2004 height',
NULL,NULL,
'PROJ','HEIGHT_TO_GEOGRAPHIC3D','GravityRelatedHeight to Geographic3D',
'EPSG','8089', -- source CRS (ISH2004 height)
'EPSG','8085', -- target CRS (ISN2016 geographic 3D)
'EPSG','9665','Geographic3D to GravityRelatedHeight (gtx)',
'EPSG','8085', -- source CRS (ISN2016 geographic 3D)
'EPSG','8089', -- target CRS (ISH2004 height)
'EPSG','1120', -- area of use: Iceland - onshore and offshore
NULL,
'EPSG','8666','Geoid (height correction) model file','Icegeoid_ISN2016.gtx',
+29 -11
View File
@@ -238,7 +238,7 @@ INSERT INTO "helmert_transformation" VALUES('EPSG','1308','NAD83 to WGS 84 (4)',
INSERT INTO "helmert_transformation" VALUES('EPSG','1309','DHDN to ETRS89 (1)','Mean of 69 stations. May be taken as approximate tfm DHDN to WGS 84 (code 1673). Replaced by DHDN to ETRS89 (2) (tfm code 1776) and regional higher accuracy tfms. Note: these later tfms have been published using the Position Vector method.','For applications with an accuracy at 5 m level.','EPSG','9607','Coordinate Frame rotation (geog2D domain)','EPSG','4314','EPSG','4258','EPSG','2326',5.0,582.0,105.0,414.0,'EPSG','9001',-1.04,-0.35,3.08,'EPSG','9104',8.3,'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 W',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','1310','Pulkovo 1942 to ETRS89 (1)','Mean of 20 stations.','Residuals under 2 m.','EPSG','9607','Coordinate Frame rotation (geog2D domain)','EPSG','4284','EPSG','4258','EPSG','1343',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 "helmert_transformation" VALUES('EPSG','1311','ED50 to WGS 84 (18)','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.','Recommended transformation for UKCS and IrishCS petroleum purposes.','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','4230','EPSG','4326','EPSG','2342',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','1314','OSGB 1936 to WGS 84 (6)','For a more accurate transformation see OSGB 1936 / British National Grid to ETRS89 (2) (code 1039): contact the Ordnance Survey of Great Britain (http://www.gps.gov.uk/gpssurveying.asp) for details.','Oil exploration. Accuracy better than 4m and generally better than 2m.','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','4277','EPSG','4326','EPSG','1264',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','OSGB 1936 to WGS 84 (6)','For a more accurate transformation see ETRS89 to OSGB 1936 / British National Grid (3) (code 7953).','Oil exploration. Accuracy better than 4m and generally better than 2m.','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','4277','EPSG','4326','EPSG','1264',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','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).','For oil exploration. Accuracy better than 4m and generally better than 2m.','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','4277','EPSG','4230','EPSG','1264',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','1316','Manoca to WGS 84 (1)','','?','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4260','EPSG','4326','EPSG','1060',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 "helmert_transformation" VALUES('EPSG','1317','Camacupa 1948 to WGS 72BE (1)','Derived by Geophysical Services Inc. in 1979 from mean of Transit results at 7 stations.','Oil exploration.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4220','EPSG','4324','EPSG','1604',10.0,-37.2,-370.6,-228.5,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GSI-Ago',0);
@@ -763,7 +763,7 @@ INSERT INTO "helmert_transformation" VALUES('EPSG','5333','ITRF2005 to ITRF2008
INSERT INTO "helmert_transformation" VALUES('EPSG','5350','Campo Inchauspe to POSGAR 2007 (1)','Adopted from U.S. Defense Mapping Agency values for Campo Inchauspe to WGS 84 (tfm code 1127) assuming that POSGAR 2007 is equivalent to WGS 84.','Accuracy 5m in each axis.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4221','EPSG','5340','EPSG','3215',5.0,-148.0,136.0,90.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,'IGM-Arg',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','5351','POSGAR 2007 to WGS 84 (1)','','Approximation at the sub meter level.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','5340','EPSG','4326','EPSG','1033',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,'EPSG-Arg',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','5374','MARGEN to WGS 84 (1)','','Accuracy 1m.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','5354','EPSG','4326','EPSG','1049',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-Bol',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','5375','SIRGAS-Chile to WGS 84 (1)','','Accuracy 1m.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','9184','EPSG','4326','EPSG','1066',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-Chl',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','5375','SIRGAS-Chile to WGS 84 (1)','','Accuracy 1m.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','9184','EPSG','4326','EPSG','1066',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-Chl',1);
INSERT INTO "helmert_transformation" VALUES('EPSG','5376','CR05 to WGS 84 (1)','','Accuracy 1m.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','5365','EPSG','4326','EPSG','1074',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-Cri',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','5377','MACARIO SOLIS to WGS 84 (1)','','Accuracy 1m.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','5371','EPSG','4326','EPSG','1186',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-Pan',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','5378','Peru96 to WGS 84 (1)','','Accuracy 1m.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','5373','EPSG','4326','EPSG','1189',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-Per',0);
@@ -901,16 +901,16 @@ INSERT INTO "helmert_transformation" VALUES('EPSG','6942','AGD66 to PNG94 (7)','
INSERT INTO "helmert_transformation" VALUES('EPSG','6943','AGD66 to WGS 84 (21)','Parameter values taken from AGD66 to PNG94 (3) (code 6938). Approximation at the +/- 5m level assuming that PNG94 is equivalent to WGS 84 within the accuracy of the transformation.','Low accuracy transformation suitable for mapping and navigation purposes only.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4202','EPSG','4326','EPSG','4214',5.0,-129.0,-58.0,152.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,'Qcl-Png Mainland',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','6944','AGD66 to WGS 84 (22)','Parameter values taken from AGD66 to PNG94 (5) (code 6940). Approximation at the +/- 4m level assuming that PNG94 is equivalent to WGS 84 within the accuracy of the transformation.','Low accuracy transformation suitable for mapping and navigation purposes only.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4202','EPSG','4326','EPSG','4013',4.0,-131.3,-55.3,151.8,'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,'Qcl-Png PFTB 2014',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','6945','AGD66 to WGS 84 (23)','Parameter values taken from AGD66 to PNG94 (7) (code 6942). Approximation at the +/- 4m level assuming that PNG94 is equivalent to WGS 84 within the accuracy of the transformation.','Low accuracy transformation suitable for mapping and navigation purposes only.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4202','EPSG','4326','EPSG','4216',4.0,-137.4,-58.9,150.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,'Qcl-Png North Fly',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','6949','PSAD56 to SIRGAS-Chile (1)','Also used as a transformation from PSAD56 to WGS 84 - see code 6971.','Small and medium scale cartographic mapping.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4248','EPSG','9184','EPSG','4231',5.0,-302.0,272.0,-360.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,'IGM-Chl A',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','6950','PSAD56 to SIRGAS-Chile (2)','Also used as a transformation from PSAD56 to WGS 84 - see code 6972.','Small and medium scale cartographic mapping.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4248','EPSG','9184','EPSG','4222',5.0,-328.0,340.0,-329.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,'IGM-Chl B',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','6951','PSAD56 to SIRGAS-Chile (3)','Also used as a transformation from PSAD56 to WGS 84 - see code 6973.','Small and medium scale cartographic mapping.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4248','EPSG','9184','EPSG','4221',5.0,-352.0,403.0,-287.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,'IGM-Chl C',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','6949','PSAD56 to SIRGAS-Chile 2002 (1)','Also used as a transformation from PSAD56 to WGS 84 - see code 6971.','Small and medium scale cartographic mapping.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4248','EPSG','5360','EPSG','4231',5.0,-302.0,272.0,-360.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,'IGM-Chl A',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','6950','PSAD56 to SIRGAS-Chile 2002 (2)','Also used as a transformation from PSAD56 to WGS 84 - see code 6972.','Small and medium scale cartographic mapping.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4248','EPSG','5360','EPSG','4222',5.0,-328.0,340.0,-329.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,'IGM-Chl B',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','6951','PSAD56 to SIRGAS-Chile 2002 (3)','Also used as a transformation from PSAD56 to WGS 84 - see code 6973.','Small and medium scale cartographic mapping.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4248','EPSG','5360','EPSG','4221',5.0,-352.0,403.0,-287.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,'IGM-Chl C',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','6960','VN-2000 to WGS 84 (2)','','Academic research not officially adopted.','EPSG','9607','Coordinate Frame rotation (geog2D domain)','EPSG','4756','EPSG','4326','EPSG','3328',1.0,-191.90441429,-39.30318279,-111.45032835,'EPSG','9001',-0.00928836,0.01975479,-0.00427372,'EPSG','9104',0.252906278,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'DoSM-Vnm',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','6963','Albanian 1987 to ETRS89 (1)','Derived using 90 stations, mse 18cm. May be taken as approximate transformation from Albanian 1987 to WGS 84 (see code 6964).','Use only for horizontal coordinates; geoid heights must be calculated with ALBGEO3 software.','EPSG','9607','Coordinate Frame rotation (geog2D domain)','EPSG','4191','EPSG','4258','EPSG','3212',0.2,-44.183,-0.58,-38.489,'EPSG','9001',2.3867,2.7072,-3.5196,'EPSG','9104',-8.2703,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'IGM-Alb 2D',1);
INSERT INTO "helmert_transformation" VALUES('EPSG','6964','Albanian 1987 to WGS 84 (1)','Parameter values from Albanian 1987 to ETRS89 (1) (code 6963). Assumes ETRS89 and WGS 84 can be considered the same to within the accuracy of the transformation.','Use only for horizontal coordinates; geoid heights must be calculated with ALBGEO3 software.','EPSG','9607','Coordinate Frame rotation (geog2D domain)','EPSG','4191','EPSG','4326','EPSG','3212',1.0,-44.183,-0.58,-38.489,'EPSG','9001',2.3867,2.7072,-3.5196,'EPSG','9104',-8.2703,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'IOGP-Alb 2D',1);
INSERT INTO "helmert_transformation" VALUES('EPSG','6967','SAD69 to SIRGAS-Chile (1)','Also used as a transformation from SAD69 to WGS 84 - see code 6974. Note: SAD69 adopted in Chile only south of 43°30''S.','Small and medium scale cartographic mapping.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4618','EPSG','4326','EPSG','4232',5.0,-59.0,-11.0,-52.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,'IGM-Chl A',1);
INSERT INTO "helmert_transformation" VALUES('EPSG','6968','SAD69 to SIRGAS-Chile (2)','Also used as a transformation from SAD69 to WGS 84 - see code 6975. Note: SAD69 adopted in Chile only south of 43°30''S.','Small and medium scale cartographic mapping.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4618','EPSG','9184','EPSG','4224',5.0,-64.0,0.0,-32.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,'IGM-Chl B',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','6968','SAD69 to SIRGAS-Chile 2002 (2)','Also used as a transformation from SAD69 to WGS 84 - see code 6975. Note: SAD69 adopted in Chile only south of 43°30''S.','Small and medium scale cartographic mapping.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4618','EPSG','5360','EPSG','4224',5.0,-64.0,0.0,-32.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,'IGM-Chl B',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','6969','SAD69 to SIRGAS-Chile (3)','Also used as a transformation from SAD69 to WGS 84 - see code 6976. Note: SAD69 adopted in Chile only south of 43°30''S.','Small and medium scale cartographic mapping.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4618','EPSG','4326','EPSG','4221',5.0,-72.0,10.0,-32.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,'IGM-Chl C',1);
INSERT INTO "helmert_transformation" VALUES('EPSG','6970','SAD69 to SIRGAS-Chile (4)','Also used as a transformation from SAD69 to WGS 84 - see code 6977.','Small and medium scale cartographic mapping.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4618','EPSG','9184','EPSG','2805',5.0,-79.0,13.0,-14.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,'IGM-Chl D',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','6970','SAD69 to SIRGAS-Chile 2002 (4)','Also used as a transformation from SAD69 to WGS 84 - see code 6977.','Small and medium scale cartographic mapping.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4618','EPSG','5360','EPSG','2805',5.0,-79.0,13.0,-14.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,'IGM-Chl D',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','6971','PSAD56 to WGS 84 (15)','Derived at 5 stations. Replaces PSAD56 to WGS 84 (3) (code 1203). Also used as a transformation from PSAD56 to SIRGAS-Chile - see code 6949.','For military purposes. Accuracy 10m in each axis.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4248','EPSG','4326','EPSG','4231',17.0,-302.0,272.0,-360.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,'NGA-Chl N 2014',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','6972','PSAD56 to WGS 84 (16)','Derived at 7 stations. Also used as a transformation from PSAD56 to SIRGAS-Chile - see code 6950.','For military purposes. Accuracy 10m in each axis.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4248','EPSG','4326','EPSG','4222',17.0,-328.0,340.0,-329.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,'NGA-Chl Cen 2014',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','6973','PSAD56 to WGS 84 (17)','Derived at 6 stations. Replaces PSAD56 to WGS 84 (4) (code 1204). Info source gives S limit as 44°S but Chilean IGM states that PSAD56 limit is 43°30''S. Also used as a transformation from PSAD56 to SIRGAS-Chile - see code 6951.','For military purposes. Accuracy 10m in each axis.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4248','EPSG','4326','EPSG','4221',17.0,-352.0,403.0,-287.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,'NGA-Chl S 2014',0);
@@ -933,8 +933,8 @@ INSERT INTO "helmert_transformation" VALUES('EPSG','7442','Nord Sahara 1959 to W
INSERT INTO "helmert_transformation" VALUES('EPSG','7443','ONGD14 to WGS 84 (2)','Approximation at the +/- 1m level assuming that ONG14 is equivalent to WGS 84. See transformation code 7377 for authoritative values.','Geodesy.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','7373','EPSG','4326','EPSG','1183',2.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-Omn',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','7444','CGRS93 to ETRS89 (1)','Derived at 6 points at epoch 1993.1. May be taken as approximate transformation CGRS93 to WGS 84 - see code 7445.','Small scale hydrographic and aviation mapping.','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','6311','EPSG','4258','EPSG','3236',0.1,8.846,-4.394,-1.122,'EPSG','9001',0.00237,0.146528,-0.130428,'EPSG','9104',0.783926,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'DLS-Cyp',1);
INSERT INTO "helmert_transformation" VALUES('EPSG','7445','CGRS93 to WGS 84 (1)','Parameter values from CGRS93 to ETRS89 (1) (code 7444). Approximation at the +/- 1m level assuming that ETRS89 is equivalent to WGS 84.','Small scale hydrographic and aviation mapping.','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','6311','EPSG','4326','EPSG','3236',1.0,8.846,-4.394,-1.122,'EPSG','9001',0.00237,0.146528,-0.130428,'EPSG','9104',0.783926,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'IOGP-Cyp',1);
INSERT INTO "helmert_transformation" VALUES('EPSG','7448','SAD69 to SIRGAS-Chile (1)','Also used as a transformation from SAD69 to WGS 84 - see code 6974. Note: SAD69 adopted in Chile only south of 43°30''S.','Small and medium scale cartographic mapping.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4618','EPSG','9184','EPSG','4232',5.0,-59.0,-11.0,-52.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,'IGM-Chl A',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','7449','SAD69 to SIRGAS-Chile (3)','Also used as a transformation from SAD69 to WGS 84 - see code 6976. Note: SAD69 adopted in Chile only south of 43°30''S.','Small and medium scale cartographic mapping.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4618','EPSG','9184','EPSG','4221',5.0,-72.0,10.0,-32.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,'IGM-Chl C',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','7448','SAD69 to SIRGAS-Chile 2002 (1)','Also used as a transformation from SAD69 to WGS 84 - see code 6974. Note: SAD69 adopted in Chile only south of 43°30''S.','Small and medium scale cartographic mapping.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4618','EPSG','5360','EPSG','4232',5.0,-59.0,-11.0,-52.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,'IGM-Chl A',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','7449','SAD69 to SIRGAS-Chile 2002 (3)','Also used as a transformation from SAD69 to WGS 84 - see code 6976. Note: SAD69 adopted in Chile only south of 43°30''S.','Small and medium scale cartographic mapping.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4618','EPSG','5360','EPSG','4221',5.0,-72.0,10.0,-32.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,'IGM-Chl C',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','7666','WGS 84 (G1762) to ITRF2008 (1)','Defined at epoch 2005.0. Scale difference in ppb where 1/billion = 1E-9 or nm/m.','Geodesy.','EPSG','1032','Coordinate Frame rotation (geocentric domain)','EPSG','7664','EPSG','5332','EPSG','1262',0.01,0.0,0.0,0.0,'EPSG','1025',0.0,0.0,0.0,'EPSG','1031',0.0,'EPSG','1028',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'NGA-Wld 2005.0',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','7667','WGS 84 (G1674) to WGS 84 (G1762) (1)','Defined at epoch 2005.0. Scale difference in ppb where 1/billion = 1E-9 or nm/m.','Geodesy.','EPSG','1032','Coordinate Frame rotation (geocentric domain)','EPSG','7662','EPSG','7664','EPSG','1262',0.01,-4.0,3.0,4.0,'EPSG','1025',0.27,-0.27,0.38,'EPSG','1031',-6.9,'EPSG','1028',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'NGA-Wld 2005.0',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','7668','WGS 84 (G1150) to WGS 84 (G1762) (1)','Defined at epoch 2001.0. Scale difference in ppb where 1/billion = 1E-9 or nm/m.','Geodesy','EPSG','1032','Coordinate Frame rotation (geocentric domain)','EPSG','7660','EPSG','7664','EPSG','1262',0.02,-6.0,5.0,20.0,'EPSG','1025',0.0,0.0,0.0,'EPSG','1031',-4.5,'EPSG','1028',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'NGA-Wld 2001.0',0);
@@ -1178,7 +1178,25 @@ INSERT INTO "helmert_transformation" VALUES('EPSG','9262','MMS to WGS 84 (1)',''
INSERT INTO "helmert_transformation" VALUES('EPSG','9263','Hito XVIII 1963 to WGS 84 (3)','','Oil and gas exploration and production.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4254','EPSG','4326','EPSG','2357',2.5,18.2,190.7,100.9,'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,'YPF-Arg TdF Hito',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','9264','POSGAR 2007 to WGS 84 (2)','Derived as average at all points common between the POSGAR 94 and POSGAR 2007 networks. POSGAR 94 was adjusted to the WGS 84 coordinates of 20 stations in March to May 1994. Accuracy 0.1m in 1994 + 1.5cm per year.','Oil and gas exploration and production.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','5340','EPSG','4326','EPSG','1033',0.5,-0.41,0.46,-0.35,'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,'YPF-Arg',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','9281','Amersfoort to ETRS89 (8)','Derived using ETRF2014. In RDNAPTRANS2018 software used assuming an ETRS89 ellipsoidal height of 43m and with an additional correction grid (corrections of up to 0.25m). Replaces Amersfoort to ETRS89 (5) and (6) (tfm codes 4830 and 4831).','Accuracy 0.25m','EPSG','9607','Coordinate Frame rotation (geog2D domain)','EPSG','4289','EPSG','4258','EPSG','1275',0.25,565.7381,50.4018,465.2904,'EPSG','9001',1.91514,-1.60363,9.09546,'EPSG','9109',4.07244,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'IOGP-Nld 2018',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','9334','ITRF2014 to KSA-GRF17 (1)','Arabian plate rotations derived during KSA-GRF17 adjustment from observations at 41 sites with at least 2.5 years of continuous observations.','Geodesy.','EPSG','1053','Time-dependent Position Vector tfm (geocentric)','EPSG','7789','EPSG','9331','EPSG','1206',0.001,0.0,0.0,0.0,'EPSG','1025',0.0,0.0,0.0,'EPSG','1031',0.0,'EPSG','1028',0.0,0.0,0.0,'EPSG','1027',-1.199,0.107,-1.468,'EPSG','1032',0.0,'EPSG','1030',2017.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'GCS-Sau',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','9298','ONGD17 to WGS 84 (1)','','Geodesy.','EPSG','1032','Coordinate Frame rotation (geocentric domain)','EPSG','9292','EPSG','4978','EPSG','1183',0.1,1.16835,-1.42001,-2.24431,'EPSG','9001',0.00822,0.05508,-0.01818,'EPSG','9104',0.23388,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'NSA-Omn',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','9334','ITRF2014 to KSA-GRF17 (1)','Arabian plate rotations derived from obs. at 41 sites with at least 2.5 years of continuous observations. May be approximated by position vector CT with rX=8.393", rY=-0.749", rZ=10.276" valid at 2017.00 and degrading by approximately 2.5cm per year.','Geodesy.','EPSG','1053','Time-dependent Position Vector tfm (geocentric)','EPSG','7789','EPSG','9331','EPSG','1206',0.001,0.0,0.0,0.0,'EPSG','1025',0.0,0.0,0.0,'EPSG','1031',0.0,'EPSG','1028',0.0,0.0,0.0,'EPSG','1027',-1.199,0.107,-1.468,'EPSG','1032',0.0,'EPSG','1030',2017.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'GCS-Sau',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','9339','PSAD56 to SIRGAS-Chile 2010 (1)','Also used as a transformation from PSAD56 to other realizations of SIRGAS-Chile and to WGS 84 - see code 6971.','Small and medium scale cartographic mapping.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4248','EPSG','8949','EPSG','4231',5.0,-302.0,272.0,-360.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,'IGM-Chl A',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','9340','PSAD56 to SIRGAS-Chile 2010 (2)','Also used as a transformation from PSAD56 to other realizations of SIRGAS-Chile and to WGS 84 - see code 6972.','Small and medium scale cartographic mapping.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4248','EPSG','8949','EPSG','4222',5.0,-328.0,340.0,-329.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,'IGM-Chl B',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','9341','PSAD56 to SIRGAS-Chile 2010 (3)','Also used as a transformation from PSAD56 to other realizations of SIRGAS-Chile and to WGS 84 - see code 6973.','Small and medium scale cartographic mapping.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4248','EPSG','8949','EPSG','4221',5.0,-352.0,403.0,-287.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,'IGM-Chl C',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','9342','PSAD56 to SIRGAS-Chile 2013 (1)','Also used as a transformation from PSAD56 to other realizations of SIRGAS-Chile and to WGS 84 - see code 6971.','Small and medium scale cartographic mapping.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4248','EPSG','9148','EPSG','4231',5.0,-302.0,272.0,-360.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,'IGM-Chl A',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','9343','PSAD56 to SIRGAS-Chile 2013 (2)','Also used as a transformation from PSAD56 to other realizations of SIRGAS-Chile and to WGS 84 - see code 6972.','Small and medium scale cartographic mapping.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4248','EPSG','9148','EPSG','4222',5.0,-328.0,340.0,-329.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,'IGM-Chl B',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','9344','PSAD56 to SIRGAS-Chile 2013 (3)','Also used as a transformation from PSAD56 to other realizations of SIRGAS-Chile and to WGS 84 - see code 6973.','Small and medium scale cartographic mapping.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4248','EPSG','9148','EPSG','4221',5.0,-352.0,403.0,-287.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,'IGM-Chl C',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','9345','PSAD56 to SIRGAS-Chile 2016 (1)','Also used as a transformation from PSAD56 to other realizations of SIRGAS-Chile and to WGS 84 - see code 6971.','Small and medium scale cartographic mapping.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4248','EPSG','9153','EPSG','4231',5.0,-302.0,272.0,-360.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,'IGM-Chl A',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','9346','PSAD56 to SIRGAS-Chile 2016 (2)','Also used as a transformation from PSAD56 to other realizations of SIRGAS-Chile and to WGS 84 - see code 6972.','Small and medium scale cartographic mapping.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4248','EPSG','9153','EPSG','4222',5.0,-328.0,340.0,-329.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,'IGM-Chl B',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','9347','PSAD56 to SIRGAS-Chile 2016 (3)','Also used as a transformation from PSAD56 to other realizations of SIRGAS-Chile and to WGS 84 - see code 6973.','Small and medium scale cartographic mapping.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4248','EPSG','9153','EPSG','4221',5.0,-352.0,403.0,-287.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,'IGM-Chl C',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','9348','SAD69 to SIRGAS-Chile 2010 (4)','Also used as a transformation from SAD69 to other realizations of SIRGAS-Chile and to WGS 84 - see code 6977.','Small and medium scale cartographic mapping.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4618','EPSG','8949','EPSG','2805',5.0,-79.0,13.0,-14.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,'IGM-Chl D',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','9349','SAD69 to SIRGAS-Chile 2013 (4)','Also used as a transformation from SAD69 to other realizations of SIRGAS-Chile and to WGS 84 - see code 6977.','Small and medium scale cartographic mapping.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4618','EPSG','9148','EPSG','2805',5.0,-79.0,13.0,-14.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,'IGM-Chl D',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','9350','SAD69 to SIRGAS-Chile 2016 (4)','Also used as a transformation from SAD69 to other realizations of SIRGAS-Chile and to WGS 84 - see code 6977.','Small and medium scale cartographic mapping.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4618','EPSG','9153','EPSG','2805',5.0,-79.0,13.0,-14.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,'IGM-Chl D',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','9361','MTRF-2000 to KSA-GRF17 (1)','','Geodesy.','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','8818','EPSG','9333','EPSG','1206',0.1,0.0469,-0.2827,0.0866,'EPSG','9001',0.00559,-0.004981,0.023108,'EPSG','9104',-0.008051,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GCS-Sau',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','9362','Ain el Abd to KSA-GRF17 (1)','For a more accurate transformation see Ain el Abd to KSA-GRF17 (2) (CT code 9363)','Geodesy.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4204','EPSG','9333','EPSG','3303',2.0,13.8714,-83.9721,101.674,'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,'GCS-Sau 2m',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','9381','ITRF2014 to IGb14 (1)','Scale difference in ppb where 1/billion = 1E-9 or nm/m. IGb14 is aligned with IGS14 which by definition aligned with ITRF2014.','Geodesy','EPSG','1065','Time-specific Position Vector transform (geocen)','EPSG','7789','EPSG','9378','EPSG','1262',0.0,0.0,0.0,0.0,'EPSG','1033',0.0,0.0,0.0,'EPSG','1031',0.0,'EPSG','1028',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2010.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'IGS-Wld',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','9382','IGS14 to IGb14 (1)','Scale difference in ppb where 1/billion = 1E-9 or nm/m. IGS14 and IGb14 are both by definition aligned with ITRF2014.','Geodesy','EPSG','1065','Time-specific Position Vector transform (geocen)','EPSG','8227','EPSG','9378','EPSG','1262',0.0,0.0,0.0,0.0,'EPSG','1025',0.0,0.0,0.0,'EPSG','1031',0.0,'EPSG','1028',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2010.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'IGS-Wld',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','9383','KSA-GRF17 to WGS 84 (1)','Derived from ITRF2014 to KSA-GRF17 (1) (CT code 9334). Valid at 2017.00 and degrading by approximately 2.5cm per year.','Spatial Referencing.','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','9333','EPSG','4326','EPSG','1206',1.0,0.0,0.0,0.0,'EPSG','9001',-8.393,0.749,-10.276,'EPSG','1031',0.0,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GCS-Sau',0);
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.','Oil exploration.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4302','EPSG','4326','EPSG','1339',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 "helmert_transformation" VALUES('EPSG','10086','JAD69 to WGS 72 (1)','Derived in 1977 through Transit observations at 2 stations by US DMA.','For military mapping.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4242','EPSG','4322','EPSG','3342',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);
INSERT INTO "helmert_transformation" VALUES('EPSG','10089','Aratu to WGS 84 (5)','Used by ExxonMobil for block BMS1. See WGS 84 (13) (tfm code 5051) which Petrobras now recommends for the area.','Oil exploration.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4208','EPSG','4326','EPSG','2962',7.0,-163.466,317.396,-147.538,'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,'EXM-Bra Santos',0);
@@ -1308,7 +1326,7 @@ INSERT INTO "helmert_transformation" VALUES('EPSG','15811','Antigua 1943 to WGS
INSERT INTO "helmert_transformation" VALUES('EPSG','15812','Deception Island to WGS 84 (1)','','Scientific mapping. Accuracy +/- 20m in each axis.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4736','EPSG','4326','EPSG','3204',35.0,260.0,12.0,-147.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-Ata Dec',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','15813','South Georgia 1968 to WGS 84 (1)','Determined from 1 satellite station.','Military and topographic mapping. Accuracy +/- 25m in each axis.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4722','EPSG','4326','EPSG','3529',44.0,-794.0,119.0,-298.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-Sgs Sgeorg',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','15814','SIGD61 to WGS 84 (1)','Determined from 1 satellite station.','Military mapping. Accuracy +/- 25m in each axis.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4726','EPSG','4326','EPSG','3186',44.0,42.0,124.0,147.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-Cym Little Brac',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','15815','Pico de las Nieves 1984 to WGS 84 (1)','Determined at 1 satellite station.','Military and topographic mapping. Accuracy +/- 25m in each axis.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4728','EPSG','4326','EPSG','3873',44.0,-307.0,-92.0,127.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-Esp Canary',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','15815','PN84 to WGS 84 (1)','Determined at 1 satellite station. Note: DMA gives extent as all Canary Islands but according to IGN Spain PN84 extent is only the four western islands.','Military and topographic mapping. Accuracy +/- 25m in each axis.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4728','EPSG','4326','EPSG','4598',44.0,-307.0,-92.0,127.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-Esp Canary',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','15816','Tristan 1968 to WGS 84 (1)','Determined at 1 satellite station.','Military and topographic mapping. Accuracy +/- 25m in each axis.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4734','EPSG','4326','EPSG','3184',44.0,-632.0,438.0,-609.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-Shn Tris',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','15817','Midway 1961 to WGS 84 (1)','Derived at 1 satellite station. Information source states "provided for historical purposes only. These parameter [values] should not be used". Replaced by Midway 1961 to WGS 84 (2) (tfm code 15818).','Military and topographic mapping. Accuracy +/- 25m in each axis.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4727','EPSG','4326','EPSG','3202',44.0,912.0,-58.0,1227.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-Umi Midway 1987',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','15818','Midway 1961 to WGS 84 (2)','Derived at 1 satellite station. Replaces Midway 1961 to WGS 84 (1) (tfm code 15817).','Military and topographic mapping. Accuracy +/- 25m in each axis.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4727','EPSG','4326','EPSG','3202',44.0,403.0,-81.0,277.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-Umi Midway 2003',0);
+2 -2
View File
@@ -1,2 +1,2 @@
INSERT INTO "metadata" VALUES('EPSG.VERSION', 'v9.8.7');
INSERT INTO "metadata" VALUES('EPSG.DATE', '2020-02-25');
INSERT INTO "metadata" VALUES('EPSG.VERSION', 'v9.8.15');
INSERT INTO "metadata" VALUES('EPSG.DATE', '2020-08-02');
+5 -1
View File
@@ -168,7 +168,7 @@ INSERT INTO "other_transformation" VALUES('EPSG','5408','Poolbeg to Belfast (1)'
INSERT INTO "other_transformation" VALUES('EPSG','5412','KOC CD to Kuwait PWD (1)','Construction datum is 0.49m below PWD datum.','Vertical datum change.','EPSG','9616','Vertical Offset','EPSG','5790','EPSG','5788','EPSG','1136',0.1,'EPSG','8603','Vertical Offset',0.49,'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,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'KOC-Kwt',1);
INSERT INTO "other_transformation" VALUES('EPSG','5413','KOC CD height to KOC WD depth (1)','Construction Datum datum plane is 4.74m (15.55ft) below Well Datum datum plane.','Vertical datum change.','EPSG','9616','Vertical Offset','EPSG','5790','EPSG','5789','EPSG','3267',0.1,'EPSG','8603','Vertical Offset',4.74,'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,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'KOC-Kwt',1);
INSERT INTO "other_transformation" VALUES('EPSG','5414','KOC WD to Kuwait PWD (1)','Well datum is 4.25m above PWD datum.','Vertical datum change.','EPSG','9616','Vertical Offset','EPSG','5789','EPSG','5788','EPSG','1136',0.1,'EPSG','8603','Vertical Offset',-4.25,'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,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'KOC-Kwt',1);
INSERT INTO "other_transformation" VALUES('EPSG','5419','NGF IGN69 height to EVRF2000 height (1)','Determined at 8 points. RMS residual 0.005m, maximum residual 0.010m. The IGN69 vertical reference surface is below the EVRF2000 vertical reference surface.','Change of height to a different vertical reference surface.','EPSG','9616','Vertical Offset','EPSG','5720','EPSG','5730','EPSG','1326',0.1,'EPSG','8603','Vertical Offset',-0.486,'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,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'EuG-Fra',0);
INSERT INTO "other_transformation" VALUES('EPSG','5419','NGF-IGN69 height to EVRF2000 height (1)','Determined at 8 points. RMS residual 0.005m, maximum residual 0.010m. The NGF-IGN69 vertical reference surface is below the EVRF2000 vertical reference surface.','Change of height to a different vertical reference surface.','EPSG','9616','Vertical Offset','EPSG','5720','EPSG','5730','EPSG','1326',0.1,'EPSG','8603','Vertical Offset',-0.486,'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,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'EuG-Fra',0);
INSERT INTO "other_transformation" VALUES('EPSG','5425','NAP height to EVRF2000 height (1)','Determined at 757 points. RMS residual 0.002m, maximum residual 0.021m. The NAP vertical reference surface is below the EVRF2000 vertical reference surface.','Change of height to a different vertical reference surface.','EPSG','9616','Vertical Offset','EPSG','5709','EPSG','5730','EPSG','1275',0.1,'EPSG','8603','Vertical Offset',-0.005,'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,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'EuG-Nld',0);
INSERT INTO "other_transformation" VALUES('EPSG','5427','Cascais height to EVRF2000 height (1)','Determined at 5 points. RMS residual 0.013m, maximum residual 0.021m. The Cascais vertical reference surface is below the EVRF2000 vertical reference surface.','Change of height to a different vertical reference surface.','EPSG','9616','Vertical Offset','EPSG','5780','EPSG','5730','EPSG','1294',0.1,'EPSG','8603','Vertical Offset',-0.315,'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,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'EuG-Prt',0);
INSERT INTO "other_transformation" VALUES('EPSG','5432','N60 height to EVRF2000 height (1)','Determined at 66 points. RMS residual 0.003m, maximum residual 0.009m. The N60 vertical reference surface is above the EVRF2000 vertical reference surface.','Change of height to a different vertical reference surface.','EPSG','9616','Vertical Offset','EPSG','5717','EPSG','5730','EPSG','3333',0.1,'EPSG','8603','Vertical Offset',0.213,'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,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'EuG-Fin',0);
@@ -218,6 +218,10 @@ INSERT INTO "other_transformation" VALUES('EPSG','8354','Black Sea height to Bla
INSERT INTO "other_transformation" VALUES('EPSG','8355','AIOC95 height to AIOC95 depth','Change of axis positive direction from up to down.','Change of axis positive direction to facilitate transformation of heights or depths through concatenated operations.','EPSG','1068','Height Depth Reversal','EPSG','5797','EPSG','5734','EPSG','2592',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 "other_transformation" VALUES('EPSG','8356','Caspian height to Caspian depth','Change of axis positive direction from up to down.','Change of axis positive direction to facilitate transformation of heights or depths through concatenated operations.','EPSG','1068','Height Depth Reversal','EPSG','5611','EPSG','5706','EPSG','1291',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 "other_transformation" VALUES('EPSG','8359','Baltic 1957 height to Baltic 1957 depth','Change of axis positive direction from up to down.','Change of axis positive direction to facilitate transformation of heights or depths through concatenated operations.','EPSG','1068','Height Depth Reversal','EPSG','8357','EPSG','8358','EPSG','1306',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 "other_transformation" VALUES('EPSG','9371','Vienna height to GHA height (1)','Defines Wiener Null surface. GHA vertical reference surface is 156.68m below Wiener Null surface.','Change of height to a different vertical reference surface.','EPSG','9616','Vertical Offset','EPSG','8881','EPSG','5778','EPSG','4585',0.0,'EPSG','8603','Vertical Offset',156.68,'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,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'BEV-Aut Wien',0);
INSERT INTO "other_transformation" VALUES('EPSG','9446','ODN height to EVRF2019 mean-tide height (1)','Determined at Channel Tunnel portal.','Vertical datum change.','EPSG','9616','Vertical Offset','EPSG','5701','EPSG','9390','EPSG','2792',0.02,'EPSG','8603','Vertical Offset',-0.173,'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,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'EuG-Gbr 2019m',0);
INSERT INTO "other_transformation" VALUES('EPSG','9447','Antalya height to EVRF2019 mean-tide height (1)','Determined at two points. No accuracy figure available. Applicable for points up to a maximum height of about 1000 m.','Vertical datum change.','EPSG','9616','Vertical Offset','EPSG','5775','EPSG','9390','EPSG','3322',0.02,'EPSG','8603','Vertical Offset',-0.446,'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,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'EuG-Tur 2019m',0);
INSERT INTO "other_transformation" VALUES('EPSG','9448','Antalya height to EVRF2019 height (1)','Determined at two points. No accuracy figure available. Applicable for points up to a maximum height of about 1000 m.','Vertical datum change.','EPSG','9616','Vertical Offset','EPSG','5775','EPSG','9389','EPSG','3322',0.02,'EPSG','8603','Vertical Offset',-0.392,'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,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'EuG-Tur 2019z',0);
INSERT INTO "other_transformation" VALUES('EPSG','10087','Jamaica 1875 / Jamaica (Old Grid) to JAD69 / Jamaica National Grid (1)','Derived by least squares fit at primary triangulation stations. Accuracy will be less outside of this network due to extrapolation.','Topographic mapping.','EPSG','9624','Affine parametric transformation','EPSG','24100','EPSG','24200','EPSG','3342',1.5,'EPSG','8623','A0',82357.457,'EPSG','9001','EPSG','8624','A1',0.304794369,'EPSG','9203','EPSG','8625','A2',1.5417425e-05,'EPSG','9203','EPSG','8639','B0',28091.324,'EPSG','9001','EPSG','8640','B1',-1.5417425e-05,'EPSG','9203','EPSG','8641','B2',0.304794369,'EPSG','9203',NULL,NULL,NULL,NULL,NULL,NULL,'SD-Jam',0);
INSERT INTO "other_transformation" VALUES('EPSG','10088','JAD69 / Jamaica National Grid to Jamaica 1875 / Jamaica (Old Grid) (1)','Derived by least squares fit at primary triangulation stations. Accuracy will be less outside of this network due to extrapolation.','Topographic mapping.','EPSG','9624','Affine parametric transformation','EPSG','24200','EPSG','24100','EPSG','3342',1.5,'EPSG','8623','A0',-270201.96,'EPSG','9005','EPSG','8624','A1',0.00016595792,'EPSG','9203','EPSG','8625','A2',3.2809005,'EPSG','9203','EPSG','8639','B0',-92178.51,'EPSG','9005','EPSG','8640','B1',3.2809005,'EPSG','9203','EPSG','8641','B2',-0.00016595792,'EPSG','9203',NULL,NULL,NULL,NULL,NULL,NULL,'SD-Jam',1);
INSERT INTO "other_transformation" VALUES('EPSG','10095','Mauritania 1999 / UTM zone 28N to WGS 84 / UTM zone 28N (1)','Parameter values consistent with the OGP Affine parametric transformation method derived by OGP from the published Helmert 2D parameter values.','Minerals management.','EPSG','9624','Affine parametric transformation','EPSG','3103','EPSG','32628','EPSG','2971',40.0,'EPSG','8623','A0',NULL,'EPSG',NULL,'EPSG','8624','A1',NULL,'EPSG',NULL,'EPSG','8625','A2',NULL,'EPSG',NULL,'EPSG','8639','B0',NULL,'EPSG',NULL,'EPSG','8640','B1',NULL,'EPSG',NULL,'EPSG','8641','B2',NULL,'EPSG',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'MMI-Mau W',1);
+1 -1
View File
@@ -4,7 +4,7 @@ INSERT INTO "prime_meridian" VALUES('EPSG','8901','Greenwich',0.0,'EPSG','9102',
INSERT INTO "prime_meridian" VALUES('EPSG','8902','Lisbon',-9.0754862,'EPSG','9110',0);
INSERT INTO "prime_meridian" VALUES('EPSG','8903','Paris',2.5969213,'EPSG','9105',0);
INSERT INTO "prime_meridian" VALUES('EPSG','8904','Bogota',-74.04513,'EPSG','9110',0);
INSERT INTO "prime_meridian" VALUES('EPSG','8905','Madrid',-3.411658,'EPSG','9110',0);
INSERT INTO "prime_meridian" VALUES('EPSG','8905','Madrid',-3.411455,'EPSG','9110',0);
INSERT INTO "prime_meridian" VALUES('EPSG','8906','Rome',12.27084,'EPSG','9110',0);
INSERT INTO "prime_meridian" VALUES('EPSG','8907','Bern',7.26225,'EPSG','9110',0);
INSERT INTO "prime_meridian" VALUES('EPSG','8908','Jakarta',106.482779,'EPSG','9110',0);
+5 -1
View File
@@ -14,6 +14,7 @@ CREATE TABLE unit_of_measure(
name TEXT NOT NULL CHECK (length(name) >= 2),
type TEXT NOT NULL CHECK (type IN ('length', 'angle', 'scale', 'time')),
conv_factor FLOAT,
proj_short_name TEXT, -- PROJ string name, like 'm', 'ft'. Might be NULL
deprecated BOOLEAN NOT NULL CHECK (deprecated IN (0, 1)),
CONSTRAINT pk_unit_of_measure PRIMARY KEY (auth_name, code)
);
@@ -1339,6 +1340,8 @@ CREATE TABLE alias_name(
source TEXT
);
CREATE INDEX idx_alias_name_code ON alias_name(code);
CREATE TRIGGER alias_name_insert_trigger
BEFORE INSERT ON alias_name
FOR EACH ROW BEGIN
@@ -1364,7 +1367,8 @@ CREATE TABLE supersession(
'helmert_transformation', 'other_transformation', 'concatenated_operation')),
replacement_auth_name TEXT NOT NULL,
replacement_code TEXT NOT NULL,
source TEXT
source TEXT,
same_source_target_crs BOOLEAN NOT NULL CHECK (same_source_target_crs IN (0, 1)) -- for transformations, whether the (source_crs, target_crs) of the replacement transfrm is the same as the superseded one
);
CREATE INDEX idx_supersession ON supersession(superseded_table_name, superseded_auth_name, superseded_code);
+37 -17
View File
@@ -62,7 +62,7 @@ INSERT INTO "projected_crs" VALUES('EPSG','2058','ED50(ED77) / UTM zone 38N',NUL
INSERT INTO "projected_crs" VALUES('EPSG','2059','ED50(ED77) / UTM zone 39N',NULL,NULL,'EPSG','4400','EPSG','4154','EPSG','16039','EPSG','1465',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','2060','ED50(ED77) / UTM zone 40N',NULL,NULL,'EPSG','4400','EPSG','4154','EPSG','16040','EPSG','1466',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','2061','ED50(ED77) / UTM zone 41N',NULL,NULL,'EPSG','4400','EPSG','4154','EPSG','16041','EPSG','1467',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','2062','Madrid 1870 (Madrid) / Spain',NULL,NULL,'EPSG','4499','EPSG','4903','EPSG','19921','EPSG','2366',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','2062','Madrid 1870 (Madrid) / Spain LCC',NULL,NULL,'EPSG','4499','EPSG','4903','EPSG','19921','EPSG','2366',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','2063','Dabola 1981 / UTM zone 28N',NULL,NULL,'EPSG','4400','EPSG','4315','EPSG','16028','EPSG','1468',NULL,1);
INSERT INTO "projected_crs" VALUES('EPSG','2064','Dabola 1981 / UTM zone 29N',NULL,NULL,'EPSG','4400','EPSG','4315','EPSG','16029','EPSG','1469',NULL,1);
INSERT INTO "projected_crs" VALUES('EPSG','2065','S-JTSK (Ferro) / Krovak',NULL,NULL,'EPSG','6501','EPSG','4818','EPSG','19952','EPSG','1306',NULL,0);
@@ -163,7 +163,7 @@ INSERT INTO "projected_crs" VALUES('EPSG','2159','Sierra Leone 1924 / New Colony
INSERT INTO "projected_crs" VALUES('EPSG','2160','Sierra Leone 1924 / New War Office Grid',NULL,NULL,'EPSG','4404','EPSG','4174','EPSG','19964','EPSG','1342',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','2161','Sierra Leone 1968 / UTM zone 28N',NULL,NULL,'EPSG','4400','EPSG','4175','EPSG','16028','EPSG','1509',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','2162','Sierra Leone 1968 / UTM zone 29N',NULL,NULL,'EPSG','4400','EPSG','4175','EPSG','16029','EPSG','1510',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','2163','US National Atlas Equal Area',NULL,NULL,'EPSG','4499','EPSG','4052','EPSG','3899','EPSG','1245',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','2163','US National Atlas Equal Area',NULL,NULL,'EPSG','4499','EPSG','4052','EPSG','3899','EPSG','1245',NULL,1);
INSERT INTO "projected_crs" VALUES('EPSG','2164','Locodjo 1965 / TM 5 NW',NULL,NULL,'EPSG','4400','EPSG','4142','EPSG','17005','EPSG','2296',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','2165','Abidjan 1987 / TM 5 NW',NULL,NULL,'EPSG','4400','EPSG','4143','EPSG','17005','EPSG','2296',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','2166','Pulkovo 1942(83) / Gauss Kruger zone 3',NULL,NULL,'EPSG','4530','EPSG','4178','EPSG','16263','EPSG','1512',NULL,1);
@@ -1307,7 +1307,7 @@ INSERT INTO "projected_crs" VALUES('EPSG','3312','CSG67 / UTM zone 21N',NULL,NUL
INSERT INTO "projected_crs" VALUES('EPSG','3313','RGFG95 / UTM zone 21N',NULL,NULL,'EPSG','4400','EPSG','4624','EPSG','16021','EPSG','3145',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','3314','Katanga 1955 / Katanga Lambert',NULL,NULL,'EPSG','4400','EPSG','4695','EPSG','17401','EPSG','3147',NULL,1);
INSERT INTO "projected_crs" VALUES('EPSG','3315','Katanga 1955 / Katanga TM',NULL,NULL,'EPSG','4400','EPSG','4695','EPSG','17402','EPSG','3147',NULL,1);
INSERT INTO "projected_crs" VALUES('EPSG','3316','Kasai 1953 / Congo TM zone 22',NULL,NULL,'EPSG','4400','EPSG','4696','EPSG','17422','EPSG','3163',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','3316','Kasai 1953 / Congo TM zone 22',NULL,NULL,'EPSG','4400','EPSG','4696','EPSG','17422','EPSG','4587',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','3317','Kasai 1953 / Congo TM zone 24',NULL,NULL,'EPSG','4400','EPSG','4696','EPSG','17424','EPSG','3164',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','3318','IGC 1962 / Congo TM zone 12',NULL,NULL,'EPSG','4400','EPSG','4697','EPSG','17412','EPSG','3150',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','3319','IGC 1962 / Congo TM zone 14',NULL,NULL,'EPSG','4400','EPSG','4697','EPSG','17414','EPSG','3151',NULL,0);
@@ -1399,11 +1399,11 @@ INSERT INTO "projected_crs" VALUES('EPSG','3404','NAD83(HARN) / North Carolina (
INSERT INTO "projected_crs" VALUES('EPSG','3405','VN-2000 / UTM zone 48N',NULL,NULL,'EPSG','4400','EPSG','4756','EPSG','16048','EPSG','1452',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','3406','VN-2000 / UTM zone 49N',NULL,NULL,'EPSG','4400','EPSG','4756','EPSG','16049','EPSG','1453',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','3407','Hong Kong 1963 Grid System',NULL,NULL,'EPSG','4502','EPSG','4738','EPSG','19896','EPSG','1118',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','3408','NSIDC EASE-Grid North',NULL,NULL,'EPSG','4469','EPSG','4053','EPSG','3897','EPSG','3475',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','3409','NSIDC EASE-Grid South',NULL,NULL,'EPSG','4470','EPSG','4053','EPSG','3898','EPSG','3474',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','3410','NSIDC EASE-Grid Global',NULL,NULL,'EPSG','4499','EPSG','4053','EPSG','19869','EPSG','3463',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','3411','NSIDC Sea Ice Polar Stereographic North',NULL,NULL,'EPSG','4468','EPSG','4054','EPSG','19865','EPSG','1996',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','3412','NSIDC Sea Ice Polar Stereographic South',NULL,NULL,'EPSG','4470','EPSG','4054','EPSG','19866','EPSG','1997',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','3408','NSIDC EASE-Grid North',NULL,NULL,'EPSG','4469','EPSG','4053','EPSG','3897','EPSG','3475',NULL,1);
INSERT INTO "projected_crs" VALUES('EPSG','3409','NSIDC EASE-Grid South',NULL,NULL,'EPSG','4470','EPSG','4053','EPSG','3898','EPSG','3474',NULL,1);
INSERT INTO "projected_crs" VALUES('EPSG','3410','NSIDC EASE-Grid Global',NULL,NULL,'EPSG','4499','EPSG','4053','EPSG','19869','EPSG','3463',NULL,1);
INSERT INTO "projected_crs" VALUES('EPSG','3411','NSIDC Sea Ice Polar Stereographic North',NULL,NULL,'EPSG','4468','EPSG','4054','EPSG','19865','EPSG','1996',NULL,1);
INSERT INTO "projected_crs" VALUES('EPSG','3412','NSIDC Sea Ice Polar Stereographic South',NULL,NULL,'EPSG','4470','EPSG','4054','EPSG','19866','EPSG','1997',NULL,1);
INSERT INTO "projected_crs" VALUES('EPSG','3413','WGS 84 / NSIDC Sea Ice Polar Stereographic North',NULL,NULL,'EPSG','4468','EPSG','4326','EPSG','19865','EPSG','1996',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','3414','SVY21 / Singapore TM',NULL,NULL,'EPSG','4500','EPSG','4757','EPSG','19864','EPSG','1210',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','3415','WGS 72BE / South China Sea Lambert',NULL,NULL,'EPSG','4400','EPSG','4324','EPSG','19863','EPSG','3470',NULL,0);
@@ -1898,7 +1898,7 @@ INSERT INTO "projected_crs" VALUES('EPSG','4071','Chua / UTM zone 23S',NULL,NULL
INSERT INTO "projected_crs" VALUES('EPSG','4082','REGCAN95 / UTM zone 27N',NULL,NULL,'EPSG','4400','EPSG','4081','EPSG','16027','EPSG','3629',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','4083','REGCAN95 / UTM zone 28N',NULL,NULL,'EPSG','4400','EPSG','4081','EPSG','16028','EPSG','3630',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','4087','WGS 84 / World Equidistant Cylindrical',NULL,NULL,'EPSG','4499','EPSG','4326','EPSG','4085','EPSG','1262',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','4088','World Equidistant Cylindrical (Sphere)',NULL,NULL,'EPSG','4499','EPSG','4047','EPSG','4086','EPSG','1262',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','4088','World Equidistant Cylindrical (Sphere)',NULL,NULL,'EPSG','4499','EPSG','4047','EPSG','4086','EPSG','1262',NULL,1);
INSERT INTO "projected_crs" VALUES('EPSG','4093','ETRS89 / DKTM1',NULL,NULL,'EPSG','4400','EPSG','4258','EPSG','4089','EPSG','3631',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','4094','ETRS89 / DKTM2',NULL,NULL,'EPSG','4400','EPSG','4258','EPSG','4090','EPSG','3632',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','4095','ETRS89 / DKTM3',NULL,NULL,'EPSG','4400','EPSG','4258','EPSG','4091','EPSG','2532',NULL,0);
@@ -2282,8 +2282,8 @@ INSERT INTO "projected_crs" VALUES('EPSG','5532','SAD69(96) / UTM zone 22S',NULL
INSERT INTO "projected_crs" VALUES('EPSG','5533','SAD69(96) / UTM zone 23S',NULL,NULL,'EPSG','4400','EPSG','5527','EPSG','16123','EPSG','3445',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','5534','SAD69(96) / UTM zone 24S',NULL,NULL,'EPSG','4400','EPSG','5527','EPSG','16124','EPSG','3446',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','5535','SAD69(96) / UTM zone 25S',NULL,NULL,'EPSG','4400','EPSG','5527','EPSG','16125','EPSG','3447',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','5536','Corrego Alegre 1961 / UTM zone 21S',NULL,NULL,'EPSG','4400','EPSG','5524','EPSG','16121','EPSG','3355',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','5537','Corrego Alegre 1961 / UTM zone 22S',NULL,NULL,'EPSG','4400','EPSG','5524','EPSG','16122','EPSG','3176',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','5536','Corrego Alegre 1961 / UTM zone 21S',NULL,NULL,'EPSG','4400','EPSG','5524','EPSG','16121','EPSG','4574',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','5537','Corrego Alegre 1961 / UTM zone 22S',NULL,NULL,'EPSG','4400','EPSG','5524','EPSG','16122','EPSG','4576',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','5538','Corrego Alegre 1961 / UTM zone 23S',NULL,NULL,'EPSG','4400','EPSG','5524','EPSG','16123','EPSG','3177',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','5539','Corrego Alegre 1961 / UTM zone 24S',NULL,NULL,'EPSG','4400','EPSG','5524','EPSG','16124','EPSG','3877',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','5550','PNG94 / PNGMG94 zone 54',NULL,NULL,'EPSG','4400','EPSG','5546','EPSG','5547','EPSG','3882',NULL,0);
@@ -2379,7 +2379,7 @@ INSERT INTO "projected_crs" VALUES('EPSG','5877','SAD69(96) / UTM zone 20S',NULL
INSERT INTO "projected_crs" VALUES('EPSG','5879','Cadastre 1997 / UTM zone 38S',NULL,NULL,'EPSG','4400','EPSG','4475','EPSG','16138','EPSG','3340',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','5880','SIRGAS 2000 / Brazil Polyconic',NULL,NULL,'EPSG','4499','EPSG','4674','EPSG','19941','EPSG','1053',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','5887','TGD2005 / Tonga Map Grid',NULL,NULL,'EPSG','4400','EPSG','5886','EPSG','5883','EPSG','1234',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','5890','JAXA Snow Depth Polar Stereographic North',NULL,NULL,'EPSG','1035','EPSG','4054','EPSG','5889','EPSG','1996',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','5890','JAXA Snow Depth Polar Stereographic North',NULL,NULL,'EPSG','1035','EPSG','4054','EPSG','5889','EPSG','1996',NULL,1);
INSERT INTO "projected_crs" VALUES('EPSG','5896','VN-2000 / TM-3 zone 481',NULL,NULL,'EPSG','4400','EPSG','4756','EPSG','5892','EPSG','4193',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','5897','VN-2000 / TM-3 zone 482',NULL,NULL,'EPSG','4400','EPSG','4756','EPSG','5893','EPSG','4215',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','5898','VN-2000 / TM-3 zone 491',NULL,NULL,'EPSG','4400','EPSG','4756','EPSG','5894','EPSG','4217',NULL,0);
@@ -3293,7 +3293,7 @@ INSERT INTO "projected_crs" VALUES('EPSG','7799','BGS2005 / UTM zone 34N (N-E)',
INSERT INTO "projected_crs" VALUES('EPSG','7800','BGS2005 / UTM zone 35N (N-E)',NULL,NULL,'EPSG','4531','EPSG','7798','EPSG','16035','EPSG','4427',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','7801','BGS2005 / CCS2005',NULL,NULL,'EPSG','4531','EPSG','7798','EPSG','7802','EPSG','3224',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','7803','BGS2005 / UTM zone 34N',NULL,NULL,'EPSG','4400','EPSG','7798','EPSG','16034','EPSG','4428',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','7804','BGS2005 / UTM zone 35N',NULL,NULL,'EPSG','4400','EPSG','7798','EPSG','16034','EPSG','4427',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','7804','BGS2005 / UTM zone 35N',NULL,NULL,'EPSG','4400','EPSG','7798','EPSG','16034','EPSG','4427',NULL,1);
INSERT INTO "projected_crs" VALUES('EPSG','7805','BGS2005 / UTM zone 36N',NULL,NULL,'EPSG','4400','EPSG','7798','EPSG','16036','EPSG','4426',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','7825','Pulkovo 1942 / CS63 zone X1',NULL,NULL,'EPSG','4530','EPSG','4284','EPSG','7818','EPSG','4435',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','7826','Pulkovo 1942 / CS63 zone X2',NULL,NULL,'EPSG','4530','EPSG','4284','EPSG','7819','EPSG','4429',NULL,0);
@@ -3611,6 +3611,26 @@ INSERT INTO "projected_crs" VALUES('EPSG','9272','MGI / Austria Central',NULL,NU
INSERT INTO "projected_crs" VALUES('EPSG','9273','MGI / Austria East',NULL,NULL,'EPSG','4530','EPSG','4312','EPSG','9270','EPSG','1708',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','9284','Pampa del Castillo / Argentina 1',NULL,NULL,'EPSG','4530','EPSG','4161','EPSG','18031','EPSG','4564',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','9285','Pampa del Castillo / Argentina 3',NULL,NULL,'EPSG','4530','EPSG','4161','EPSG','18033','EPSG','4565',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','9295','ONGD17 / UTM zone 39N',NULL,NULL,'EPSG','4400','EPSG','9294','EPSG','16039','EPSG','4322',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','9296','ONGD17 / UTM zone 40N',NULL,NULL,'EPSG','4400','EPSG','9294','EPSG','16040','EPSG','4323',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','9297','ONGD17 / UTM zone 41N',NULL,NULL,'EPSG','4400','EPSG','9294','EPSG','16041','EPSG','4324',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','9300','HS2 Survey Grid',NULL,NULL,'EPSG','4400','EPSG','9299','EPSG','9301','EPSG','4582',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','9311','NAD27 / US National Atlas Equal Area',NULL,NULL,'EPSG','4499','EPSG','4267','EPSG','3899','EPSG','1245',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','9354','WGS 84 / IBCSO Polar Stereographic',NULL,NULL,'EPSG','4470','EPSG','4326','EPSG','9353','EPSG','4586',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','9356','KSA-GRF17 / UTM zone 36N',NULL,NULL,'EPSG','4400','EPSG','9333','EPSG','16036','EPSG','4524',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','9357','KSA-GRF17 / UTM zone 37N',NULL,NULL,'EPSG','4400','EPSG','9333','EPSG','16037','EPSG','4526',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','9358','KSA-GRF17 / UTM zone 38N',NULL,NULL,'EPSG','4400','EPSG','9333','EPSG','16038','EPSG','4527',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','9359','KSA-GRF17 / UTM zone 39N',NULL,NULL,'EPSG','4400','EPSG','9333','EPSG','16039','EPSG','4528',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','9360','KSA-GRF17 / UTM zone 40N',NULL,NULL,'EPSG','4400','EPSG','9333','EPSG','16040','EPSG','3106',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','9367','TPEN11 Grid',NULL,NULL,'EPSG','4400','EPSG','9364','EPSG','9366','EPSG','4583',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','9373','MML07 Grid',NULL,NULL,'EPSG','4400','EPSG','9372','EPSG','9370','EPSG','4588',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','9377','MAGNA-SIRGAS / Origen-Nacional',NULL,NULL,'EPSG','4500','EPSG','4686','EPSG','9376','EPSG','1070',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','9387','AbInvA96_2020 Grid',NULL,NULL,'EPSG','4400','EPSG','9384','EPSG','9385','EPSG','4589',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','9391','BGS2005 / UTM zone 35N',NULL,NULL,'EPSG','4400','EPSG','7798','EPSG','16035','EPSG','4427',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','9404','PN68 / UTM zone 27N',NULL,NULL,'EPSG','4400','EPSG','9403','EPSG','16027','EPSG','4599',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','9405','PN68 / UTM zone 28N',NULL,NULL,'EPSG','4400','EPSG','9403','EPSG','16028','EPSG','4600',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','9406','PN84 / UTM zone 27N',NULL,NULL,'EPSG','4400','EPSG','4728','EPSG','16027','EPSG','4599',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','9407','PN84 / UTM zone 28N',NULL,NULL,'EPSG','4400','EPSG','4728','EPSG','16028','EPSG','4601',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','20004','Pulkovo 1995 / Gauss-Kruger zone 4',NULL,NULL,'EPSG','4530','EPSG','4200','EPSG','16204','EPSG','1763',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','20005','Pulkovo 1995 / Gauss-Kruger zone 5',NULL,NULL,'EPSG','4530','EPSG','4200','EPSG','16205','EPSG','1764',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','20006','Pulkovo 1995 / Gauss-Kruger zone 6',NULL,NULL,'EPSG','4530','EPSG','4200','EPSG','16206','EPSG','1765',NULL,0);
@@ -3789,9 +3809,9 @@ INSERT INTO "projected_crs" VALUES('EPSG','22185','POSGAR 94 / Argentina 5',NULL
INSERT INTO "projected_crs" VALUES('EPSG','22186','POSGAR 94 / Argentina 6',NULL,NULL,'EPSG','4530','EPSG','4694','EPSG','18036','EPSG','1613',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','22187','POSGAR 94 / Argentina 7',NULL,NULL,'EPSG','4530','EPSG','4694','EPSG','18037','EPSG','1614',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','22191','Campo Inchauspe / Argentina 1',NULL,NULL,'EPSG','4530','EPSG','4221','EPSG','18031','EPSG','1608',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','22192','Campo Inchauspe / Argentina 2',NULL,NULL,'EPSG','4530','EPSG','4221','EPSG','18032','EPSG','1609',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','22193','Campo Inchauspe / Argentina 3',NULL,NULL,'EPSG','4530','EPSG','4221','EPSG','18033','EPSG','1610',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','22194','Campo Inchauspe / Argentina 4',NULL,NULL,'EPSG','4530','EPSG','4221','EPSG','18034','EPSG','1611',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','22192','Campo Inchauspe / Argentina 2',NULL,NULL,'EPSG','4530','EPSG','4221','EPSG','18032','EPSG','4577',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','22193','Campo Inchauspe / Argentina 3',NULL,NULL,'EPSG','4530','EPSG','4221','EPSG','18033','EPSG','4578',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','22194','Campo Inchauspe / Argentina 4',NULL,NULL,'EPSG','4530','EPSG','4221','EPSG','18034','EPSG','4579',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','22195','Campo Inchauspe / Argentina 5',NULL,NULL,'EPSG','4530','EPSG','4221','EPSG','18035','EPSG','1612',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','22196','Campo Inchauspe / Argentina 6',NULL,NULL,'EPSG','4530','EPSG','4221','EPSG','18036','EPSG','1613',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','22197','Campo Inchauspe / Argentina 7',NULL,NULL,'EPSG','4530','EPSG','4221','EPSG','18037','EPSG','1614',NULL,0);
@@ -4420,7 +4440,7 @@ INSERT INTO "projected_crs" VALUES('EPSG','29739','Tananarive / UTM zone 39S',NU
INSERT INTO "projected_crs" VALUES('EPSG','29849','Timbalai 1948 / UTM zone 49N',NULL,NULL,'EPSG','4400','EPSG','4298','EPSG','16049','EPSG','1852',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','29850','Timbalai 1948 / UTM zone 50N',NULL,NULL,'EPSG','4400','EPSG','4298','EPSG','16050','EPSG','1853',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','29871','Timbalai 1948 / RSO Borneo (ch)',NULL,NULL,'EPSG','4402','EPSG','4298','EPSG','19956','EPSG','1362',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','29872','Timbalai 1948 / RSO Borneo (ftSe)',NULL,NULL,'EPSG','4405','EPSG','4298','EPSG','19957','EPSG','1851',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','29872','Timbalai 1948 / RSO Borneo (ftSe)',NULL,NULL,'EPSG','4405','EPSG','4298','EPSG','19957','EPSG','3977',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','29873','Timbalai 1948 / RSO Borneo (m)',NULL,NULL,'EPSG','4400','EPSG','4298','EPSG','19958','EPSG','1362',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','29900','TM65 / Irish National Grid',NULL,NULL,'EPSG','4400','EPSG','4299','EPSG','19908','EPSG','1305',NULL,1);
INSERT INTO "projected_crs" VALUES('EPSG','29901','OSNI 1952 / Irish National Grid',NULL,NULL,'EPSG','4400','EPSG','4188','EPSG','19973','EPSG','2530',NULL,0);
+244 -218
View File
@@ -1,220 +1,246 @@
--- This file has been generated by scripts/build_db.py. DO NOT EDIT !
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1112','helmert_transformation','EPSG','1672','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1154','helmert_transformation','EPSG','1304','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1232','helmert_transformation','EPSG','1305','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1236','helmert_transformation','EPSG','1280','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1236','helmert_transformation','EPSG','1669','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1297','helmert_transformation','EPSG','1298','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1297','helmert_transformation','EPSG','1299','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1297','helmert_transformation','EPSG','1300','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1297','helmert_transformation','EPSG','1301','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1320','helmert_transformation','EPSG','1326','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1321','helmert_transformation','EPSG','1324','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1322','helmert_transformation','EPSG','1324','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1324','helmert_transformation','EPSG','1327','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1325','helmert_transformation','EPSG','1327','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1330','helmert_transformation','EPSG','1557','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1437','helmert_transformation','EPSG','1895','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','1451','grid_transformation','EPSG','1575','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1459','helmert_transformation','EPSG','1594','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','1464','grid_transformation','EPSG','1596','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','1506','grid_transformation','EPSG','1803','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','1507','grid_transformation','EPSG','1803','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','1559','grid_transformation','EPSG','1593','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','1593','grid_transformation','EPSG','1804','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','1596','grid_transformation','EPSG','1803','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1655','helmert_transformation','EPSG','1997','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1657','helmert_transformation','EPSG','1992','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1674','helmert_transformation','EPSG','1775','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1680','helmert_transformation','EPSG','1896','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1683','helmert_transformation','EPSG','1684','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1683','helmert_transformation','EPSG','1685','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1683','helmert_transformation','EPSG','1686','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1683','helmert_transformation','EPSG','1687','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1807','helmert_transformation','EPSG','1808','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1900','helmert_transformation','EPSG','1901','EPSG');
INSERT INTO "supersession" VALUES('concatenated_operation','EPSG','8047','concatenated_operation','EPSG','8569','EPSG');
INSERT INTO "supersession" VALUES('concatenated_operation','EPSG','8047','helmert_transformation','EPSG','1612','EPSG');
INSERT INTO "supersession" VALUES('concatenated_operation','EPSG','8569','helmert_transformation','EPSG','1612','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1638','helmert_transformation','EPSG','10098','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1639','helmert_transformation','EPSG','10099','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1751','helmert_transformation','EPSG','15739','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1066','helmert_transformation','EPSG','15740','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','15781','grid_transformation','EPSG','10084','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','15791','helmert_transformation','EPSG','1330','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','15817','helmert_transformation','EPSG','15818','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','15852','grid_transformation','EPSG','15851','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','15853','grid_transformation','EPSG','15851','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','15854','grid_transformation','EPSG','15851','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','15856','grid_transformation','EPSG','15851','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1309','helmert_transformation','EPSG','1776','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1673','helmert_transformation','EPSG','1777','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1753','helmert_transformation','EPSG','1766','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','15895','grid_transformation','EPSG','15932','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','15907','grid_transformation','EPSG','15933','EPSG');
INSERT INTO "supersession" VALUES('concatenated_operation','EPSG','8581','helmert_transformation','EPSG','1439','EPSG');
INSERT INTO "supersession" VALUES('concatenated_operation','EPSG','8657','helmert_transformation','EPSG','15846','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1672','helmert_transformation','EPSG','15934','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1829','helmert_transformation','EPSG','1449','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1830','helmert_transformation','EPSG','1448','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1831','helmert_transformation','EPSG','1242','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','15993','helmert_transformation','EPSG','15994','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1656','helmert_transformation','EPSG','1988','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1658','helmert_transformation','EPSG','1987','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1928','helmert_transformation','EPSG','15901','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','15783','helmert_transformation','EPSG','15901','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1917','helmert_transformation','EPSG','15902','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1927','helmert_transformation','EPSG','15902','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1962','helmert_transformation','EPSG','15903','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1963','helmert_transformation','EPSG','15903','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','3972','helmert_transformation','EPSG','4834','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','10092','helmert_transformation','EPSG','5051','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1992','helmert_transformation','EPSG','5037','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1281','helmert_transformation','EPSG','5043','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1267','helmert_transformation','EPSG','5044','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1997','helmert_transformation','EPSG','5038','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1550','helmert_transformation','EPSG','5061','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1551','helmert_transformation','EPSG','5061','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1552','helmert_transformation','EPSG','5061','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','15710','helmert_transformation','EPSG','5053','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','15711','helmert_transformation','EPSG','5051','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','15712','helmert_transformation','EPSG','5055','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','10091','helmert_transformation','EPSG','5055','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','10089','helmert_transformation','EPSG','5051','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','10090','helmert_transformation','EPSG','5053','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','15872','helmert_transformation','EPSG','5078','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1642','helmert_transformation','EPSG','5485','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1643','helmert_transformation','EPSG','5486','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','15754','helmert_transformation','EPSG','5055','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','15754','helmert_transformation','EPSG','5053','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','15754','helmert_transformation','EPSG','5051','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','10093','helmert_transformation','EPSG','5055','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','10093','helmert_transformation','EPSG','5053','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','10093','helmert_transformation','EPSG','5051','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1079','helmert_transformation','EPSG','5484','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1078','helmert_transformation','EPSG','5483','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10082','grid_transformation','EPSG','5656','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1108','helmert_transformation','EPSG','6905','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10081','grid_transformation','EPSG','5656','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10078','grid_transformation','EPSG','5656','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10039','grid_transformation','EPSG','5656','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10040','grid_transformation','EPSG','5656','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10041','grid_transformation','EPSG','5656','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10042','grid_transformation','EPSG','5656','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10043','grid_transformation','EPSG','5656','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','6392','helmert_transformation','EPSG','6279','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1121','helmert_transformation','EPSG','6906','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10083','grid_transformation','EPSG','5657','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','6315','helmert_transformation','EPSG','6278','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','6313','helmert_transformation','EPSG','6280','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1256','helmert_transformation','EPSG','6908','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1951','helmert_transformation','EPSG','6909','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','5662','helmert_transformation','EPSG','6939','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','15938','helmert_transformation','EPSG','6998','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10000','grid_transformation','EPSG','8271','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','15800','helmert_transformation','EPSG','6907','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','15897','helmert_transformation','EPSG','6895','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1868','helmert_transformation','EPSG','6976','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1868','helmert_transformation','EPSG','6975','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1868','helmert_transformation','EPSG','6974','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1203','helmert_transformation','EPSG','6971','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1204','helmert_transformation','EPSG','6973','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10063','grid_transformation','EPSG','5656','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10037','grid_transformation','EPSG','5656','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10064','grid_transformation','EPSG','5656','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10066','grid_transformation','EPSG','5656','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10067','grid_transformation','EPSG','5656','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10068','grid_transformation','EPSG','5656','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10069','grid_transformation','EPSG','5656','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','5334','grid_transformation','EPSG','7718','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','5335','grid_transformation','EPSG','7719','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10001','grid_transformation','EPSG','8271','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10058','grid_transformation','EPSG','5656','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10059','grid_transformation','EPSG','5656','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10060','grid_transformation','EPSG','5656','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10061','grid_transformation','EPSG','5656','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10062','grid_transformation','EPSG','5656','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1646','grid_transformation','EPSG','7674','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10034','grid_transformation','EPSG','7713','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10070','grid_transformation','EPSG','5656','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10031','grid_transformation','EPSG','7713','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10030','grid_transformation','EPSG','7713','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10026','grid_transformation','EPSG','7713','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10071','grid_transformation','EPSG','5656','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10025','grid_transformation','EPSG','7713','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10024','grid_transformation','EPSG','7713','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10072','grid_transformation','EPSG','5656','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10033','grid_transformation','EPSG','7715','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10032','grid_transformation','EPSG','7716','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10021','grid_transformation','EPSG','7711','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10029','grid_transformation','EPSG','7712','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1766','grid_transformation','EPSG','7788','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10027','grid_transformation','EPSG','7714','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10023','grid_transformation','EPSG','7717','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10002','grid_transformation','EPSG','8272','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10073','grid_transformation','EPSG','5656','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10038','grid_transformation','EPSG','5656','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10074','grid_transformation','EPSG','5656','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10035','grid_transformation','EPSG','5656','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10044','grid_transformation','EPSG','5656','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10045','grid_transformation','EPSG','5656','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10046','grid_transformation','EPSG','5656','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10047','grid_transformation','EPSG','5656','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10048','grid_transformation','EPSG','5656','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10049','grid_transformation','EPSG','5656','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10050','grid_transformation','EPSG','5656','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10051','grid_transformation','EPSG','5656','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10052','grid_transformation','EPSG','5656','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10053','grid_transformation','EPSG','5656','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10036','grid_transformation','EPSG','5656','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10054','grid_transformation','EPSG','5656','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10055','grid_transformation','EPSG','5656','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10056','grid_transformation','EPSG','5656','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10057','grid_transformation','EPSG','5656','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10075','grid_transformation','EPSG','5656','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10076','grid_transformation','EPSG','5656','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','5338','grid_transformation','EPSG','7709','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','5339','grid_transformation','EPSG','7710','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10077','grid_transformation','EPSG','5656','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10079','grid_transformation','EPSG','5656','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10080','grid_transformation','EPSG','5656','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10003','grid_transformation','EPSG','8272','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1923','helmert_transformation','EPSG','8270','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','4829','concatenated_operation','EPSG','8443','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','4827','concatenated_operation','EPSG','8443','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','4827','concatenated_operation','EPSG','8442','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','4829','concatenated_operation','EPSG','8442','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','5504','grid_transformation','EPSG','9135','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','5502','grid_transformation','EPSG','9136','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','8371','grid_transformation','EPSG','8885','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','3917','helmert_transformation','EPSG','8688','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','3915','helmert_transformation','EPSG','8688','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','3916','helmert_transformation','EPSG','8689','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','3914','helmert_transformation','EPSG','8689','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','5506','grid_transformation','EPSG','9134','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','5503','grid_transformation','EPSG','9133','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','5505','grid_transformation','EPSG','9188','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','5508','grid_transformation','EPSG','9187','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','9137','grid_transformation','EPSG','9228','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','6326','grid_transformation','EPSG','9229','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','7646','grid_transformation','EPSG','9230','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','7647','grid_transformation','EPSG','9231','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','4831','helmert_transformation','EPSG','9281','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','4830','helmert_transformation','EPSG','9281','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','7000','grid_transformation','EPSG','9282','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','7860','grid_transformation','EPSG','9312','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','4459','grid_transformation','EPSG','9325','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','7840','grid_transformation','EPSG','9326','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','7861','grid_transformation','EPSG','9313','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','7872','grid_transformation','EPSG','9324','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','7871','grid_transformation','EPSG','9323','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','7870','grid_transformation','EPSG','9322','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','7869','grid_transformation','EPSG','9321','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','7868','grid_transformation','EPSG','9320','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','7867','grid_transformation','EPSG','9319','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','7866','grid_transformation','EPSG','9318','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','7865','grid_transformation','EPSG','9317','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','7864','grid_transformation','EPSG','9316','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','7863','grid_transformation','EPSG','9315','EPSG');
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','7862','grid_transformation','EPSG','9314','EPSG');
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1112','helmert_transformation','EPSG','1672','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1154','helmert_transformation','EPSG','1304','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1232','helmert_transformation','EPSG','1305','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1236','helmert_transformation','EPSG','1280','EPSG',0);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1236','helmert_transformation','EPSG','1669','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1297','helmert_transformation','EPSG','1298','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1297','helmert_transformation','EPSG','1299','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1297','helmert_transformation','EPSG','1300','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1297','helmert_transformation','EPSG','1301','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1320','helmert_transformation','EPSG','1326','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1321','helmert_transformation','EPSG','1324','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1322','helmert_transformation','EPSG','1324','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1324','helmert_transformation','EPSG','1327','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1325','helmert_transformation','EPSG','1327','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1330','helmert_transformation','EPSG','1557','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1437','helmert_transformation','EPSG','1895','EPSG',0);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','1451','grid_transformation','EPSG','1575','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1459','helmert_transformation','EPSG','1594','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','1464','grid_transformation','EPSG','1596','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','1506','grid_transformation','EPSG','1803','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','1507','grid_transformation','EPSG','1803','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','1559','grid_transformation','EPSG','1593','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','1593','grid_transformation','EPSG','1804','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','1596','grid_transformation','EPSG','1803','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1655','helmert_transformation','EPSG','1997','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1657','helmert_transformation','EPSG','1992','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1674','helmert_transformation','EPSG','1775','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1680','helmert_transformation','EPSG','1896','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1683','helmert_transformation','EPSG','1684','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1683','helmert_transformation','EPSG','1685','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1683','helmert_transformation','EPSG','1686','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1683','helmert_transformation','EPSG','1687','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1807','helmert_transformation','EPSG','1808','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1900','helmert_transformation','EPSG','1901','EPSG',1);
INSERT INTO "supersession" VALUES('concatenated_operation','EPSG','8047','concatenated_operation','EPSG','8569','EPSG',1);
INSERT INTO "supersession" VALUES('concatenated_operation','EPSG','8047','helmert_transformation','EPSG','1612','EPSG',1);
INSERT INTO "supersession" VALUES('concatenated_operation','EPSG','8569','helmert_transformation','EPSG','1612','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1638','helmert_transformation','EPSG','10098','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1639','helmert_transformation','EPSG','10099','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1751','helmert_transformation','EPSG','15739','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1066','helmert_transformation','EPSG','15740','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','15781','grid_transformation','EPSG','10084','EPSG',0);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','15791','helmert_transformation','EPSG','1330','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','15817','helmert_transformation','EPSG','15818','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','15852','grid_transformation','EPSG','15851','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','15853','grid_transformation','EPSG','15851','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','15854','grid_transformation','EPSG','15851','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','15856','grid_transformation','EPSG','15851','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1309','helmert_transformation','EPSG','1776','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1673','helmert_transformation','EPSG','1777','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1753','helmert_transformation','EPSG','1766','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','15895','grid_transformation','EPSG','15932','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','15907','grid_transformation','EPSG','15933','EPSG',1);
INSERT INTO "supersession" VALUES('concatenated_operation','EPSG','8581','helmert_transformation','EPSG','1439','EPSG',1);
INSERT INTO "supersession" VALUES('concatenated_operation','EPSG','8657','helmert_transformation','EPSG','15846','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1672','helmert_transformation','EPSG','15934','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1829','helmert_transformation','EPSG','1449','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1830','helmert_transformation','EPSG','1448','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1831','helmert_transformation','EPSG','1242','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','15993','helmert_transformation','EPSG','15994','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1656','helmert_transformation','EPSG','1988','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1658','helmert_transformation','EPSG','1987','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1928','helmert_transformation','EPSG','15901','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','15783','helmert_transformation','EPSG','15901','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1917','helmert_transformation','EPSG','15902','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1927','helmert_transformation','EPSG','15902','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1962','helmert_transformation','EPSG','15903','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1963','helmert_transformation','EPSG','15903','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','3972','helmert_transformation','EPSG','4834','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','10092','helmert_transformation','EPSG','5051','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1992','helmert_transformation','EPSG','5037','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1281','helmert_transformation','EPSG','5043','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1267','helmert_transformation','EPSG','5044','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1997','helmert_transformation','EPSG','5038','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1550','helmert_transformation','EPSG','5061','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1551','helmert_transformation','EPSG','5061','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1552','helmert_transformation','EPSG','5061','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','15710','helmert_transformation','EPSG','5053','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','15711','helmert_transformation','EPSG','5051','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','15712','helmert_transformation','EPSG','5055','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','10091','helmert_transformation','EPSG','5055','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','10089','helmert_transformation','EPSG','5051','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','10090','helmert_transformation','EPSG','5053','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','15872','helmert_transformation','EPSG','5078','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1642','helmert_transformation','EPSG','5485','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1643','helmert_transformation','EPSG','5486','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','15754','helmert_transformation','EPSG','5055','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','15754','helmert_transformation','EPSG','5053','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','15754','helmert_transformation','EPSG','5051','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','10093','helmert_transformation','EPSG','5055','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','10093','helmert_transformation','EPSG','5053','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','10093','helmert_transformation','EPSG','5051','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1079','helmert_transformation','EPSG','5484','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1078','helmert_transformation','EPSG','5483','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10082','grid_transformation','EPSG','5656','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1108','helmert_transformation','EPSG','6905','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10081','grid_transformation','EPSG','5656','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10078','grid_transformation','EPSG','5656','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10039','grid_transformation','EPSG','5656','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10040','grid_transformation','EPSG','5656','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10041','grid_transformation','EPSG','5656','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10042','grid_transformation','EPSG','5656','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10043','grid_transformation','EPSG','5656','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','6392','helmert_transformation','EPSG','6279','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1121','helmert_transformation','EPSG','6906','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10083','grid_transformation','EPSG','5657','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','6315','helmert_transformation','EPSG','6278','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','6313','helmert_transformation','EPSG','6280','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1256','helmert_transformation','EPSG','6908','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1951','helmert_transformation','EPSG','6909','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','5662','helmert_transformation','EPSG','6939','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','15938','helmert_transformation','EPSG','6998','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10000','grid_transformation','EPSG','8271','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','15800','helmert_transformation','EPSG','6907','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','15897','helmert_transformation','EPSG','6895','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1868','helmert_transformation','EPSG','6976','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1868','helmert_transformation','EPSG','6975','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1868','helmert_transformation','EPSG','6974','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1203','helmert_transformation','EPSG','6971','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1204','helmert_transformation','EPSG','6973','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10063','grid_transformation','EPSG','5656','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10037','grid_transformation','EPSG','5656','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10064','grid_transformation','EPSG','5656','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10066','grid_transformation','EPSG','5656','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10067','grid_transformation','EPSG','5656','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10068','grid_transformation','EPSG','5656','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10069','grid_transformation','EPSG','5656','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','5334','grid_transformation','EPSG','7718','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','5335','grid_transformation','EPSG','7719','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10001','grid_transformation','EPSG','8271','EPSG',0);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10058','grid_transformation','EPSG','5656','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10059','grid_transformation','EPSG','5656','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10060','grid_transformation','EPSG','5656','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10061','grid_transformation','EPSG','5656','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10062','grid_transformation','EPSG','5656','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1646','grid_transformation','EPSG','7674','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10034','grid_transformation','EPSG','7713','EPSG',0);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10070','grid_transformation','EPSG','5656','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10031','grid_transformation','EPSG','7713','EPSG',0);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10030','grid_transformation','EPSG','7713','EPSG',0);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10026','grid_transformation','EPSG','7713','EPSG',0);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10071','grid_transformation','EPSG','5656','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10025','grid_transformation','EPSG','7713','EPSG',0);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10024','grid_transformation','EPSG','7713','EPSG',0);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10072','grid_transformation','EPSG','5656','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10033','grid_transformation','EPSG','7715','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10032','grid_transformation','EPSG','7716','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10021','grid_transformation','EPSG','7711','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10029','grid_transformation','EPSG','7712','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1766','grid_transformation','EPSG','7788','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10027','grid_transformation','EPSG','7714','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10023','grid_transformation','EPSG','7717','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10002','grid_transformation','EPSG','8272','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10073','grid_transformation','EPSG','5656','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10038','grid_transformation','EPSG','5656','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10074','grid_transformation','EPSG','5656','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10035','grid_transformation','EPSG','5656','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10044','grid_transformation','EPSG','5656','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10045','grid_transformation','EPSG','5656','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10046','grid_transformation','EPSG','5656','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10047','grid_transformation','EPSG','5656','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10048','grid_transformation','EPSG','5656','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10049','grid_transformation','EPSG','5656','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10050','grid_transformation','EPSG','5656','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10051','grid_transformation','EPSG','5656','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10052','grid_transformation','EPSG','5656','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10053','grid_transformation','EPSG','5656','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10036','grid_transformation','EPSG','5656','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10054','grid_transformation','EPSG','5656','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10055','grid_transformation','EPSG','5656','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10056','grid_transformation','EPSG','5656','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10057','grid_transformation','EPSG','5656','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10075','grid_transformation','EPSG','5656','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10076','grid_transformation','EPSG','5656','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','5338','grid_transformation','EPSG','7709','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','5339','grid_transformation','EPSG','7710','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10077','grid_transformation','EPSG','5656','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10079','grid_transformation','EPSG','5656','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10080','grid_transformation','EPSG','5656','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10003','grid_transformation','EPSG','8272','EPSG',0);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','1923','helmert_transformation','EPSG','8270','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','4829','concatenated_operation','EPSG','8443','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','4827','concatenated_operation','EPSG','8443','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','4827','concatenated_operation','EPSG','8442','EPSG',0);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','4829','concatenated_operation','EPSG','8442','EPSG',0);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','5504','grid_transformation','EPSG','9135','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','5502','grid_transformation','EPSG','9136','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','8371','grid_transformation','EPSG','8885','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','3917','helmert_transformation','EPSG','8688','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','3915','helmert_transformation','EPSG','8688','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','3916','helmert_transformation','EPSG','8689','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','3914','helmert_transformation','EPSG','8689','EPSG',0);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','5506','grid_transformation','EPSG','9134','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','5503','grid_transformation','EPSG','9133','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','5505','grid_transformation','EPSG','9188','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','5508','grid_transformation','EPSG','9187','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','9137','grid_transformation','EPSG','9228','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','6326','grid_transformation','EPSG','9229','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','7646','grid_transformation','EPSG','9230','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','7647','grid_transformation','EPSG','9231','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','4831','helmert_transformation','EPSG','9281','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','4830','helmert_transformation','EPSG','9281','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','7000','grid_transformation','EPSG','9282','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','5657','grid_transformation','EPSG','8451','EPSG',0);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','7860','grid_transformation','EPSG','9312','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','4459','grid_transformation','EPSG','9325','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','7840','grid_transformation','EPSG','9326','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','7861','grid_transformation','EPSG','9313','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','7872','grid_transformation','EPSG','9324','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','7871','grid_transformation','EPSG','9323','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','7870','grid_transformation','EPSG','9322','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','7869','grid_transformation','EPSG','9321','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','7868','grid_transformation','EPSG','9320','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','7867','grid_transformation','EPSG','9319','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','7866','grid_transformation','EPSG','9318','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','7865','grid_transformation','EPSG','9317','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','7864','grid_transformation','EPSG','9316','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','7863','grid_transformation','EPSG','9315','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','7862','grid_transformation','EPSG','9314','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','5656','grid_transformation','EPSG','8451','EPSG',0);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','9170','grid_transformation','EPSG','7650','EPSG',0);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','9124','grid_transformation','EPSG','9125','EPSG',0);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','9246','grid_transformation','EPSG','9247','EPSG',0);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10084','grid_transformation','EPSG','3859','EPSG',0);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','9171','grid_transformation','EPSG','7648','EPSG',0);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','8268','grid_transformation','EPSG','8269','EPSG',0);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','9160','grid_transformation','EPSG','9168','EPSG',0);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','9161','grid_transformation','EPSG','9168','EPSG',0);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','9162','grid_transformation','EPSG','9168','EPSG',0);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','9163','grid_transformation','EPSG','9168','EPSG',0);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','9164','grid_transformation','EPSG','9168','EPSG',0);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','9165','grid_transformation','EPSG','9168','EPSG',0);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','9166','grid_transformation','EPSG','9168','EPSG',0);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','9167','grid_transformation','EPSG','9168','EPSG',0);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','9173','grid_transformation','EPSG','6326','EPSG',0);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','9174','grid_transformation','EPSG','6327','EPSG',0);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','9172','grid_transformation','EPSG','7649','EPSG',0);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','9175','grid_transformation','EPSG','7646','EPSG',0);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','9176','grid_transformation','EPSG','7647','EPSG',0);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','10084','grid_transformation','EPSG','3858','EPSG',0);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','9168','grid_transformation','EPSG','9173','EPSG',0);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','9169','grid_transformation','EPSG','9174','EPSG',0);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','15932','grid_transformation','EPSG','9409','EPSG',1);
INSERT INTO "supersession" VALUES('grid_transformation','EPSG','15932','grid_transformation','EPSG','9408','EPSG',1);
+95 -95
View File
@@ -1,97 +1,97 @@
--- This file has been generated by scripts/build_db.py. DO NOT EDIT !
INSERT INTO "unit_of_measure" VALUES('EPSG','1024','bin','scale',1.0,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','1025','millimetre','length',0.001,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','1026','metre per second','length',1.0,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','1027','millimetres per year','length',3.16887651727314875889e-11,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','1028','parts per billion','scale',1.0e-09,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','1029','year','time',31556925.445,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','1030','parts per billion per year','scale',3.16887651727314834646e-17,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','1031','milliarc-second','angle',4.84813681109535528357e-09,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','1032','milliarc-seconds per year','angle',1.53631468932075975278e-16,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','1033','centimetre','length',0.01,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','1034','centimetres per year','length',3.1688765172731483714e-10,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','1035','radian per second','angle',1.0,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','1036','unity per second','scale',1.0,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','1040','second','time',1.0,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','1041','parts per million per year','scale',3.1688765172731486173e-14,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','1042','metres per year','length',3.16887651727314861947e-08,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','1043','arc-seconds per year','angle',1.53631468932075975646e-13,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9001','metre','length',1.0,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9002','foot','length',0.3048,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9003','US survey foot','length',3.04800609601219241184e-01,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9005','Clarke''s foot','length',0.3047972654,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9014','fathom','length',1.8288,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9030','nautical mile','length',1852.0,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9031','German legal metre','length',1.0000135965,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9033','US survey chain','length',2.01168402336804703618e+01,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9034','US survey link','length',2.0116840233680469141e-01,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9035','US survey mile','length',1.60934721869443751532e+03,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9036','kilometre','length',1000.0,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9037','Clarke''s yard','length',0.9143917962,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9038','Clarke''s chain','length',20.1166195164,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9039','Clarke''s link','length',0.201166195164,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9040','British yard (Sears 1922)','length',9.14398414616028665236e-01,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9041','British foot (Sears 1922)','length',3.04799471538676203241e-01,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9042','British chain (Sears 1922)','length',2.01167651215526319683e+01,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9043','British link (Sears 1922)','length',2.01167651215526294139e-01,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9050','British yard (Benoit 1895 A)','length',0.9143992,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9051','British foot (Benoit 1895 A)','length',3.04799733333333322526e-01,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9052','British chain (Benoit 1895 A)','length',20.1167824,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9053','British link (Benoit 1895 A)','length',0.201167824,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9060','British yard (Benoit 1895 B)','length',9.14399204289812361778e-01,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9061','British foot (Benoit 1895 B)','length',3.04799734763270768755e-01,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9062','British chain (Benoit 1895 B)','length',2.01167824943758724023e+01,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9063','British link (Benoit 1895 B)','length',2.01167824943758705158e-01,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9070','British foot (1865)','length',3.04800833333333354158e-01,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9080','Indian foot','length',3.04799510248146943158e-01,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9081','Indian foot (1937)','length',0.30479841,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9082','Indian foot (1962)','length',0.3047996,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9083','Indian foot (1975)','length',0.3047995,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9084','Indian yard','length',9.14398530744440773965e-01,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9085','Indian yard (1937)','length',0.91439523,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9086','Indian yard (1962)','length',0.9143988,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9087','Indian yard (1975)','length',0.9143985,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9093','Statute mile','length',1609.344,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9094','Gold Coast foot','length',3.04799710181508809458e-01,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9095','British foot (1936)','length',0.3048007491,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9096','yard','length',0.9144,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9097','chain','length',20.1168,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9098','link','length',0.201168,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9099','British yard (Sears 1922 truncated)','length',0.914398,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9101','radian','angle',1.0,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9102','degree','angle',1.74532925199432781271e-02,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9103','arc-minute','angle',2.90888208665721309346e-04,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9104','arc-second','angle',4.84813681109535476055e-06,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9105','grad','angle',1.57079632679489496205e-02,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9106','gon','angle',1.57079632679489496205e-02,1);
INSERT INTO "unit_of_measure" VALUES('EPSG','9107','degree minute second','angle',NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9108','degree minute second hemisphere','angle',NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9109','microradian','angle',1.0e-06,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9110','sexagesimal DMS','angle',NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9111','sexagesimal DM','angle',NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9112','centesimal minute','angle',1.57079632679489491868e-04,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9113','centesimal second','angle',1.57079632679489496951e-06,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9114','mil_6400','angle',9.81747704246809351283e-04,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9115','degree minute','angle',NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9116','degree hemisphere','angle',NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9117','hemisphere degree','angle',NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9118','degree minute hemisphere','angle',NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9119','hemisphere degree minute','angle',NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9120','hemisphere degree minute second','angle',NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9121','sexagesimal DMS.s','angle',NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9122','degree (supplier to define representation)','angle',1.74532925199432781271e-02,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9201','unity','scale',1.0,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9202','parts per million','scale',1.0e-06,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9203','coefficient','scale',1.0,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9204','Bin width 330 US survey feet','length',1.00584201168402344707e+02,1);
INSERT INTO "unit_of_measure" VALUES('EPSG','9205','Bin width 165 US survey feet','length',5.02921005842011723538e+01,1);
INSERT INTO "unit_of_measure" VALUES('EPSG','9206','Bin width 82.5 US survey feet','length',2.51460502921005861769e+01,1);
INSERT INTO "unit_of_measure" VALUES('EPSG','9207','Bin width 37.5 metres','length',37.5,1);
INSERT INTO "unit_of_measure" VALUES('EPSG','9208','Bin width 25 metres','length',25.0,1);
INSERT INTO "unit_of_measure" VALUES('EPSG','9209','Bin width 12.5 metres','length',12.5,1);
INSERT INTO "unit_of_measure" VALUES('EPSG','9210','Bin width 6.25 metres','length',6.25,1);
INSERT INTO "unit_of_measure" VALUES('EPSG','9211','Bin width 3.125 metres','length',3.125,1);
INSERT INTO "unit_of_measure" VALUES('EPSG','9300','British foot (Sears 1922 truncated)','length',3.04799333333333366535e-01,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9301','British chain (Sears 1922 truncated)','length',20.116756,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9302','British link (Sears 1922 truncated)','length',0.20116756,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','1024','bin','scale',1.0,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','1025','millimetre','length',0.001,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','1026','metre per second','length',1.0,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','1027','millimetres per year','length',3.16887651727314875889e-11,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','1028','parts per billion','scale',1.0e-09,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','1029','year','time',31556925.445,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','1030','parts per billion per year','scale',3.16887651727314834646e-17,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','1031','milliarc-second','angle',4.84813681109535528357e-09,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','1032','milliarc-seconds per year','angle',1.53631468932075975278e-16,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','1033','centimetre','length',0.01,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','1034','centimetres per year','length',3.1688765172731483714e-10,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','1035','radian per second','angle',1.0,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','1036','unity per second','scale',1.0,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','1040','second','time',1.0,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','1041','parts per million per year','scale',3.1688765172731486173e-14,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','1042','metres per year','length',3.16887651727314861947e-08,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','1043','arc-seconds per year','angle',1.53631468932075975646e-13,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9001','metre','length',1.0,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9002','foot','length',0.3048,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9003','US survey foot','length',3.04800609601219241184e-01,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9005','Clarke''s foot','length',0.3047972654,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9014','fathom','length',1.8288,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9030','nautical mile','length',1852.0,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9031','German legal metre','length',1.0000135965,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9033','US survey chain','length',2.01168402336804703618e+01,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9034','US survey link','length',2.0116840233680469141e-01,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9035','US survey mile','length',1.60934721869443751532e+03,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9036','kilometre','length',1000.0,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9037','Clarke''s yard','length',0.9143917962,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9038','Clarke''s chain','length',20.1166195164,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9039','Clarke''s link','length',0.201166195164,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9040','British yard (Sears 1922)','length',9.14398414616028665236e-01,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9041','British foot (Sears 1922)','length',3.04799471538676203241e-01,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9042','British chain (Sears 1922)','length',2.01167651215526319683e+01,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9043','British link (Sears 1922)','length',2.01167651215526294139e-01,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9050','British yard (Benoit 1895 A)','length',0.9143992,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9051','British foot (Benoit 1895 A)','length',3.04799733333333322526e-01,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9052','British chain (Benoit 1895 A)','length',20.1167824,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9053','British link (Benoit 1895 A)','length',0.201167824,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9060','British yard (Benoit 1895 B)','length',9.14399204289812361778e-01,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9061','British foot (Benoit 1895 B)','length',3.04799734763270768755e-01,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9062','British chain (Benoit 1895 B)','length',2.01167824943758724023e+01,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9063','British link (Benoit 1895 B)','length',2.01167824943758705158e-01,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9070','British foot (1865)','length',3.04800833333333354158e-01,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9080','Indian foot','length',3.04799510248146943158e-01,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9081','Indian foot (1937)','length',0.30479841,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9082','Indian foot (1962)','length',0.3047996,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9083','Indian foot (1975)','length',0.3047995,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9084','Indian yard','length',9.14398530744440773965e-01,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9085','Indian yard (1937)','length',0.91439523,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9086','Indian yard (1962)','length',0.9143988,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9087','Indian yard (1975)','length',0.9143985,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9093','Statute mile','length',1609.344,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9094','Gold Coast foot','length',3.04799710181508809458e-01,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9095','British foot (1936)','length',0.3048007491,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9096','yard','length',0.9144,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9097','chain','length',20.1168,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9098','link','length',0.201168,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9099','British yard (Sears 1922 truncated)','length',0.914398,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9101','radian','angle',1.0,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9102','degree','angle',1.74532925199432781271e-02,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9103','arc-minute','angle',2.90888208665721309346e-04,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9104','arc-second','angle',4.84813681109535476055e-06,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9105','grad','angle',1.57079632679489496205e-02,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9106','gon','angle',1.57079632679489496205e-02,NULL,1);
INSERT INTO "unit_of_measure" VALUES('EPSG','9107','degree minute second','angle',NULL,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9108','degree minute second hemisphere','angle',NULL,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9109','microradian','angle',1.0e-06,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9110','sexagesimal DMS','angle',NULL,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9111','sexagesimal DM','angle',NULL,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9112','centesimal minute','angle',1.57079632679489491868e-04,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9113','centesimal second','angle',1.57079632679489496951e-06,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9114','mil_6400','angle',9.81747704246809351283e-04,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9115','degree minute','angle',NULL,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9116','degree hemisphere','angle',NULL,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9117','hemisphere degree','angle',NULL,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9118','degree minute hemisphere','angle',NULL,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9119','hemisphere degree minute','angle',NULL,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9120','hemisphere degree minute second','angle',NULL,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9121','sexagesimal DMS.s','angle',NULL,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9122','degree (supplier to define representation)','angle',1.74532925199432781271e-02,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9201','unity','scale',1.0,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9202','parts per million','scale',1.0e-06,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9203','coefficient','scale',1.0,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9204','Bin width 330 US survey feet','length',1.00584201168402344707e+02,NULL,1);
INSERT INTO "unit_of_measure" VALUES('EPSG','9205','Bin width 165 US survey feet','length',5.02921005842011723538e+01,NULL,1);
INSERT INTO "unit_of_measure" VALUES('EPSG','9206','Bin width 82.5 US survey feet','length',2.51460502921005861769e+01,NULL,1);
INSERT INTO "unit_of_measure" VALUES('EPSG','9207','Bin width 37.5 metres','length',37.5,NULL,1);
INSERT INTO "unit_of_measure" VALUES('EPSG','9208','Bin width 25 metres','length',25.0,NULL,1);
INSERT INTO "unit_of_measure" VALUES('EPSG','9209','Bin width 12.5 metres','length',12.5,NULL,1);
INSERT INTO "unit_of_measure" VALUES('EPSG','9210','Bin width 6.25 metres','length',6.25,NULL,1);
INSERT INTO "unit_of_measure" VALUES('EPSG','9211','Bin width 3.125 metres','length',3.125,NULL,1);
INSERT INTO "unit_of_measure" VALUES('EPSG','9300','British foot (Sears 1922 truncated)','length',3.04799333333333366535e-01,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9301','British chain (Sears 1922 truncated)','length',20.116756,NULL,0);
INSERT INTO "unit_of_measure" VALUES('EPSG','9302','British link (Sears 1922 truncated)','length',0.20116756,NULL,0);
+19 -3
View File
@@ -78,13 +78,13 @@ INSERT INTO "vertical_crs" VALUES('EPSG','5743','Foula height',NULL,NULL,'EPSG',
INSERT INTO "vertical_crs" VALUES('EPSG','5744','Sule Skerry height',NULL,NULL,'EPSG','6499','EPSG','5142','EPSG','2797',0);
INSERT INTO "vertical_crs" VALUES('EPSG','5745','North Rona height',NULL,NULL,'EPSG','6499','EPSG','5143','EPSG','2798',0);
INSERT INTO "vertical_crs" VALUES('EPSG','5746','Stornoway height',NULL,NULL,'EPSG','6499','EPSG','5144','EPSG','2799',0);
INSERT INTO "vertical_crs" VALUES('EPSG','5747','St Kilda height',NULL,NULL,'EPSG','6499','EPSG','5145','EPSG','2800',0);
INSERT INTO "vertical_crs" VALUES('EPSG','5747','St. Kilda height',NULL,NULL,'EPSG','6499','EPSG','5145','EPSG','2800',0);
INSERT INTO "vertical_crs" VALUES('EPSG','5748','Flannan Isles height',NULL,NULL,'EPSG','6499','EPSG','5146','EPSG','2801',0);
INSERT INTO "vertical_crs" VALUES('EPSG','5749','St Marys height',NULL,NULL,'EPSG','6499','EPSG','5147','EPSG','2802',0);
INSERT INTO "vertical_crs" VALUES('EPSG','5749','St. Marys height',NULL,NULL,'EPSG','6499','EPSG','5147','EPSG','2802',0);
INSERT INTO "vertical_crs" VALUES('EPSG','5750','Douglas height',NULL,NULL,'EPSG','6499','EPSG','5148','EPSG','2803',0);
INSERT INTO "vertical_crs" VALUES('EPSG','5751','Fao height',NULL,NULL,'EPSG','6499','EPSG','5149','EPSG','3390',0);
INSERT INTO "vertical_crs" VALUES('EPSG','5752','Bandar Abbas height',NULL,NULL,'EPSG','6499','EPSG','5150','EPSG','3336',0);
INSERT INTO "vertical_crs" VALUES('EPSG','5753','NGNC height',NULL,NULL,'EPSG','6499','EPSG','5151','EPSG','2822',0);
INSERT INTO "vertical_crs" VALUES('EPSG','5753','NGNC69 height',NULL,NULL,'EPSG','6499','EPSG','5151','EPSG','2822',0);
INSERT INTO "vertical_crs" VALUES('EPSG','5754','Poolbeg height (ft(Br36))',NULL,NULL,'EPSG','6496','EPSG','5152','EPSG','1305',0);
INSERT INTO "vertical_crs" VALUES('EPSG','5755','NGG1977 height',NULL,NULL,'EPSG','6499','EPSG','5153','EPSG','3146',0);
INSERT INTO "vertical_crs" VALUES('EPSG','5756','Martinique 1987 height',NULL,NULL,'EPSG','6499','EPSG','5154','EPSG','3276',0);
@@ -212,6 +212,7 @@ INSERT INTO "vertical_crs" VALUES('EPSG','8675','N43 height',NULL,NULL,'EPSG','6
INSERT INTO "vertical_crs" VALUES('EPSG','8690','SVS2010 height',NULL,NULL,'EPSG','6499','EPSG','1215','EPSG','3307',0);
INSERT INTO "vertical_crs" VALUES('EPSG','8691','SRB_VRS12 height',NULL,NULL,'EPSG','6499','EPSG','1216','EPSG','4543',0);
INSERT INTO "vertical_crs" VALUES('EPSG','8841','MVGC height',NULL,NULL,'EPSG','6499','EPSG','1219','EPSG','3303',0);
INSERT INTO "vertical_crs" VALUES('EPSG','8881','Vienna height',NULL,NULL,'EPSG','6499','EPSG','1267','EPSG','4585',0);
INSERT INTO "vertical_crs" VALUES('EPSG','8897','EPSG example wellbore local vertical CRS (ft)',NULL,NULL,'EPSG','1050','EPSG','1205','EPSG','4393',0);
INSERT INTO "vertical_crs" VALUES('EPSG','8904','TWVD 2001 height',NULL,NULL,'EPSG','6499','EPSG','1224','EPSG','3982',0);
INSERT INTO "vertical_crs" VALUES('EPSG','8911','DACR52 height',NULL,NULL,'EPSG','6499','EPSG','1226','EPSG','3232',0);
@@ -220,4 +221,19 @@ INSERT INTO "vertical_crs" VALUES('EPSG','9245','CGVD2013(CGG2013a) height',NULL
INSERT INTO "vertical_crs" VALUES('EPSG','9255','SRVN16 height',NULL,NULL,'EPSG','6499','EPSG','1260','EPSG','4573',0);
INSERT INTO "vertical_crs" VALUES('EPSG','9274','EVRF2000 Austria height',NULL,NULL,'EPSG','6499','EPSG','1261','EPSG','1037',0);
INSERT INTO "vertical_crs" VALUES('EPSG','9279','SA LLD height',NULL,NULL,'EPSG','6499','EPSG','1262','EPSG','3309',0);
INSERT INTO "vertical_crs" VALUES('EPSG','9303','HS2-VRF height',NULL,NULL,'EPSG','6499','EPSG','1265','EPSG','4582',0);
INSERT INTO "vertical_crs" VALUES('EPSG','9335','KSA-VRF14 height',NULL,NULL,'EPSG','6499','EPSG','1269','EPSG','3303',0);
INSERT INTO "vertical_crs" VALUES('EPSG','9351','NGNC08 height',NULL,NULL,'EPSG','6499','EPSG','1255','EPSG','3430',0);
INSERT INTO "vertical_crs" VALUES('EPSG','9389','EVRF2019 height',NULL,NULL,'EPSG','6499','EPSG','1274','EPSG','4608',0);
INSERT INTO "vertical_crs" VALUES('EPSG','9390','EVRF2019 mean-tide height',NULL,NULL,'EPSG','6499','EPSG','1287','EPSG','4608',0);
INSERT INTO "vertical_crs" VALUES('EPSG','9392','Mallorca height',NULL,NULL,'EPSG','6499','EPSG','1275','EPSG','4602',0);
INSERT INTO "vertical_crs" VALUES('EPSG','9393','Menorca height',NULL,NULL,'EPSG','6499','EPSG','1276','EPSG','4603',0);
INSERT INTO "vertical_crs" VALUES('EPSG','9394','Ibiza height',NULL,NULL,'EPSG','6499','EPSG','1277','EPSG','4604',0);
INSERT INTO "vertical_crs" VALUES('EPSG','9395','Lanzarote height',NULL,NULL,'EPSG','6499','EPSG','1278','EPSG','4591',0);
INSERT INTO "vertical_crs" VALUES('EPSG','9396','Fuerteventura height',NULL,NULL,'EPSG','6499','EPSG','1279','EPSG','4592',0);
INSERT INTO "vertical_crs" VALUES('EPSG','9397','Gran Canaria height',NULL,NULL,'EPSG','6499','EPSG','1280','EPSG','4593',0);
INSERT INTO "vertical_crs" VALUES('EPSG','9398','Tenerife height',NULL,NULL,'EPSG','6499','EPSG','1281','EPSG','4594',0);
INSERT INTO "vertical_crs" VALUES('EPSG','9399','La Gomera height',NULL,NULL,'EPSG','6499','EPSG','1282','EPSG','4595',0);
INSERT INTO "vertical_crs" VALUES('EPSG','9400','La Palma height',NULL,NULL,'EPSG','6499','EPSG','1283','EPSG','4596',0);
INSERT INTO "vertical_crs" VALUES('EPSG','9401','El Hierro height',NULL,NULL,'EPSG','6499','EPSG','1284','EPSG','4597',0);
INSERT INTO "vertical_crs" VALUES('EPSG','9402','Ceuta 2 height',NULL,NULL,'EPSG','6499','EPSG','1285','EPSG','4590',0);
+19 -3
View File
@@ -79,11 +79,27 @@ INSERT INTO "vertical_datum" VALUES('EPSG','1219','MOMRA Vertical Geodetic Contr
INSERT INTO "vertical_datum" VALUES('EPSG','1224','Taiwan Vertical Datum 2001',NULL,NULL,'EPSG','3982',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','1226','Datum Altimetrico de Costa Rica 1952',NULL,NULL,'EPSG','3232','1952-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1250','IGN 2008 LD',NULL,NULL,'EPSG','2893','2008-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1255','Nivellement General de Nouvelle Caledonie 2008',NULL,NULL,'EPSG','3430','2008-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1256','Canadian Geodetic Vertical Datum of 2013 (CGG2013a)',NULL,NULL,'EPSG','1061','2015-12-05',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1260','Sistema de Referencia Vertical Nacional 2016',NULL,NULL,'EPSG','4573','2013-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1261','European Vertical Reference Frame 2000 Austria',NULL,NULL,'EPSG','1037',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','1262','South Africa Land Levelling Datum',NULL,NULL,'EPSG','3309','2010-05-11',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1265','HS2 Vertical Reference Frame',NULL,NULL,'EPSG','4582',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','1267','Wiener Null',NULL,NULL,'EPSG','4585',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','1269','Kingdom of Saudi Arabia Vertical Reference Frame Jeddah 2014',NULL,NULL,'EPSG','3303','2014-10-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1274','European Vertical Reference Frame 2019',NULL,NULL,'EPSG','4608','2000-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1275','Mallorca',NULL,NULL,'EPSG','4602',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','1276','Menorca',NULL,NULL,'EPSG','4603',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','1277','Ibiza',NULL,NULL,'EPSG','4604',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','1278','Lanzarote',NULL,NULL,'EPSG','4591',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','1279','Fuerteventura',NULL,NULL,'EPSG','4592',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','1280','Gran Canaria',NULL,NULL,'EPSG','4593',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','1281','Tenerife',NULL,NULL,'EPSG','4594',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','1282','La Gomera',NULL,NULL,'EPSG','4595',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','1283','La Palma',NULL,NULL,'EPSG','4596',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','1284','El Hierro',NULL,NULL,'EPSG','4597',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','1285','Ceuta 2',NULL,NULL,'EPSG','4590',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','1287','European Vertical Reference Frame 2019 mean tide',NULL,NULL,'EPSG','4608','2000-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5100','Mean Sea Level',NULL,NULL,'EPSG','1262',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','5101','Ordnance Datum Newlyn',NULL,NULL,'EPSG','2792',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','5102','National Geodetic Vertical Datum 1929',NULL,NULL,'EPSG','1323','1929-01-01',0);
@@ -128,9 +144,9 @@ INSERT INTO "vertical_datum" VALUES('EPSG','5141','Foula',NULL,NULL,'EPSG','2796
INSERT INTO "vertical_datum" VALUES('EPSG','5142','Sule Skerry',NULL,NULL,'EPSG','2797',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','5143','North Rona',NULL,NULL,'EPSG','2798',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','5144','Stornoway',NULL,NULL,'EPSG','2799',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','5145','St Kilda',NULL,NULL,'EPSG','2800',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','5145','St. Kilda',NULL,NULL,'EPSG','2800',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','5146','Flannan Isles',NULL,NULL,'EPSG','2801',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','5147','St Marys',NULL,NULL,'EPSG','2802',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','5147','St. Marys',NULL,NULL,'EPSG','2802',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','5148','Douglas',NULL,NULL,'EPSG','2803',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','5149','Fao',NULL,NULL,'EPSG','3390',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','5150','Bandar Abbas',NULL,NULL,'EPSG','3336','2001-01-01',0);
@@ -190,7 +206,7 @@ INSERT INTO "vertical_datum" VALUES('EPSG','5203','EGM84 geoid',NULL,NULL,'EPSG'
INSERT INTO "vertical_datum" VALUES('EPSG','5204','International Great Lakes Datum 1955',NULL,NULL,'EPSG','3468','1955-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5205','International Great Lakes Datum 1985',NULL,NULL,'EPSG','3468','1985-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5206','Dansk Vertikal Reference 1990',NULL,NULL,'EPSG','3237',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','5207','Croatian Vertical Reference System 1971',NULL,NULL,'EPSG','3234','1971-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5207','Croatian Vertical Reference Datum 1971',NULL,NULL,'EPSG','3234','1971-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5208','Rikets hojdsystem 2000',NULL,NULL,'EPSG','3313','2000-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5209','Rikets hojdsystem 1900',NULL,NULL,'EPSG','3313','1900-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5210','IGN 1988 LS',NULL,NULL,'EPSG','2895','1988-01-01',0);
+54
View File
@@ -0,0 +1,54 @@
{
"file_type": "deformation_model_master_file",
"format_version": "1.0",
"source_crs": "EPSG:4326",
"target_crs": "foo:ignored",
"definition_crs": "EPSG:4326",
"horizontal_offset_unit": "degree",
"horizontal_offset_method": "addition",
"vertical_offset_unit": "metre",
"extent": {
"type": "bbox",
"parameters": {
"bbox": [
-180,
-90,
180,
90
]
}
},
"time_extent": {
"first": "1900-01-01T00:00:00Z",
"last": "2050-01-01T00:00:00Z"
},
"components": [
{
"description": "test",
"displacement_type": "3d",
"uncertainty_type": "none",
"extent": {
"type": "bbox",
"parameters": {
"bbox": [
-180,
-90,
180,
90
]
}
},
"spatial_model": {
"type": "GeoTIFF",
"interpolation_method": "bilinear",
"filename": "tests/simple_model_degree_3d_grid.tif"
},
"time_function": {
"type": "step",
"parameters": {
"step_epoch": "1900-01-01T00:00:00Z"
}
}
}
]
}
Binary file not shown.
@@ -0,0 +1,53 @@
{
"file_type": "deformation_model_master_file",
"format_version": "1.0",
"source_crs": "EPSG:4326",
"target_crs": "foo:ignored",
"definition_crs": "EPSG:4326",
"horizontal_offset_unit": "degree",
"horizontal_offset_method": "addition",
"extent": {
"type": "bbox",
"parameters": {
"bbox": [
-180,
-90,
180,
90
]
}
},
"time_extent": {
"first": "1900-01-01T00:00:00Z",
"last": "2050-01-01T00:00:00Z"
},
"components": [
{
"description": "test",
"displacement_type": "horizontal",
"uncertainty_type": "none",
"extent": {
"type": "bbox",
"parameters": {
"bbox": [
-180,
-90,
180,
90
]
}
},
"spatial_model": {
"type": "GeoTIFF",
"interpolation_method": "bilinear",
"filename": "tests/simple_model_degree_3d_grid.tif"
},
"time_function": {
"type": "step",
"parameters": {
"step_epoch": "1900-01-01T00:00:00Z"
}
}
}
]
}
+54
View File
@@ -0,0 +1,54 @@
{
"file_type": "deformation_model_master_file",
"format_version": "1.0",
"source_crs": "EPSG:4326",
"target_crs": "foo:ignored",
"definition_crs": "EPSG:4326",
"horizontal_offset_unit": "metre",
"horizontal_offset_method": "addition",
"vertical_offset_unit": "metre",
"extent": {
"type": "bbox",
"parameters": {
"bbox": [
-180,
-90,
180,
90
]
}
},
"time_extent": {
"first": "1900-01-01T00:00:00Z",
"last": "2050-01-01T00:00:00Z"
},
"components": [
{
"description": "test",
"displacement_type": "3d",
"uncertainty_type": "none",
"extent": {
"type": "bbox",
"parameters": {
"bbox": [
-180,
-90,
180,
90
]
}
},
"spatial_model": {
"type": "GeoTIFF",
"interpolation_method": "bilinear",
"filename": "tests/simple_model_metre_3d_grid.tif"
},
"time_function": {
"type": "step",
"parameters": {
"step_epoch": "1900-01-01T00:00:00Z"
}
}
}
]
}
@@ -0,0 +1,54 @@
{
"file_type": "deformation_model_master_file",
"format_version": "1.0",
"source_crs": "EPSG:4326",
"target_crs": "foo:ignored",
"definition_crs": "EPSG:4326",
"horizontal_offset_unit": "metre",
"horizontal_offset_method": "geocentric",
"vertical_offset_unit": "metre",
"extent": {
"type": "bbox",
"parameters": {
"bbox": [
-180,
-90,
180,
90
]
}
},
"time_extent": {
"first": "1900-01-01T00:00:00Z",
"last": "2050-01-01T00:00:00Z"
},
"components": [
{
"description": "test",
"displacement_type": "3d",
"uncertainty_type": "none",
"extent": {
"type": "bbox",
"parameters": {
"bbox": [
-180,
-90,
180,
90
]
}
},
"spatial_model": {
"type": "GeoTIFF",
"interpolation_method": "bilinear",
"filename": "tests/simple_model_metre_3d_grid.tif"
},
"time_function": {
"type": "step",
"parameters": {
"step_epoch": "1900-01-01T00:00:00Z"
}
}
}
]
}
Binary file not shown.
@@ -0,0 +1,53 @@
{
"file_type": "deformation_model_master_file",
"format_version": "1.0",
"source_crs": "EPSG:4326",
"target_crs": "foo:ignored",
"definition_crs": "EPSG:4326",
"horizontal_offset_unit": "metre",
"horizontal_offset_method": "addition",
"extent": {
"type": "bbox",
"parameters": {
"bbox": [
-180,
-90,
180,
90
]
}
},
"time_extent": {
"first": "1900-01-01T00:00:00Z",
"last": "2050-01-01T00:00:00Z"
},
"components": [
{
"description": "test",
"displacement_type": "horizontal",
"uncertainty_type": "none",
"extent": {
"type": "bbox",
"parameters": {
"bbox": [
-180,
-90,
180,
90
]
}
},
"spatial_model": {
"type": "GeoTIFF",
"interpolation_method": "bilinear",
"filename": "tests/simple_model_metre_3d_grid.tif"
},
"time_function": {
"type": "step",
"parameters": {
"step_epoch": "1900-01-01T00:00:00Z"
}
}
}
]
}
@@ -0,0 +1,49 @@
{
"file_type": "deformation_model_master_file",
"format_version": "1.0",
"source_crs": "EPSG:4326",
"target_crs": "foo:ignored",
"definition_crs": "EPSG:4326",
"vertical_offset_unit": "metre",
"extent": {
"type": "bbox",
"parameters": {
"bbox": [
-180,
-90,
180,
90
]
}
},
"time_extent": {
"first": "1900-01-01T00:00:00Z",
"last": "2050-01-01T00:00:00Z"
},
"components": [
{
"description": "test",
"displacement_type": "vertical",
"uncertainty_type": "none",
"extent": {
"type": "bbox",
"parameters": {
"bbox": [
-180,
-90,
180,
90
]
}
},
"spatial_model": {
"type": "GeoTIFF",
"interpolation_method": "bilinear",
"filename": "tests/simple_model_metre_vertical_grid.tif"
},
"time_function": {
"type": "constant"
}
}
]
}
Binary file not shown.
+54
View File
@@ -0,0 +1,54 @@
{
"file_type": "deformation_model_master_file",
"format_version": "1.0",
"source_crs": "EPSG:4326",
"target_crs": "foo:ignored",
"definition_crs": "EPSG:4326",
"horizontal_offset_unit": "metre",
"horizontal_offset_method": "geocentric",
"vertical_offset_unit": "metre",
"extent": {
"type": "bbox",
"parameters": {
"bbox": [
0,
-90,
360,
-89
]
}
},
"time_extent": {
"first": "1900-01-01T00:00:00Z",
"last": "2050-01-01T00:00:00Z"
},
"components": [
{
"description": "test",
"displacement_type": "3d",
"uncertainty_type": "none",
"extent": {
"type": "bbox",
"parameters": {
"bbox": [
0,
-90,
360,
-89
]
}
},
"spatial_model": {
"type": "GeoTIFF",
"interpolation_method": "geocentric_bilinear",
"filename": "tests/simple_model_polar.tif"
},
"time_function": {
"type": "step",
"parameters": {
"step_epoch": "1900-01-01T00:00:00Z"
}
}
}
]
}
Binary file not shown.
+51
View File
@@ -0,0 +1,51 @@
{
"file_type": "deformation_model_master_file",
"format_version": "1.0",
"source_crs": "EPSG:2193",
"target_crs": "foo:ignored",
"definition_crs": "EPSG:2193",
"horizontal_offset_unit": "metre",
"horizontal_offset_method": "addition",
"vertical_offset_unit": "metre",
"extent": {
"type": "bbox",
"parameters": {
"bbox": [
1500000.0,
5400000.0,
1501000.0,
5401000.0
]
}
},
"time_extent": {
"first": "1900-01-01T00:00:00Z",
"last": "2050-01-01T00:00:00Z"
},
"components": [
{
"description": "test",
"displacement_type": "3d",
"uncertainty_type": "none",
"extent": {
"type": "bbox",
"parameters": {
"bbox": [
1500000.0,
5400000.0,
1501000.0,
5401000.0
]
}
},
"spatial_model": {
"type": "GeoTIFF",
"interpolation_method": "bilinear",
"filename": "tests/test_3d_grid_projected.tif"
},
"time_function": {
"type": "constant"
}
}
]
}
+42
View File
@@ -0,0 +1,42 @@
{
"file_type": "deformation_model_master_file",
"format_version": "1.0",
"source_crs": "EPSG:4326",
"target_crs": "foo:ignored",
"definition_crs": "EPSG:4326",
"vertical_offset_unit": "metre",
"extent": {
"type": "bbox",
"parameters": {
"bbox": [-194.2, -37.5, -193.8, -37.2]
}
},
"time_extent": {
"first": "1900-01-01T00:00:00Z",
"last": "2050-01-01T00:00:00Z"
},
"components": [
{
"description": "test",
"displacement_type": "vertical",
"uncertainty_type": "none",
"extent": {
"type": "bbox",
"parameters": {
"bbox": [-194.2, -37.5, -193.8, -37.2]
}
},
"spatial_model": {
"type": "GeoTIFF",
"interpolation_method": "geocentric_bilinear",
"filename": "tests/simple_model_wrap_east.tif"
},
"time_function": {
"type": "step",
"parameters": {
"step_epoch": "1900-01-01T00:00:00Z"
}
}
}
]
}
Binary file not shown.
+42
View File
@@ -0,0 +1,42 @@
{
"file_type": "deformation_model_master_file",
"format_version": "1.0",
"source_crs": "EPSG:4326",
"target_crs": "foo:ignored",
"definition_crs": "EPSG:4326",
"vertical_offset_unit": "metre",
"extent": {
"type": "bbox",
"parameters": {
"bbox": [525.8,-37.5,526.2,-37.2]
}
},
"time_extent": {
"first": "1900-01-01T00:00:00Z",
"last": "2050-01-01T00:00:00Z"
},
"components": [
{
"description": "test",
"displacement_type": "vertical",
"uncertainty_type": "none",
"extent": {
"type": "bbox",
"parameters": {
"bbox": [525.8,-37.5,526.2,-37.2]
}
},
"spatial_model": {
"type": "GeoTIFF",
"interpolation_method": "geocentric_bilinear",
"filename": "tests/simple_model_wrap_west.tif"
},
"time_function": {
"type": "step",
"parameters": {
"step_epoch": "1900-01-01T00:00:00Z"
}
}
}
]
}
Binary file not shown.
Binary file not shown.
@@ -13,14 +13,15 @@ task:
CIRRUS_CLONE_DEPTH: 1
MAKE_FLAGS: -j 4
cache:
folder: $HOME/.ccache
# Disable cache: its upload can take up to 30 minutes!
#cache:
# folder: $HOME/.ccache
pkginstall_script:
- pkg install -y autoconf automake libtool pkgconf sqlite3 tiff ccache gmake
configure_script:
- ./autogen.sh
- CC="ccache cc" CXX="ccache c++" ./configure --disable-static
- ./configure --disable-static
compile_script:
- gmake $(MAKE_FLAGS)
test_script:
+26 -9
View File
@@ -21,15 +21,22 @@ matrix:
- docker
env:
- BUILD_NAME=linux_gcc
- DETAILS="linux, gcc"
- DETAILS="linux, gcc-4.8"
- CC=gcc-4.8
- CXX=g++-4.8
addons:
apt:
packages:
- g++-4.8
- os: linux
dist: xenial
dist: bionic
compiler: gcc
services:
- docker
env:
- BUILD_NAME=linux_gcc8
- DETAILS="linux, gcc8"
- DETAILS="linux, gcc8, i386"
- ARCH=i386
- CC=gcc-8
@@ -43,7 +50,7 @@ matrix:
addons:
apt:
sources:
- ubuntu-toolchain-r-test
- sourceline: 'ppa:ubuntu-toolchain-r/test'
packages:
- g++-8-multilib
- make
@@ -59,6 +66,14 @@ matrix:
- BUILD_NAME=linux_clang
- DETAILS="linux, clang"
# - os: linux
# dist: bionic
# compiler: gcc
# arch: s390x
# env:
# - BUILD_NAME=linux_s390x
# - DETAILS="linux, s390x"
- os: osx
env:
- BUILD_NAME=osx
@@ -91,12 +106,14 @@ script:
after_success: ./travis/${BUILD_NAME}/after_success.sh
notifications:
#email:
# recipients:
# - gdal-commits@lists.osgeo.org
irc:
channels:
- "irc.freenode.org#gdal"
- "irc.freenode.org#proj"
- "irc.freenode.org#proj-activity"
# - "irc.freenode.org#gdal"
# - "irc.freenode.org#proj"
use_notice: true
# #email:
# # recipients:
# # - gdal-commits@lists.osgeo.org
#
+63
View File
@@ -0,0 +1,63 @@
branches:
except:
- /(cherry-pick-)?backport-\d+-to-/
environment:
matrix:
# VS 2015
- platform: x86
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
BUILD_SHARED_LIBS: OFF
# VS 2017
- platform: x64
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
BUILD_SHARED_LIBS: ON
shallow_clone: true
cache:
- C:\Tools\vcpkg\installed\ -> appveyor.yml
build_script:
- set VCPKG_INSTALLED=C:\Tools\vcpkg\installed\%platform%-windows
# If cached directory does not exist, update vcpkg and install dependencies
# The checkout of a precise sha1 for VS2015 is a workaround for https://github.com/microsoft/vcpkg/issues/11666
- if not exist %VCPKG_INSTALLED%\bin (
cd "C:\Tools\vcpkg" &
git pull > nul &
(if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2015" (git checkout a64dc07690bc8806e717e190f62eb58e198b599c)) &
.\bootstrap-vcpkg.bat -disableMetrics &
vcpkg install sqlite3[core,tool]:"%platform%"-windows &
vcpkg install tiff:"%platform%"-windows &
vcpkg install curl:"%platform%"-windows &
cd %APPVEYOR_BUILD_FOLDER%
)
- dir %VCPKG_INSTALLED%\bin
- set PATH=%VCPKG_INSTALLED%\bin;%PATH%
# See https://www.appveyor.com/docs/lang/cpp/
- if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2015" if %platform%==x86
(call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86)
- if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2017"
(call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" %platform% )
#
- set PROJ_BUILD=%APPVEYOR_BUILD_FOLDER%\build
- mkdir %PROJ_BUILD%
- cd %PROJ_BUILD%
- set PROJ_DIR=%APPVEYOR_BUILD_FOLDER%\proj_dir
- cmake -GNinja .. -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS="%BUILD_SHARED_LIBS%" -DCMAKE_C_FLAGS="/WX" -DCMAKE_CXX_FLAGS="/WX" -DCMAKE_TOOLCHAIN_FILE=c:/tools/vcpkg/scripts/buildsystems/vcpkg.cmake -DCMAKE_INSTALL_PREFIX="%PROJ_DIR%"
- ninja -v
- ninja install
- dir %PROJ_DIR%\bin
test_script:
- echo test_script
- set PROJ_LIB=%PROJ_DIR%\share\proj
- cd %PROJ_BUILD%
- ctest -V -C Release
- set PATH=%PROJ_DIR%\bin;%PATH%
- call %APPVEYOR_BUILD_FOLDER%\test\postinstall\test_cmake.bat %PROJ_DIR%
- proj
deploy: off
-3
View File
@@ -62,9 +62,6 @@ 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
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
+15
View File
@@ -0,0 +1,15 @@
name: proj
channels:
- conda-forge
dependencies:
- descartes
- doxygen < 1.9
- geojson
- matplotlib
- shapely < 1.8
- pip
- pip:
- breathe
- pybtex
- sphinx-rtd-theme
- sphinxcontrib-bibtex
Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

-86
View File
@@ -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
+110 -58
View File
@@ -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,28 +42,31 @@ 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 = '../../src/proj'
PROJ_LIB = '../../data'
PROJ_COMMAND = os.environ.get('PROJ_EXE', '../../src/proj')
if not os.path.exists(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')
LINE_LOW = 'data/coastline.geojson'
LINE_MED = 'data/coastline50.geojson'
@@ -160,9 +164,9 @@ def project(coordinates, proj_string, in_radians=False):
try:
proc = subprocess.Popen(args, stdin=subprocess.PIPE, stdout=subprocess.PIPE,
env={'PROJ_LIB': os.path.abspath(PROJ_LIB)})
except FileNotFoundError:
print("'proj' binary not found, please update PROJ constant in plot.py "
"to point to your local 'proj' binary")
except FileNotFoundError as e:
print("'proj' binary not found, set the PROJ_EXE environment variable "
"to point to your local 'proj' binary --%s--" % e)
exit(1)
stdout, _ = proc.communicate(coordinates.tobytes(order='C'))
@@ -223,7 +227,10 @@ def resample_polygon(polygon):
'''
Use interp_coords() to resample (multi)polygons.
'''
xy = polygon.exterior.coords.xy
try:
xy = polygon.exterior.coords.xy
except AttributeError: #no xy's
return polygon
ext = interp_coords(xy, 2)
# interiors
rings = []
@@ -232,27 +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 = Box(
plotdef['lonmin'], plotdef['latmin'],
plotdef['lonmax'], plotdef['latmax'])
for feat in data["features"]:
geom = shape(feat["geometry"])
if not geom.intersects(box):
continue
box = Polygon([
(plotdef['lonmin'], plotdef['latmin']),
(plotdef['lonmin'], plotdef['latmax']),
(plotdef['lonmax'], plotdef['latmax']),
(plotdef['lonmax'], plotdef['latmin']),
])
temp_pol = temp_pol.intersection(box)
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)
@@ -263,11 +289,15 @@ def plotproj(plotdef, data, outdir):
proj_geom = transform(trans, pol)
if plotdef['type'] == 'poly':
patch = PolygonPatch(proj_geom, fc=COLOR_LAND, zorder=0)
axes.add_patch(patch)
try:
patch = PolygonPatch(proj_geom, fc=COLOR_LAND, zorder=0)
axes.add_patch(patch)
except TypeError:
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 = [
@@ -278,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'],
@@ -292,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')
@@ -311,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')
@@ -323,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
@@ -364,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)))
-2
View File
@@ -1,2 +0,0 @@
python3 plot.py plotdefs.json images/
+69
View File
@@ -1,4 +1,40 @@
[
{
"filename": "adams_hemi.png",
"latmax": 90,
"latmin": -90,
"lonmax": 90,
"lonmin": -90,
"name": "adams_hemi",
"projstring": "+proj=adams_hemi",
"res": "low",
"type": "poly"
},
{
"filename": "adams_ws1.png",
"latmax": 90,
"latmin": -90,
"lonmax": 180,
"lonmin": -180,
"name": "adams_ws1",
"projstring": "+proj=adams_ws1",
"res": "low",
"type": "poly"
},
{
"filename": "adams_ws2.png",
"latmax": 90,
"latmin": -90,
"lonmax": 180,
"lonmin": -180,
"name": "adams_ws2",
"projstring": "+proj=adams_ws2",
"res": "low",
"type": "poly"
},
{
"filename": "aea.png",
"latmax": 90,
@@ -474,6 +510,17 @@
"res": "med",
"type": "poly"
},
{
"filename": "guyou.png",
"latmax": 90,
"latmin": -90,
"lonmax": 90,
"lonmin": -90,
"name": "guyou",
"projstring": "+proj=guyou",
"res": "low",
"type": "poly"
},
{
"filename": "hammer.png",
"latmax": 90,
@@ -507,6 +554,17 @@
"res": "low",
"type": "line"
},
{
"filename": "igh_o.png",
"latmax": 90,
"latmin": -90,
"lonmax": 180,
"lonmin": -180,
"name": "igh_o",
"projstring": "+proj=igh_o +lon_0=-160",
"res": "low",
"type": "line"
},
{
"filename": "imw_p.png",
"latmax": 90,
@@ -992,6 +1050,17 @@
"res": "low",
"type": "poly"
},
{
"filename": "peirce_q.png",
"latmax": 90,
"latmin": 0,
"lonmax": 180,
"lonmin": -180,
"name": "peirce_q",
"projstring": "+proj=peirce_q",
"res": "low",
"type": "poly"
},
{
"filename": "poly.png",
"latmax": 90,
+12
View File
@@ -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/
+15
View File
@@ -0,0 +1,15 @@
#!/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}
+9
View File
@@ -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
+1 -1
View File
@@ -34,7 +34,7 @@ The following control parameters can appear in any order:
.. option:: -d <n>
.. versionadded:: 5.2.0
.. versionadded:: 5.2.0
Specify the number of decimals in the output.
+52 -16
View File
@@ -15,19 +15,33 @@ Synopsis
or
**cs2cs** [**-eEfIlrstvwW** [args]] {source_crs} +to {target_crs} file ...
**cs2cs** [**-eEfIlrstvwW** [args]] {source_crs} {target_crs} file ...
where {source_crs} or {target_crs} is a PROJ string, a WKT string or a AUTHORITY:CODE
(where AUTHORITY is the name of a CRS authority and CODE the code of a CRS
found in the proj.db database), expressing a coordinate reference system.
where {source_crs} or {target_crs} is one of the possibilities accepted
by :c:func:`proj_create`, provided it expresses a CRS
.. versionadded:: 6.0.0
- a proj-string,
- a WKT string,
- an object code (like "EPSG:4326", "urn:ogc:def:crs:EPSG::4326",
"urn:ogc:def:coordinateOperation:EPSG::1671"),
- an Object name. e.g "WGS 84", "WGS 84 / UTM zone 31N". In that case as
uniqueness is not guaranteed, heuristics are applied to determine the appropriate best match.
- a OGC URN combining references for compound coordinate reference systems
(e.g "urn:ogc:def:crs,crs:EPSG::2393,crs:EPSG::5717" or custom abbreviated
syntax "EPSG:2393+5717"),
- a OGC URN combining references for references for projected or derived CRSs
e.g. for Projected 3D CRS "UTM zone 31N / WGS 84 (3D)":
"urn:ogc:def:crs,crs:EPSG::4979,cs:PROJ::ENh,coordinateOperation:EPSG::16031"
(*added in 6.2*)
- a OGC URN combining references for concatenated operations
(e.g. "urn:ogc:def:coordinateOperation,coordinateOperation:EPSG::3895,coordinateOperation:EPSG::1618")
- a PROJJSON string. The jsonschema is at https://proj.org/schemas/v0.2/projjson.schema.json (*added in 6.2*)
- a compound CRS made from two object names separated with " + ". e.g. "WGS 84 + EGM96 height" (*added in 7.1*)
or
.. versionadded:: 6.0.0
**cs2cs** [**-eEfIlrstvwW** [args]] {source_crs} {target_crs}
.. versionadded:: 6.0.0
.. note:: before 7.0.1, it was needed to add +to between {source_crs} and {target_crs}
when adding a filename
Description
***********
@@ -54,7 +68,7 @@ The following control parameters can appear in any order:
.. option:: -d <n>
.. versionadded:: 5.2.0
.. versionadded:: 5.2.0
Specify the number of decimals in the output.
@@ -93,13 +107,18 @@ The following control parameters can appear in any order:
.. option:: -r
This options reverses the order of the expected input from
longitude-latitude or x-y to latitude-longitude or y-x.
This options reverses the order of the first two expected
inputs from that specified by the CRS to the opposite
order. The third coordinate, typically height, remains
third.
.. option:: -s
This options reverses the order of the output from x-y or longitude-latitude
to y-x or latitude-longitude.
This options reverses the order of the first two expected
outputs from that specified by the CRS to the opposite
order. The third coordinate, typically height, remains
third.
.. option:: -f <format>
@@ -208,8 +227,8 @@ The x-y output data will appear as three lines of:
1402293.44 5076292.68 0.00
Using EPSG codes
----------------
Using EPSG CRS codes
--------------------
Transforming from WGS 84 latitude/longitude (in that order) to UTM Zone 31N/WGS 84
@@ -225,6 +244,23 @@ outputs
421184.70 4983436.77 0.00
Using EPSG CRS names
--------------------
Transforming from WGS 84 latitude/longitude (in that order) with EGM96 height to
UTM Zone 31N/WGS 84 with WGS84 ellipsoidal height
::
echo 45 2 0 | cs2cs "WGS 84 + EGM96 height" "WGS 84 / UTM zone 31N"
outputs
::
421184.70 4983436.77 50.69
.. only:: man
See also
+27
View File
@@ -324,6 +324,33 @@ gie command language
expect 0 110579.9
</gie>
Strict mode
***********
.. versionadded:: 7.1
A stricter variant of normal gie syntax can be used by wrapping gie commands
between ``<gie-strict>`` and ``</gie-strict>``. In strict mode, comment lines
must start with a sharp character. Unknown commands will be considered as an error.
A command can still be split on several lines, but intermediate lines must
end with the space character followed by backslash to mark the continuation.
.. code-block:: console
<gie-strict>
# This is a comment. The following line with multiple repeated characters too
-------------------------------------------------
# A command on several lines must use " \" continuation
operation proj=hgridshift +grids=nzgd2kgrid0005.gsb \
ellps=GRS80
tolerance 1 mm
ignore pjd_err_failed_to_load_grid
accept 172.999892181021551 -45.001620431954613
expect 173 -45
</gie-strict>
Background
**********
+2 -1
View File
@@ -13,7 +13,8 @@ geodesic (great circle) computations. :program:`gie` is the program used for
regression tests in PROJ. :program:`cct`, a 4D equivalent to the :program:`proj`
program, performs transformation coordinate systems on a set of input points.
:program:`projinfo` performs queries for geodetic objects and coordinate
operations.
operations. :program:`projsync` is a tool for synchronizing PROJ datum and
transformation support data.
.. toctree::
:maxdepth: 1
+1 -1
View File
@@ -174,7 +174,7 @@ For ASCII input data the two data values must be in the first two white space
separated fields and when both input and output are ASCII all trailing
portions of the input line are appended to the output line.
Input geographic data (longitude and latitude) must be in DMS format and input
Input geographic data (longitude and latitude) must be in DMS or decimal degrees format and input
cartesian data must be in units consistent with the ellipsoid major axis or
sphere radius units. Output geographic coordinates will be in DMS (if the
``-w`` switch is not employed) and precise to 0.001" with trailing, zero-valued
+27 -13
View File
@@ -20,8 +20,9 @@ Synopsis
| [[--area name_or_code] | [--bbox west_long,south_lat,east_long,north_lat]]
| [--spatial-test contains|intersects]
| [--crs-extent-use none|both|intersection|smallest]
| [--grid-check none|discard_missing|sort|known_available] [--show-superseded]
| [--grid-check none|discard_missing|sort|known_available]
| [--pivot-crs always|if_no_direct_transformation|never|{auth:code[,auth:code]*}]
| [--show-superseded] [--hide-ballpark]
| [--boundcrs-to-wgs84]
| [--main-db-path path] [--aux-db-path path]*
| [--identify] [--3d]
@@ -30,12 +31,15 @@ Synopsis
| {object_reference} | (-s {srs_def} -t {srs_def})
|
where {object_definition} or {srs_def} is
where {object_definition} or {srs_def} is one of the possibilities accepted
by :c:func:`proj_create`
- a proj-string,
- a WKT string,
- an object code (like "EPSG:4326", "urn:ogc:def:crs:EPSG::4326",
"urn:ogc:def:coordinateOperation:EPSG::1671"),
- an Object name. e.g "WGS 84", "WGS 84 / UTM zone 31N". In that case as
uniqueness is not guaranteed, heuristics are applied to determine the appropriate best match.
- a OGC URN combining references for compound coordinate reference systems
(e.g "urn:ogc:def:crs,crs:EPSG::2393,crs:EPSG::5717" or custom abbreviated
syntax "EPSG:2393+5717"),
@@ -45,7 +49,8 @@ Synopsis
(*added in 6.2*)
- a OGC URN combining references for concatenated operations
(e.g. "urn:ogc:def:coordinateOperation,coordinateOperation:EPSG::3895,coordinateOperation:EPSG::1618")
- a PROJJSON string. The jsonschema is at https://proj.org/schemas/v0.1/projjson.schema.json (*added in 6.2*)
- a PROJJSON string. The jsonschema is at https://proj.org/schemas/v0.2/projjson.schema.json (*added in 6.2*)
- a compound CRS made from two object names separated with " + ". e.g. "WGS 84 + EGM96 height" (*added in 7.1*)
{object_reference} is a filename preceded by the '@' character. The
file referenced by the {object_reference} must contain a valid
@@ -174,16 +179,6 @@ The following control parameters can appear in any order:
.. note:: only used for coordinate operation computation
.. option:: -show-superseded
When enabled, coordinate operations that are superseded by others will be
listed. Note that supersession is not equivalent to deprecation: superseded
operations are still considered valid although they have a better equivalent,
whereas deprecated operations have been determined to be erroneous and are
not considered at all.
.. note:: only used for coordinate operation computation
.. option:: --pivot-crs always|if_no_direct_transformation|never|{auth:code[,auth:code]*}
Determine if intermediate (pivot) CRS can be used when researching coordinate
@@ -198,6 +193,25 @@ The following control parameters can appear in any order:
.. note:: only used for coordinate operation computation
.. option:: --show-superseded
When enabled, coordinate operations that are superseded by others will be
listed. Note that supersession is not equivalent to deprecation: superseded
operations are still considered valid although they have a better equivalent,
whereas deprecated operations have been determined to be erroneous and are
not considered at all.
.. note:: only used for coordinate operation computation
.. option:: --hide-ballpark
.. versionadded:: 7.1
Hides any coordinate operation that is, or contains, a
:term:`Ballpark transformation`
.. note:: only used for coordinate operation computation
.. option:: --boundcrs-to-wgs84
When specified, this option researches a coordinate operation from the
+1 -1
View File
@@ -110,7 +110,7 @@ The following control parameters can appear in any order:
.. option:: --dry-run
Simulate the behaviour of the tool without downloading resource files.
Simulate the behavior of the tool without downloading resource files.
.. option:: --list-files
+23 -13
View File
@@ -51,14 +51,23 @@ Coding conventions
Programming language
^^^^^^^^^^^^^^^^^^^^
PROJ is developed strictly in ANSI C 89.
PROJ was originally developed in ANSI C. Today PROJ is mostly developed in C++11,
with a few parts of the code base still being C. Most of the older parts of the
code base is effectively C with a few modifications so that it compiles better as
C++.
Coding style
^^^^^^^^^^^^
We don't enforce any particular coding style, but please try to keep it
as simple as possible. If improving existing code, please try to conform
with the style of the locally surrounding code.
The parts of the code base that has started its life as C++ is formatted with
``clang-format`` using the sript ``scripts/reformat_cpp.sh``. This is mostly
contained to the code in `src/iso19111/` but a few other `.cpp`-files are
covered as well.
For the rest of the code base, which has its origin in C, we don't enforce any
particular coding style, but please try to keep it as simple as possible. If
improving existing code, please try to conform with the style of the locally
surrounding code.
Whitespace
^^^^^^^^^^
@@ -71,19 +80,20 @@ other changes. This makes it a lot easier to see the changes in diffs
when evaluating the changed code. New files should use spaces as
whitespace.
File names
^^^^^^^^^^
Files in which projections are implemented are prefixed with an
upper-case ``PJ_`` and most other files are prefixed with lower-case
``pj_``. Some file deviate from this pattern, most of them dates back to
the very early releases of PROJ. New contributions should follow the
pj-prefix pattern. Unless there are obvious reasons not to.
Tools
###############################################################################
Reformatting C++ code
~~~~~~~~~~~~~~~~~~~~~~~~
The script in ``scripts/reformat_cpp.sh`` will reformat C++ code in accordance
to the project preference.
If you are writing a new ``.cpp``-file it should be added to the list in the
reformatting script.
cppcheck static analyzer
~~~~~~~~~~~~~~~~~~~~~~~~
+1 -1
View File
@@ -405,7 +405,7 @@ be combined together.
- `alias_names`: list possible alias for the `name` field of object table
- `link_from_deprecated_to_non_deprecated`: to handle the link between old ESRI to new ESRI/EPSG codes
- Commmon:
- Common:
- `unit_of_measure`: table with UnitOfMeasure definitions.
- `area`: table with area-of-use (bounding boxes) applicable to CRS and coordinate operations.
+1 -1
View File
@@ -120,7 +120,7 @@ development, but it is allowed in case future development of PROJ warrants an
update. Changes in minimum version requirements are allowed to happen with
minor version releases of PROJ.
At the time of writing the minimum version requried for SQLite it 3.7 which was
At the time of writing the minimum version required for SQLite it 3.7 which was
released in 2010. CMake currently is required to be at least at version 2.8.3
which was also released in 2010.
+11 -11
View File
@@ -70,7 +70,7 @@ Summary of work planned by this RFC
implemented.
The use of grids locally available will of course still be available, and will
be the default behaviour.
be the default behavior.
Network access to grids
-------------------------------------------------------------------------------
@@ -103,7 +103,7 @@ environment variable.
The rationale for putting proj.ini in that location is
that it is a well-known place by PROJ users, with the existing PROJ_LIB mechanics
for systems like Windows where hardcoded paths at runtime aren't generaly usable.
for systems like Windows where hardcoded paths at runtime aren't generally usable.
C API
+++++
@@ -220,7 +220,7 @@ The preliminary C API for the above is:
To make network access efficient, PROJ will internally have a in-memory cache
of file ranges to only issue network requests by chunks of 16 KB or multiple of them,
to limit the number of HTTP GET requests and minimize latency caused by network
access. This is very similar to the behaviour of the GDAL
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.
@@ -492,10 +492,10 @@ Limitations of current formats
++++++++++++++++++++++++++++++
Several formats exist depending on the ad-hoc needs and ideas of the original
data producer. It would be apropriate to converge on a common format able to
data producer. It would be appropriate to converge on a common format able to
address the different use cases.
- Not tiled. Tiling is a nice to have propery for cloud-friendly access to
- Not tiled. Tiling is a nice to have property for cloud-friendly access to
large files.
- No support for compression
- The NTv2 structures is roughly: header of main grid, data of main grid,
@@ -511,13 +511,13 @@ Discussion on choice of format
We have been made recently aware of other initiatives from the industry to come
with a common format to store geodetic adjustment data. Some discussions have
happen recently within the OGC CRS Working group. Past efforts include the
Esri's proposed Geodetic data Grid eXchange Format, GGXF, briefly mentionned at
Esri's proposed Geodetic data Grid eXchange Format, GGXF, briefly mentioned at
page 86 of
https://iag.dgfi.tum.de/fileadmin/IAG-docs/Travaux2015/01_Travaux_Template_Comm_1_tvd.pdf
and page 66 of ftp://ftp.iaspei.org/pub/meetings/2010-2019/2015-Prague/IAG-Geodesy.pdf
The current trend of those works would be to use a netCDF / HDF5 container.
So, for the sake of completness, we list hereafter a few potential candidate
So, for the sake of completeness, we list hereafter a few potential candidate
formats and their pros and cons.
TIFF/GeoTIFF
@@ -538,7 +538,7 @@ Strong points:
geospatial field to store multi-resolution/pyramid rasters. So it can be
used with sub-grids as in the NTv2 format.
* Extensive experience with the TIFF format, and its appropriatness for network
* Extensive experience with the TIFF format, and its appropriateness for network
access, in particular through the `Cloud Optimized GeoTIFF initiative <https://www.cogeo.org/>`_
whose layout can make use of sub-grids efficient from a network access
perspective, because grid headers can be put at the beginning of the file, and
@@ -610,7 +610,7 @@ Weak points:
metadata <http://cfconventions.org/>`_
but there is nothing really handy in them for simple georeferencing with
the coordinate of the upper-left pixel and the resolution. The practice is
to write explict lon and lat variables with all values taken by the grid.
to write explicit lon and lat variables with all values taken by the grid.
GDAL has for many years supported a simpler syntax, using a GeoTransform
attribute.
@@ -652,7 +652,7 @@ Weak points:
is more complex than netCDF v3, and likely more than TIFF. We do not have
in-depth expertise of it to assess its cloud-friendliness.
* The ones mentionned for netCDF v3 regarding georeferencing and security apply.
* The ones mentioned for netCDF v3 regarding georeferencing and security apply.
GeoPackage
@@ -719,7 +719,7 @@ Build requirements
The minimum libtiff version will be 4.0 (RHEL 7 ships with libtiff 4.0.3).
To be able to read grids stored on the CDN, libtiff will need to build against
zlib to have DEFLATE and LZW suport, which is met by all known binary distributions
zlib to have DEFLATE and LZW support, which is met by all known binary distributions
of libtiff.
The libtiff dependency can be disabled at build time, but this must be
+2 -2
View File
@@ -86,7 +86,7 @@ Summary of work planned by this RFC and related decisions
- Obviously, all the above assumes PROJ builds to have libtiff enabled.
Non-libtiff builds are not considered as nominal PROJ builds (if a PROJ master
build is attempted and libtiff is not detected, it fails. The user has to
explictly ask to disable TIFF support), and users deciding to go through that
explicitly ask to disable TIFF support), and users deciding to go through that
route will have to deal with the consequences (that is that
grid-based transformations generated by PROJ will likely be non working)
@@ -96,7 +96,7 @@ Backward compatibility
This change is considered to be *mostly* backward compatible. There might be
impacts for software using :cpp:func:`proj_coordoperation_get_grid_used` and
assuming that the url returned is one of the proj-datumgrid-xxx files at
https://download.osgeo.org. As mentionned in
https://download.osgeo.org. As mentioned in
https://lists.osgeo.org/pipermail/proj/2020-January/009274.html , this
assumption was not completely bullet-proof either.
There will be impacts on software checking the value of PROJ pipeline strings
+35 -17
View File
@@ -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
@@ -42,6 +41,9 @@ extensions = [
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
# BibTeX configuration
bibtex_bibfiles = ['references.bib']
# The suffix(es) of source filenames.
# You can specify multiple suffix as a list of string:
# source_suffix = ['.rst', '.md']
@@ -61,28 +63,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-2020'
# 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 = '7.1.0'
# use same |release| as |version|
release = version
version = '7.1'
release = '7.1.1'
data_version = '1.2'
# 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 = 'September 2020'
# Else, today_fmt is used as the format for a strftime call.
#today_fmt = '%B %d, %Y'
@@ -120,6 +119,22 @@ highlight_language = 'none'
# If true, `todo` and `todoList` produce output, else they produce nothing.
todo_include_todos = False
# Replacement macros for use in code-blocks etc. With inspiration from
# https://github.com/sphinx-doc/sphinx/issues/4054#issuecomment-329097229
def replace_words(app, docname, source):
result = source[0]
for key in app.config.replacements:
result = result.replace(key, app.config.replacements[key])
source[0] = result
replacements = {
"{PROJVERSION}" : "{version_number}".format(version_number=version),
"{PROJDATAVERSION}" : "{data_version_number}".format(data_version_number=data_version),
}
def setup(app):
app.add_config_value('replacements', {}, True)
app.connect('source-read', replace_words)
# -- Options for HTML output ----------------------------------------------
@@ -163,23 +178,23 @@ html_logo = '../images/logo.png'
# The name of an image file (within the static path) to use as favicon of the
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
# pixels large.
#html_favicon = None
html_favicon = '../images/favicon.png'
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# 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.0/docs/source/',
'css_files': [
'_static/theme_overrides.css', # override wide tables in RTD theme
],
'github_version': '/7.1/docs/source/',
}
# Add any extra paths that contain custom files (such as robots.txt or
@@ -252,6 +267,8 @@ preamble = r"""
\ifdefined\DeclareUnicodeCharacter
\DeclareUnicodeCharacter{2032}{$'$}% prime
\fi
\usepackage[notbib]{tocbibind}
"""
latex_elements = {
@@ -263,7 +280,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',
@@ -3,5 +3,5 @@
General documentation
---------------------
.. doxygenfile:: general_doc.dox.reworked.h
.. doxygenpage:: general_doc
:project: doxygen_api
+70 -12
View File
@@ -37,15 +37,15 @@ Transformation objects
PJ_INV = -1 /* Inverse */
} PJ_DIRECTION;
.. c:member:: PJ_FWD
.. cpp:enumerator:: PJ_FWD
Perform transformation in the forward direction.
.. c:member:: PJ_IDENT
.. cpp:enumerator:: PJ_IDENT
Identity. Do nothing.
.. c:member:: PJ_INV
.. cpp:enumerator:: PJ_INV
Perform transformation in the inverse direction.
@@ -314,6 +314,48 @@ Ancillary types for geodetic computations
Third rotation angle, kappa.
.. c:type:: PJ_ENU
East, north and up components.
.. code-block:: c
typedef struct { double e, n, u; } PJ_ENU;
.. c:member:: double PJ_ENU.e
East component.
.. c:member:: double PJ_ENU.n
North component.
.. c:member:: double PJ_ENU.u
Up component.
.. c:type:: PJ_GEOD
Geodesic length, forward and reverse azimuths.
.. code-block:: C
typedef struct { double s, a1, a2; } PJ_GEOD;
.. c:member:: double PJ_GEOD.s
Geodesic length.
.. c:member:: double PJ_GEOD.a1
Forward azimuth.
.. c:member:: double PJ_GEOD.a2
Reverse azimuth.
Complex coordinate types
--------------------------------------------------------------------------------
@@ -331,6 +373,9 @@ Complex coordinate types
PJ_XYZT xyzt;
PJ_UVWT uvwt;
PJ_LPZT lpzt;
PJ_GEOD geod;
PJ_OPK opk;
PJ_ENU enu;
PJ_XYZ xyz;
PJ_UVW uvw;
PJ_LPZ lpz;
@@ -355,6 +400,18 @@ Complex coordinate types
Longitude, latitude, vertical and time components.
.. c:member:: PJ_GEOD PJ_COORD.geod
Geodesic length, forward and reverse azimuths.
.. c:member:: PJ_OPK PJ_COORD.opk
Rotations, for instance three euler angles.
.. c:member:: PJ_ENU PJ_COORD.enu
East, north and up components.
.. c:member:: PJ_XYZ PJ_COORD.xyz
3-dimensional cartesian coordinate.
@@ -486,7 +543,7 @@ List structures
Operation entry point.
.. c:member:: char * const *
.. c:member:: char * const * descr
Description of operation.
@@ -755,24 +812,24 @@ Logging
Enum of logging levels in PROJ. Used to set the logging level in PROJ.
Usually using :c:func:`proj_log_level`.
.. c:member:: PJ_LOG_NONE
.. cpp:enumerator:: PJ_LOG_NONE
Don't log anything.
.. c:member:: PJ_LOG_ERROR
.. cpp:enumerator:: PJ_LOG_ERROR
Log only errors.
.. c:member:: PJ_LOG_DEBUG
.. cpp:enumerator:: PJ_LOG_DEBUG
Log errors and additional debug information.
.. c:member:: PJ_LOG_TRACE
.. cpp:enumerator:: PJ_LOG_TRACE
Highest logging level. Log everything including very detailed debug
information.
.. c:member:: PJ_LOG_TELL
.. cpp:enumerator:: PJ_LOG_TELL
Special logging level that when used in :c:func:`proj_log_level`
will return the current logging level set in PROJ.
@@ -788,9 +845,9 @@ Logging
typedef void (*PJ_LOG_FUNCTION)(void *, int, const char *);
where the :c:type:`void` pointer references a data structure used by the
calling application, the :c:type:`int` is used to set the logging level
and the :c:type:`const char` pointer is the string that will be logged
where the first argument (void pointer) references a data structure used by the
calling application, the second argument (int type) is used to set the logging level
and the third argument (const char pointer) is the string that will be logged
by the function.
@@ -840,5 +897,6 @@ C API for ISO-19111 functionality
.. doxygengroup:: iso19111_types
:project: doxygen_api
:content-only:
:members:
+196 -122
View File
@@ -11,13 +11,15 @@ Threading contexts
Create a new threading-context.
:returns: :c:type:`PJ_CONTEXT*`
:returns: a new context
.. c:function:: void proj_context_destroy(PJ_CONTEXT *ctx)
Deallocate a threading-context.
:param PJ_CONTEXT* ctx: Threading context.
:param ctx: Threading context.
:type ctx: :c:type:`PJ_CONTEXT` *
Transformation setup
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
@@ -35,11 +37,15 @@ paragraph for more details.
- a WKT string,
- an object code (like "EPSG:4326", "urn:ogc:def:crs:EPSG::4326",
"urn:ogc:def:coordinateOperation:EPSG::1671"),
- an Object name. e.g "WGS 84", "WGS 84 / UTM zone 31N". In that case as
uniqueness is not guaranteed, heuristics are applied to determine the appropriate best match.
- a OGC URN combining references for compound coordinate reference systems
(e.g "urn:ogc:def:crs,crs:EPSG::2393,crs:EPSG::5717" or custom abbreviated
syntax "EPSG:2393+5717"),
- a OGC URN combining references for concatenated operations
(e.g. "urn:ogc:def:coordinateOperation,coordinateOperation:EPSG::3895,coordinateOperation:EPSG::1618")
- a PROJJSON string. The jsonschema is at https://proj.org/schemas/v0.2/projjson.schema.json (*added in 6.2*)
- a compound CRS made from two object names separated with " + ". e.g. "WGS 84 + EGM96 height" (*added in 7.1*)
Example call:
@@ -63,9 +69,10 @@ paragraph for more details.
The returned :c:type:`PJ`-pointer should be deallocated with :c:func:`proj_destroy`.
:param PJ_CONTEXT* ctx: Threading context.
:param `definition`: Proj-string of the desired transformation.
:type `definition`: const char*
:param ctx: Threading context.
:type ctx: :c:type:`PJ_CONTEXT` *
:param definition: Proj-string of the desired transformation.
:type definition: `const char*`
.. c:function:: PJ* proj_create_argv(PJ_CONTEXT *ctx, int argc, char **argv)
@@ -93,10 +100,13 @@ paragraph for more details.
The returned :c:type:`PJ`-pointer should be deallocated with :c:func:`proj_destroy`.
:param PJ_CONTEXT* ctx: Threading context
:param int argc: Count of arguments in :c:data:`argv`
:param char** argv: Vector of strings with proj-string parameters, e.g. ``+proj=merc``
:returns: :c:type:`PJ*`
:param ctx: Threading context.
:type ctx: :c:type:`PJ_CONTEXT` *
:param argc: Count of arguments in :c:data:`argv`
:type argc: `int`
:param argv: Array of strings with proj-string parameters, e.g. ``+proj=merc``
:type argv: `char **`
:returns: :c:type:`PJ` *
.. c:function:: PJ* proj_create_crs_to_crs(PJ_CONTEXT *ctx, const char *source_crs, const char *target_crs, PJ_AREA *area)
@@ -144,14 +154,15 @@ paragraph for more details.
The returned :c:type:`PJ`-pointer should be deallocated with :c:func:`proj_destroy`.
:param PJ_CONTEXT* ctx: Threading context.
:param ctx: Threading context.
:type ctx: :c:type:`PJ_CONTEXT` *
:param `source_crs`: Source CRS.
:type `source_crs`: const char*
:type `source_crs`: `const char*`
:param `target_crs`: Destination SRS.
:type `target_crs`: const char*
:type `target_crs`: `const char*`
:param `area`: Descriptor of the desired area for the transformation.
:type `area`: PJ_AREA
:returns: :c:type:`PJ*`
:type `area`: :c:type:`PJ_AREA` *
:returns: :c:type:`PJ` *
.. c:function:: PJ* proj_create_crs_to_crs_from_pj(PJ_CONTEXT *ctx, PJ *source_crs, PJ *target_crs, PJ_AREA *area, const char* const *options)
@@ -165,31 +176,16 @@ paragraph for more details.
:param `options`: should be set to NULL currently.
.. c:function:: PJ *proj_normalize_for_visualization(PJ_CONTEXT *ctx, const PJ* obj)
.. versionadded:: 6.1.0
Returns a PJ* object whose axis order is the one expected for
visualization purposes.
The input object must be a coordinate operation, that has been created with
proj_create_crs_to_crs().
If the axis order of its source or target CRS is northing,easting, then an
axis swap operation will be inserted.
The returned :c:type:`PJ`-pointer should be deallocated with :c:func:`proj_destroy`.
:param PJ_CONTEXT* ctx: Threading context.
:param `obj`: Object of type CoordinateOperation
:returns: :c:type:`PJ*`
.. doxygenfunction:: proj_normalize_for_visualization
:project: doxygen_api
.. c:function:: PJ* proj_destroy(PJ *P)
Deallocate a :c:type:`PJ` transformation object.
:param PJ* P:
:returns: :c:type:`PJ*`
:param `P`: Transformation object
:type `P`: const :c:type:`PJ` *
:returns: :c:type:`PJ` *
Area of interest
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
@@ -204,7 +200,7 @@ Area of interest
Such an area of use is to be passed to :c:func:`proj_create_crs_to_crs` to
specify the area of use for the choice of relevant coordinate operations.
:returns: :c:type:`PJ_AREA*` to be deallocated with :c:func:`proj_area_destroy`
:returns: :c:type:`PJ_AREA` * to be deallocated with :c:func:`proj_area_destroy`
.. c:function:: void proj_area_set_bbox(PJ_AREA *area, double west_lon_degree, double south_lat_degree, double east_lon_degree, double north_lat_degree)
@@ -240,16 +236,19 @@ Coordinate transformation
Transform a single :c:type:`PJ_COORD` coordinate.
:param PJ* P:
:param P: Transformation object
:type P: :c:type:`PJ` *
:param `direction`: Transformation direction.
:type `direction`: PJ_DIRECTION
:param PJ_COORD coord: Coordinate that will be transformed.
:param coord: Coordinate that will be transformed.
:type coord: :c:type:`PJ_COORD`
:returns: :c:type:`PJ_COORD`
.. c:function:: size_t proj_trans_generic(PJ *P, PJ_DIRECTION direction, \
double *x, size_t sx, size_t nx, double *y, \
size_t sy, size_t ny, double *z, size_t sz, size_t nz, \
double *x, size_t sx, size_t nx, \
double *y, size_t sy, size_t ny, \
double *z, size_t sz, size_t nz, \
double *t, size_t st, size_t nt)
Transform a series of coordinates, where the individual coordinate dimension
@@ -263,7 +262,7 @@ Coordinate transformation
.. note:: Even though he coordinate components are named :c:data:`x`, :c:data:`y`,
:c:data:`z` and :c:data:`t`, axis ordering of the to and from CRS
is respected. Transformations exhibit the same behaviour
is respected. Transformations exhibit the same behavior
as if they were gathered in a :c:type:`PJ_COORD` struct.
@@ -289,11 +288,11 @@ Coordinate transformation
...
proj_trans_generic (
P, PJ_INV, sizeof(XYQS),
P, PJ_INV,
&(survey[0].x), stride, 345, /* We have 345 eastings */
&(survey[0].y), stride, 345, /* ...and 345 northings. */
&height, 1, /* The height is the constant 23.45 m */
0, 0 /* and the time is the constant 0.00 s */
&height, sizeof(double), 1, /* The height is the constant 23.45 m */
0, 0, 0 /* and the time is the constant 0.00 s */
);
This is similar to the inner workings of the deprecated :c:func:`pj_transform`
@@ -313,21 +312,34 @@ Coordinate transformation
will return from the call in altered state. Hence, remember to
reinitialize between repeated calls.
:param PJ* P: Transformation object
:param `direction`: Transformation direction
:type `PJ_DIRECTION`:
:param double* x: Array of x-coordinates
:param double* y: Array of y-coordinates
:param double* z: Array of z-coordinates
:param double* t: Array of t-coordinates
:param size_t sx: Step length, in bytes, between consecutive elements of the corresponding array
:param size_t nx: Number of elements in the corresponding array
:param size_t sy: Step length, in bytes, between consecutive elements of the corresponding array
:param size_t nv: Number of elements in the corresponding array
:param size_t sz: Step length, in bytes, between consecutive elements of the corresponding array
:param size_t nz: Number of elements in the corresponding array
:param size_t st: Step length, in bytes, between consecutive elements of the corresponding array
:param size_t nt: Number of elements in the corresponding array
:param P: Transformation object
:type P: :c:type:`PJ` *
:param direction: Transformation direction.
:type direction: PJ_DIRECTION
:param x: Array of x-coordinates
:type x: `double *`
:param sx: Step length, in bytes, between consecutive elements of the corresponding array
:type sx: `size_t`
:param nx: Number of elements in the corresponding array
:type nx: `size_t`
:param y: Array of y-coordinates
:type y: `double *`
:param sy: Step length, in bytes, between consecutive elements of the corresponding array
:type sy: `size_t`
:param ny: Number of elements in the corresponding array
:type ny: `size_t`
:param z: Array of z-coordinates
:type z: `double *`
:param sz: Step length, in bytes, between consecutive elements of the corresponding array
:type sz: `size_t`
:param nz: Number of elements in the corresponding array
:type nz: `size_t`
:param t: Array of t-coordinates
:type t: `double *`
:param st: Step length, in bytes, between consecutive elements of the corresponding array
:type st: `size_t`
:param nt: Number of elements in the corresponding array
:type nt: `size_t`
:returns: Number of transformations successfully completed
@@ -336,10 +348,12 @@ Coordinate transformation
Batch transform an array of :c:type:`PJ_COORD`.
:param PJ* P:
:param `direction`: Transformation direction
:param P: Transformation object
:type P: :c:type:`PJ` *
:param `direction`: Transformation direction.
:type `direction`: PJ_DIRECTION
:param size_t n: Number of coordinates in :c:data:`coord`
:param n: Number of coordinates in :c:data:`coord`
:type n: `size_t`
:returns: :c:type:`size_t` 0 if all observations are transformed without error, otherwise returns error number
@@ -354,9 +368,10 @@ Error reporting
context is read. A text representation of the error number can be retrieved
with :c:func:`proj_errno_string`.
:param: PJ* P: Transformation object.
:param P: Transformation object
:type P: :c:type:`PJ` *
:returns: :c:type:`int`
:returns: `int`
.. c:function:: int proj_context_errno(PJ_CONTEXT *ctx)
@@ -365,16 +380,19 @@ Error reporting
transformation. A text representation of the error number can be retrieved
with :c:func:`proj_errno_string`.
:param: PJ_CONTEXT* ctx: threading context.
:param ctx: threading context.
:type ctx: :c:type:`PJ_CONTEXT` *
:returns: :c:type:`int`
:returns: `int`
.. c:function:: void proj_errno_set(PJ *P, int err)
Change the error-state of :c:data:`P` to `err`.
Change the error-state of :c:data:`P` to `err`.
:param PJ* P: Transformation object.
:param int err: Error number.
:param P: Transformation object
:type P: :c:type:`PJ` *
:param err: Error number.
:type err: `int`
.. c:function:: int proj_errno_reset(PJ *P)
@@ -397,9 +415,10 @@ Change the error-state of :c:data:`P` to `err`.
return;
}
:param: PJ* P: Transformation object.
:param P: Transformation object
:type P: :c:type:`PJ` *
:returns: :c:type:`int` Returns the previous value of the errno, for convenient reset/restore operations.
:returns: `int` Returns the previous value of the errno, for convenient reset/restore operations.
.. c:function:: void proj_errno_restore(PJ *P, int err)
@@ -414,8 +433,10 @@ Change the error-state of :c:data:`P` to `err`.
See usage example under :c:func:`proj_errno_reset`
:param PJ* P: Transformation object.
:param int err: Error code.
:param P: Transformation object
:type P: :c:type:`PJ` *
:param err: Error number.
:type err: `int`
.. c:function:: const char* proj_errno_string(int err)
@@ -423,9 +444,10 @@ Change the error-state of :c:data:`P` to `err`.
Get a text representation of an error number.
:param int err: Error number.
:param err: Error number.
:type err: `int`
:returns: :c:type:`const char*` String with description of error.
:returns: `const char*` String with description of error.
Logging
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
@@ -437,8 +459,10 @@ Logging
:c:data:`level` set to :c:type:`PJ_LOG_TELL` the function returns the current
logging level without changing it.
:param PJ_CONTEXT* ctx: Threading context.
:param PJ_LOG_LEVEL level: New logging level.
:param ctx: Threading context.
:type ctx: :c:type:`PJ_CONTEXT` *
:param level: New logging level.
:type level: PJ_LOG_LEVEL
:returns: :c:type:`PJ_LOG_LEVEL`
@@ -448,9 +472,12 @@ Logging
Override the internal log function of PROJ.
:param PJ_CONTEXT* ctx: Threading context.
:param void* app_data: Pointer to data structure used by the calling application.
:param PJ_LOG_FUNCTION logf: Log function that overrides the PROJ log function.
:param ctx: Threading context.
:type ctx: :c:type:`PJ_CONTEXT` *
:param app_data: Pointer to data structure used by the calling application.
:type app_data: `void *`
:param logf: Log function that overrides the PROJ log function.
:type logf: :c:type:`PJ_LOG_FUNCTION`
.. versionadded:: 5.1.0
@@ -467,8 +494,8 @@ Info functions
Get information about a specific transformation object, :c:data:`P`.
:param `P`: Transformation object
:type `P`: const PJ*
:param P: Transformation object
:type P: const :c:type:`PJ` *
:returns: :c:type:`PJ_PROJ_INFO`
.. c:function:: PJ_GRID_INFO proj_grid_info(const char *gridname)
@@ -476,7 +503,7 @@ Info functions
Get information about a specific grid.
:param `gridname`: Gridname in the PROJ searchpath
:type `gridname`: const char*
:type `gridname`: `const char*`
:returns: :c:type:`PJ_GRID_INFO`
.. c:function:: PJ_INIT_INFO proj_init_info(const char *initname)
@@ -484,7 +511,7 @@ Info functions
Get information about a specific init file.
:param `initname`: Init file in the PROJ searchpath
:type `initname`: const char*
:type `initname`: `const char*`
:returns: :c:type:`PJ_INIT_INFO`
Lists
@@ -505,7 +532,7 @@ Lists
printf("%s\n", ops->id);
:returns: :c:type:`PJ_OPERATIONS*`
:returns: const :c:type:`PJ_OPERATIONS` *
.. c:function:: const PJ_ELLPS* proj_list_ellps(void)
@@ -513,7 +540,7 @@ Lists
of the returned array is a NULL-entry. The array is statically allocated
and does not need to be freed after use.
:returns: :c:type:`PJ_ELLPS*`
:returns: const :c:type:`PJ_ELLPS` *
.. c:function:: const PJ_UNITS* proj_list_units(void)
@@ -521,7 +548,10 @@ Lists
entry of the returned array is a NULL-entry. The array is statically
allocated and does not need to be freed after use.
:returns: :c:type:`PJ_UNITS*`
Note: starting with PROJ 7.1, this function is deprecated by
:cpp:func:`proj_get_units_from_database`
:returns: const :c:type:`PJ_UNITS` *
.. c:function:: const PJ_PRIME_MERIDIANS* proj_list_prime_meridians(void)
@@ -529,7 +559,7 @@ Lists
entry of the returned array is a NULL-entry. The array is statically
allocated and does not need to be freed after use.
:returns: :c:type:`PJ_PRIME_MERIDIANS*`
:returns: const :c:type:`PJ_PRIME_MERIDIANS` *
Distances
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
@@ -539,10 +569,11 @@ Distances
Calculate geodesic distance between two points in geodetic coordinates. The
calculated distance is between the two points located on the ellipsoid.
:param PJ* P: Transformation object
:param P: Transformation object
:type P: const :c:type:`PJ` *
:param PJ_COORD a: Coordinate of first point
:param PJ_COORD b: Coordinate of second point
:returns: :c:type:`double` Distance between :c:data:`a` and :c:data:`b` in meters.
:returns: `double` Distance between :c:data:`a` and :c:data:`b` in meters.
.. c:function:: double proj_lpz_dist(const PJ *P, PJ_COORD a, PJ_COORD b)
@@ -550,10 +581,11 @@ Distances
Similar to :c:func:`proj_lp_dist` but also takes the height above the ellipsoid
into account.
:param PJ* P: Transformation object
:param P: Transformation object
:type P: const :c:type:`PJ` *
:param PJ_COORD a: Coordinate of first point
:param PJ_COORD b: Coordinate of second point
:returns: :c:type:`double` Distance between :c:data:`a` and :c:data:`b` in meters.
:returns: `double` Distance between :c:data:`a` and :c:data:`b` in meters.
.. c:function:: double proj_xy_dist(PJ_COORD a, PJ_COORD b)
@@ -561,7 +593,7 @@ Distances
:param PJ_COORD a: First coordinate
:param PJ_COORD b: Second coordinate
:returns: :c:type:`double` Distance between :c:data:`a` and :c:data:`b` in meters.
:returns: `double` Distance between :c:data:`a` and :c:data:`b` in meters.
.. c:function:: double proj_xyz_dist(PJ_COORD a, PJ_COORD b)
@@ -569,7 +601,7 @@ Distances
:param PJ_COORD a: First coordinate
:param PJ_COORD b: Second coordinate
:returns: :c:type:`double` Distance between :c:data:`a` and :c:data:`b` in meters.
:returns: `double` Distance between :c:data:`a` and :c:data:`b` in meters.
Various
@@ -601,10 +633,14 @@ Various
:c:type:`PJ_UVWT` or :c:type:`PJ_LPZT`.
:param double x: 1st component in a :c:type:`PJ_COORD`
:param double y: 2nd component in a :c:type:`PJ_COORD`
:param double z: 3rd component in a :c:type:`PJ_COORD`
:param double t: 4th component in a :c:type:`PJ_COORD`
:param x: 1st component in a :c:type:`PJ_COORD`
:type x: `double`
:param y: 2nd component in a :c:type:`PJ_COORD`
:type y: `double`
:param z: 3rd component in a :c:type:`PJ_COORD`
:type z: `double`
:param t: 4th component in a :c:type:`PJ_COORD`
:type t: `double`
:returns: :c:type:`PJ_COORD`
@@ -616,13 +652,15 @@ Various
distance of the starting point :c:data:`coo` and the resulting
coordinate after :c:data:`n` iterations back and forth.
:param PJ* P:
:type `P`: const PJ*
:param P: Transformation object
:type P: :c:type:`PJ` *
:param `direction`: Starting direction of transformation
:type `direction`: PJ_DIRECTION
:param int n: Number of roundtrip transformations
:param PJ_COORD coord: Input coordinate
:returns: :c:type:`double` Distance between original coordinate and the \
:param n: Number of roundtrip transformations
:type n: `int`
:param coord: Input coordinate
:type coord: :c:type:`PJ_COORD` *
:returns: `double` Distance between original coordinate and the \
resulting coordinate after :c:data:`n` transformation iterations.
.. c:function:: PJ_FACTORS proj_factors(PJ *P, PJ_COORD lp)
@@ -634,25 +672,27 @@ Various
The function also calculates the partial derivatives of the given
coordinate.
:param `P`: Transformation object
:type `P`: const PJ*
:param P: Transformation object
:type P: :c:type:`PJ` *
:param `lp`: Geodetic coordinate
:type `lp`: const PJ_COORD
:type `lp`: :c:type:`PJ_COORD`
:returns: :c:type:`PJ_FACTORS`
.. c:function:: double proj_torad(double angle_in_degrees)
Convert degrees to radians.
:param double angle_in_degrees: Degrees
:returns: :c:type:`double` Radians
:param angle_in_degrees: Degrees
:type angle_in_degrees: `double`
:returns: `double` Radians
.. c:function:: double proj_todeg(double angle_in_radians)
Convert radians to degrees
:param double angle_in_radians: Radians
:returns: :c:type:`double` Degrees
:param angle_in_radians: Radians
:type angle_in_radians: `double`
:returns: `double` Degrees
.. c:function:: double proj_dmstor(const char *is, char **rs)
@@ -660,7 +700,7 @@ Various
Works similarly to the C standard library function :c:func:`strtod`.
:param `is`: Value to be converted to radians
:type `is`: const char*
:type `is`: `const char*`
:param `rs`: Reference to an already allocated char*, whose value is \
set by the function to the next character in :c:data:`is` \
after the numerical value.
@@ -669,32 +709,60 @@ Various
Convert radians to string representation of degrees, minutes and seconds.
:param char* s: Buffer that holds the output string
:param double r: Value to convert to dms-representation
:param int pos: Character denoting positive direction, typically `'N'` or `'E'`.
:param int neg: Character denoting negative direction, typically `'S'` or `'W'`.
:returns: :c:type:`char*` Pointer to output buffer (same as :c:data:`s`)
:param s: Buffer that holds the output string
:type s: `char *`
:param r: Value to convert to dms-representation
:type r: `double`
:param pos: Character denoting positive direction, typically `'N'` or `'E'`.
:type pos: `int`
:param neg: Character denoting negative direction, typically `'S'` or `'W'`.
:type neg: `int`
:returns: `char*` Pointer to output buffer (same as :c:data:`s`)
.. c:function:: int proj_angular_input (PJ *P, enum PJ_DIRECTION dir)
Check if a operation expects input in radians or not.
Check if an operation expects input in radians or not.
:param `P`: Transformation object
:type `P`: const PJ*
:param P: Transformation object
:type P: :c:type:`PJ` *
:param `direction`: Starting direction of transformation
:type `direction`: PJ_DIRECTION
:returns: :c:type:`int` 1 if input units is expected in radians, otherwise 0
:returns: `int` 1 if input units is expected in radians, otherwise 0
.. c:function:: int proj_angular_output (PJ *P, enum PJ_DIRECTION dir)
Check if an operation returns output in radians or not.
:param `P`: Transformation object
:type `P`: const PJ*
:param P: Transformation object
:type P: :c:type:`PJ` *
:param `direction`: Starting direction of transformation
:type `direction`: PJ_DIRECTION
:returns: :c:type:`int` 1 if output units is expected in radians, otherwise 0
:returns: `int` 1 if output units is expected in radians, otherwise 0
.. c:function:: int proj_degree_input (PJ *P, enum PJ_DIRECTION dir)
.. versionadded:: 7.1.0
Check if an operation expects input in degrees or not.
:param P: Transformation object
:type P: :c:type:`PJ` *
:param `direction`: Starting direction of transformation
:type `direction`: PJ_DIRECTION
:returns: `int` 1 if input units is expected in degrees, otherwise 0
.. c:function:: int proj_degree_output (PJ *P, enum PJ_DIRECTION dir)
.. versionadded:: 7.1.0
Check if an operation returns output in degrees or not.
:param P: Transformation object
:type P: :c:type:`PJ` *
:param `direction`: Starting direction of transformation
:type `direction`: PJ_DIRECTION
:returns: `int` 1 if output units is expected in degrees, otherwise 0
Setting custom I/O functions
@@ -726,6 +794,12 @@ Network related functionality
.. doxygenfunction:: proj_context_set_url_endpoint
:project: doxygen_api
.. doxygenfunction:: proj_context_get_url_endpoint
:project: doxygen_api
.. doxygenfunction:: proj_context_get_user_writable_directory
:project: doxygen_api
.. doxygenfunction:: proj_grid_cache_set_enable
:project: doxygen_api
+19 -7
View File
@@ -13,19 +13,22 @@ distribution of the source code and various resource file archives. See
Current Release
--------------------------------------------------------------------------------
* **2020-03-01** `proj-7.0.0.tar.gz`_ (`md5`_)
* **2020-03-01** `proj-data-1.0.0.tar.gz`_
* **2020-09-01** `proj-7.1.1.tar.gz`_ (`md5`_)
* **2020-07-01** `proj-7.1.0.tar.gz`_
* **2020-05-01** `proj-6.3.2.tar.gz`_
* **2020-09-01** `proj-data-1.2.tar.gz`_
* **2020-05-01** `proj-data-1.1.tar.gz`_
* **2020-03-01** `proj-data-1.0.tar.gz`_
* **2018-09-15** `proj-datumgrid-1.8.zip`_
* **2020-03-01** `proj-datumgrid-europe-1.6.zip`_
* **2020-03-01** `proj-datumgrid-north-america-1.4.zip`_
* **2020-03-01** `proj-datumgrid-oceania-1.2.zip`_
* **2019-03-01** `proj-datumgrid-world-1.0.zip`_
* **PDF Manual** `proj.pdf`_
.. note::
The proj-datumgrid packages have been deprecated with PROJ 7.0.0.
The proj-data package should be used with PROJ 7.0.0
The proj-data package should be used with PROJ 7.0.0 and newer
The proj-datumgrid packages should be used with PROJ releases from the 5.x
and 6.x branches.
@@ -33,6 +36,8 @@ Current Release
Past Releases
--------------------------------------------------------------------------------
* **2020-05-01** `proj-7.0.1.tar.gz`_
* **2020-03-01** `proj-7.0.0.tar.gz`_
* **2020-02-11** `proj-6.3.1.tar.gz`_
* **2020-01-01** `proj-6.3.0.tar.gz`_
* **2019-11-01** `proj-6.2.1.tar.gz`_
@@ -48,6 +53,8 @@ Past Releases
* **2015-09-13** `proj-4.9.2.tar.gz`_
* **2015-03-04** `proj-4.9.1.tar.gz`_
* **2020-03-01** `proj-data-1.0.tar.gz`_
* **2018-03-01** `proj-datumgrid-1.7.zip`_
* **2016-09-11** `proj-datumgrid-1.6.zip`_
* **2019-09-01** `proj-datumgrid-europe-1.5.zip`_
@@ -63,8 +70,12 @@ Past Releases
* **2018-03-01** `proj-datumgrid-oceania-1.1.zip`_
* **2018-03-01** `proj-datumgrid-oceania-1.0.zip`_
.. _`proj-7.1.1.tar.gz`: https://download.osgeo.org/proj/proj-7.1.1.tar.gz
.. _`md5`: https://download.osgeo.org/proj/proj-7.1.1.tar.gz.md5
.. _`proj-7.1.0.tar.gz`: https://download.osgeo.org/proj/proj-7.1.0.tar.gz
.. _`proj-7.0.1.tar.gz`: https://download.osgeo.org/proj/proj-7.0.1.tar.gz
.. _`proj-7.0.0.tar.gz`: https://download.osgeo.org/proj/proj-7.0.0.tar.gz
.. _`md5`: https://download.osgeo.org/proj/proj-7.0.0.tar.gz.md5
.. _`proj-6.3.2.tar.gz`: https://download.osgeo.org/proj/proj-6.3.2.tar.gz
.. _`proj-6.3.1.tar.gz`: https://download.osgeo.org/proj/proj-6.3.1.tar.gz
.. _`proj-6.3.0.tar.gz`: https://download.osgeo.org/proj/proj-6.3.0.tar.gz
.. _`proj-6.2.1.tar.gz`: https://download.osgeo.org/proj/proj-6.2.1.tar.gz
@@ -79,7 +90,9 @@ Past Releases
.. _`proj-4.9.1.tar.gz`: https://download.osgeo.org/proj/proj-4.9.1.tar.gz
.. _`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.0.0.tar.gz`: https://download.osgeo.org/proj/proj-data-1.0.0.tar.gz
.. _`proj-data-1.2.tar.gz`: https://download.osgeo.org/proj/proj-data-1.2.tar.gz
.. _`proj-data-1.1.tar.gz`: https://download.osgeo.org/proj/proj-data-1.1.tar.gz
.. _`proj-data-1.0.tar.gz`: https://download.osgeo.org/proj/proj-data-1.0.tar.gz
.. _`proj-datumgrid-1.6.zip`: https://download.osgeo.org/proj/proj-datumgrid-1.6.zip
.. _`proj-datumgrid-1.7.zip`: https://download.osgeo.org/proj/proj-datumgrid-1.7.zip
.. _`proj-datumgrid-1.8.zip`: https://download.osgeo.org/proj/proj-datumgrid-1.8.zip
@@ -99,4 +112,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
+2 -2
View File
@@ -173,7 +173,7 @@ Note that if you're using conda, activating an environment sets
:envvar:`PROJ_LIB` to a resource directory located in that environment.
What happend to PROJ.4?
What happened to PROJ.4?
--------------------------------------------------------------------------------
The first incarnation of PROJ saw the light of day in 1983. Back then it
@@ -188,6 +188,6 @@ was no longer aligned with the version number. As a consequence, it was
decided to decouple the name from the version number and once again simply
call the software PROJ.
Use of name PROJ.4 is now strictly reserved for describing legacy behaviour
Use of name PROJ.4 is now strictly reserved for describing legacy behavior
of the software, e.g. "PROJ.4 strings" as seen in :program:`projinfo`
output.
+19
View File
@@ -6,6 +6,25 @@ Glossary
.. glossary::
Ballpark transformation
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
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.
For a transformation between two vertical CRS or a vertical CRS and
a geographic CRS, a ballpark transformation only takes into account
potential different in units (e.g. metres vs feet). Its accuracy is
unknown, and could lead in some cases to errors of a few tens of metres.
.. note::
The term "Ballpark transformation" is specific to PROJ.
Pseudocylindrical Projection
Pseudocylindrical projections have the mathematical characteristics of
-5
View File
@@ -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
+237 -28
View File
@@ -26,13 +26,14 @@ from the ``conda-forge`` channel::
conda install -c conda-forge proj
Using ``conda`` you can also install the PROJ grid packages. Here's how to install
the `proj-datumgrid-europe` package::
Using ``conda`` you can also install the PROJ data package. Here's how to install
the `proj-data` package::
conda install -c conda-forge proj-datumgrid-europe
conda install -c conda-forge proj-data
Available is also the ``proj-datumgrid-north-america``, ``proj-datumgrid-oceania``
and ``proj-datumgrid-world``.
Available is also the legacy packages ``proj-datumgrid-europe``,
``proj-datumgrid-north-america``, ``proj-datumgrid-oceania`` and
``proj-datumgrid-world``.
.. tip::
Read more about the various datumgrid packages available :ref:`here<datumgrid>`.
@@ -129,9 +130,6 @@ Compilation and installation from source code
The classic way of installing PROJ is via the source code distribution. The
most recent version is available from the :ref:`download page<current_release>`.
You will need that and at least the standard *proj-datumgrid* package for a
successful installation.
The following guides show how to compile and install the software using the
Autotools and CMake build systems.
@@ -157,7 +155,7 @@ FSF's configuration procedure is used to ease installation of the PROJ system.
The default destination path prefix for installed files is ``/usr/local``.
Results from the installation script will be placed into subdirectories ``bin``,
``include``, ``lib``, ``man/man1`` and ``man/man3``. If this default path prefix
``include``, ``lib``, and ``man/man1``. If this default path prefix
is proper, then execute::
./configure
@@ -175,17 +173,7 @@ If you are building from the git repository you have to first run::
which will generate a configure script that can be used as described above.
Before proceeding with the installation we need to add the datum grids. Unzip
the contents of the *proj-datumgrid* package into ``data/``::
unzip proj-datumgrid-1.7.zip -d proj-5.0.1/data/
The installation will automatically move the grid files to the correct location.
Alternatively the grids can be installed manually in the directory pointed to
by the :envvar:`PROJ_LIB` environment variable. The default location is
``/usr/local/share/proj``.
With the grid files in place we can now build and install PROJ::
With the data files in place we can now build and install PROJ::
make
make install
@@ -196,9 +184,73 @@ Tests are run with::
make check
The test suite requires that the proj-datumgrid package is installed in
:envvar:`PROJ_LIB`.
With a successful install of PROJ we can now install data files using the
:program:`projsync` utility::
projsync --system-directory
which will download all resource files currently available for PROJ. If less than
the entire collection of resource files is needed the call to :program:`projsync`
can be modified to suit the users needs. See :ref:`projsync` for more options.
.. note::
The use of :program:`projsync` requires that network support is enabled (the
default option). If the resource files are not installed using
:program:`projsync` PROJ will attempt to fetch them automatically when a
transformation needs a specific data file. This requires that
:envvar:`PROJ_NETWORK` is set to ``ON``.
As an alternative on systems where network access is disabled, the
:ref:`proj-data <datumgrid>`
package can be downloaded and added to the :envvar:`PROJ_LIB` directory.
Autotools configure options
+++++++++++++++++++++++++++
Most POSIX systems may not require any options to ``./configure`` if all
PROJ requirements are met, installed into common directories, and a
"default" behavior is desired.
Some influential environment variables are used by ``./configure``,
with no expected defaults:
.. envvar:: CC
C compiler command.
.. envvar:: CFLAGS
C compiler flags.
.. envvar:: CXX
C++ compiler command.
.. envvar:: CXXFLAGS
C++ compiler flags
See ``./configure --help`` for all options, here are a few key options:
.. option:: --enable-lto
Enable compiler's Link Time Optimization, default disabled.
.. option:: --disable-tiff
TIFF support is enabled by default to use PROJ-data resource files,
but this can be disabled, if required.
.. option:: --with-curl=ARG
Enable CURL support (``ARG=path`` to ``curl-config``).
.. option:: --without-mutex
Disable real mutex locks (lacking pthreads).
CMake
--------------------------------------------------------------------------------
@@ -207,17 +259,18 @@ With the CMake build system you can compile and install PROJ on more or less any
platform. After unpacking the source distribution archive step into the source-
tree::
cd proj-5.0.1
cd proj-{PROJVERSION}
Create a build directory and step into it::
mkdir build
cd build
From the build directory you can now configure CMake and build the binaries::
From the build directory you can now configure CMake, build and install the binaries::
cmake ..
cmake --build .
cmake --build . --target install
On Windows, one may need to specify generator::
@@ -237,12 +290,168 @@ Tests are run with::
ctest
The test suite requires that the proj-datumgrid package is installed
in :envvar:`PROJ_LIB`.
With a successful install of PROJ we can now install data files using the
:program:`projsync` utility::
If tests are not required, PROJ can be built without the test suite using the following configuration::
projsync --system-directory
cmake -DBUILD_TESTING=OFF ..
which will download all resource files currently available for PROJ. If less than
the entire collection of resource files is needed the call to :program:`projsync`
can be modified to suit the users needs. See :ref:`projsync` for more options.
.. note::
The use of :program:`projsync` requires that network support is enabled (the
default option). If the resource files are not installed using
:program:`projsync` PROJ will attempt to fetch them automatically when a
transformation needs a specific data file. This requires that
:envvar:`PROJ_NETWORK` is set to ``ON``.
As an alternative on systems where network access is disabled, the
:ref:`proj-data <datumgrid>`
package can be downloaded and added to the :envvar:`PROJ_LIB` directory.
CMake configure options
+++++++++++++++++++++++
Options to configure a CMake are provided using ``-D<var>=<value>``.
All cached entries can be viewed using ``cmake -LAH`` from a build directory.
.. option:: BUILD_CCT=ON
Build :ref:`cct`, default ON.
.. option:: BUILD_CS2CS=ON
Build :ref:`cs2cs`, default ON.
.. option:: BUILD_GEOD=ON
Build :ref:`geod`, default ON.
.. option:: BUILD_GIE=ON
Build :ref:`gie`, default ON.
.. option:: BUILD_PROJ=ON
Build :ref:`proj`, default ON.
.. option:: BUILD_PROJINFO=ON
Build :ref:`projinfo`, default ON.
.. option:: BUILD_PROJSYNC=ON
Build :ref:`projsync`, default ON.
.. option:: BUILD_SHARED_LIBS
Build PROJ library shared. Default for Windows is OFF, building only
a static library. Default for all others is ON. See also the CMake
documentation for `BUILD_SHARED_LIBS
<https://cmake.org/cmake/help/v3.9/variable/BUILD_SHARED_LIBS.html>`_.
.. versionchanged:: 7.0
Renamed from ``BUILD_LIBPROJ_SHARED``
.. option:: BUILD_TESTING=ON
CTest option to build the testing tree, which also downloads and installs
Googletest. Default is ON, but can be turned OFF if tests are not required.
.. versionchanged:: 7.0
Renamed from ``PROJ_TESTS``
.. option:: CMAKE_BUILD_TYPE
Choose the type of build, options are: None (default), Debug, Release,
RelWithDebInfo, or MinSizeRel. See also the CMake documentation for
`CMAKE_BUILD_TYPE
<https://cmake.org/cmake/help/v3.9/variable/CMAKE_BUILD_TYPE.html>`_.
.. note::
A default build is not optimized without specifying
``-DCMAKE_BUILD_TYPE=Release`` (or similar) during configuration,
or by specifying ``--config Release`` with CMake
multi-configuration build tools (see example below).
.. option:: CMAKE_C_COMPILER
C compiler. Ignored for some generators, such as Visual Studio.
.. option:: CMAKE_C_FLAGS
Flags used by the C compiler during all build types. This is
initialized by the :envvar:`CFLAGS` environment variable.
.. option:: CMAKE_CXX_COMPILER
C++ compiler. Ignored for some generators, such as Visual Studio.
.. option:: CMAKE_CXX_FLAGS
Flags used by the C++ compiler during all build types. This is
initialized by the :envvar:`CXXFLAGS` environment variable.
.. option:: CMAKE_INSTALL_PREFIX
Default for Windows is based on the environment variable
:envvar:`OSGEO4W_ROOT` (if set), otherwise is ``c:/OSGeo4W``.
Default for Unix-like is ``/usr/local/``.
.. option:: ENABLE_IPO=OFF
Build library using the compiler's `interprocedural optimization
<https://en.wikipedia.org/wiki/Interprocedural_optimization>`_
(IPO), if available, default OFF.
.. versionchanged:: 7.0
Renamed from ``ENABLE_LTO``.
.. option:: EXE_SQLITE3
Path to an ``sqlite3`` or ``sqlite3.exe`` executable.
.. option:: SQLITE3_INCLUDE_DIR
Path to an include directory with the ``sqlite3.h`` header file.
.. option:: SQLITE3_LIBRARY
Path to a shared or static library file, such as ``sqlite3.dll``,
``libsqlite3.so``, ``sqlite3.lib`` or other name.
.. option:: ENABLE_CURL=ON
Enable CURL support, default ON.
.. option:: CURL_INCLUDE_DIR
Path to an include directory with the ``curl`` directory.
.. option:: CURL_LIBRARY
Path to a shared or static library file, such as ``libcurl.dll``,
``libcurl.so``, ``libcurl.lib``, or other name.
.. option:: ENABLE_TIFF=ON
Enable TIFF support to use PROJ-data resource files, default ON.
.. option:: TIFF_INCLUDE_DIR
Path to an include directory with the ``tiff.h`` header file.
.. option:: TIFF_LIBRARY_RELEASE
Path to a shared or static library file, such as ``tiff.dll``,
``libtiff.so``, ``tiff.lib``, or other name. A similar variable
``TIFF_LIBRARY_DEBUG`` can also be specified to a similar library for
building Debug releases.
Building on Windows with vcpkg and Visual Studio 2017 or 2019
+344 -7
View File
@@ -3,6 +3,343 @@
News
###############################################################################
7.1.1 Release Notes
++++++++++++++++++++++++++++++++++++++++
*September 1st 2020*
Updates
-------
* Added various Brazillian grids to the database (`#2277 <https://github.com/OSGeo/issues/2277>`_)
* Added geoid file for Canary Islands to the database (`#2312 <https://github.com/OSGeo/issues/2312>`_)
* Updated EPSG database to version 9.8.15 (`#2310 <https://github.com/OSGeo/issues/2310>`_)
Bug fixes
---------
* WKT parser: do not raise warning when parsing a WKT2:2015 TIMECRS
whose TIMEUNIT is at the CS level, and not inside (`#2281 <https://github.com/OSGeo/issues/2281>`_)
* Parse '+proj=something_not_latlong +vunits=' without +geoidgrids as a
Projected3D CRS and not a compound CRS with a unknown datum (`#2289 <https://github.com/OSGeo/issues/2289>`_)
* C API: Avoid crashing due to missing SANITIZE_CTX() in entry points (`#2293 <https://github.com/OSGeo/issues/2293>`_)
* CMake build: Check "target_clones" before use (`#2297 <https://github.com/OSGeo/issues/2297>`_)
* PROJ string export of +proj=krovak +czech: make sure we export +czech… (`#2301 <https://github.com/OSGeo/issues/2301>`_)
* Helmert 2D: do not require a useless +convention= parameter (`#2305 <https://github.com/OSGeo/issues/2305>`_)
* Fix a few spelling errors ("vgridshit" vs. "vgridshift") (`#2307 <https://github.com/OSGeo/issues/2307>`_)
* Fix ability to identify EPSG:2154 as a candidate for 'RGF93_Lambert_93' (`#2316 <https://github.com/OSGeo/issues/2316>`_)
* WKT importer: tune for Oracle WKT and 'Lambert Conformal Conic' (`#2322 <https://github.com/OSGeo/issues/2322>`_)
* Revert compiler generated Fused Multiply Addition optimized routines (`#2328 <https://github.com/OSGeo/issues/2328>`_)
7.1.0 Release Notes
++++++++++++++++++++++++++++++++++++++++
*July 1st 2020*
Updates
-------
+ **New transformations**
* Add a +proj=defmodel transformation for multi-component time-based deformation models (`#2206 <https://github.com/OSGeo/PROJ/pull/2206>`_):
+ **New projections**
* Add square conformal projections from libproject (`#2148 <https://github.com/OSGeo/issues/2148>`_):
- :ref:`adams_hemi`
- :ref:`adams_ws1`
- :ref:`adams_ws2`
- :ref:`guyou`
- :ref:`peirce_q`
* Adams Square II: map ESRI WKT to PROJ string, and implement iterative
inverse method (`#2157 <https://github.com/OSGeo/issues/2157>`_)
* Added :ref:`igh_o` projection (`#2226 <https://github.com/OSGeo/issues/2226>`_)
* Add :ref:`wink2` inverse by generic inversion of forward method (`#2243 <https://github.com/OSGeo/issues/2243>`_)
+ **Database**
* Update to EPSG 9.8.12, ESRI 10.8.1 and import scope and remarks for
conversion (`#2238 <https://github.com/OSGeo/issues/2238>`_) (#2267)
* Map the Behrman projection to ``cae`` when converting ESRI CRSes (`#1986 <https://github.com/OSGeo/issues/1986>`_)
* Support conversion of Flat_Polar_Quartic projection method (`#1987 <https://github.com/OSGeo/issues/1987>`_)
* Register 4 new Austrian height grids (see https://github.com/OSGeo/PROJ-data/pull/13)
and handle 'Vertical Offset by Grid Interpolation (BEV AT)' method (`#1989 <https://github.com/OSGeo/issues/1989>`_)
* Add ESRI projection method mappings for Mercator_Variant_A, Mercator_Variant_B
and Transverse_Cylindrical_Equal_Area and various grid mappings (`#2020 <https://github.com/OSGeo/issues/2020>`_) (#2195)
* Map ESRI Transverse_Mercator_Complex to Transverse Mercator (`#2040 <https://github.com/OSGeo/issues/2040>`_)
* Register grids for New Caledonia (see https://github.com/OSGeo/PROJ-data/pull/16) (`#2051 <https://github.com/OSGeo/issues/2051>`_) (#2239)
* Register NZGD2000 -> ITRF96 transformation for NZGD2000 database (`#2248 <https://github.com/OSGeo/issues/2248>`_)
* Register geoid file for UK added
(see https://github.com/OSGeo//PROJ-data/pull/25() (`#2250 <https://github.com/OSGeo/issues/2250>`_)
* Register Slovakian geoid transformations with needed code changes (`#2259 <https://github.com/OSGeo/issues/2259>`_)
* Register Spanish SPED2ETV2 grid for ED50->ETRS89 (`#2261 <https://github.com/OSGeo/issues/2261>`_)
+ **API**
* Add API function :c:func:`proj_get_units_from_database()` (`#2065 <https://github.com/OSGeo/issues/2065>`_)
* Add API function :c:func:`proj_get_suggested_operation()` (`#2068 <https://github.com/OSGeo/issues/2068>`_)
* Add API functions :c:func:`proj_degree_input()` and :c:func:`proj_degree_output()` (`#2144 <https://github.com/OSGeo/issues/2144>`_)
* Moved :c:func:`proj_context_get_url_endpoint()` & :c:func:`proj_context_get_user_writable_directory()`
from ``proj_experimental.h`` to ``proj.h`` (`#2162 <https://github.com/OSGeo/issues/2162>`_)
* :c:func:`createFromUserInput()`: allow compound CRS with the 2 parts given by names,
e.g. 'WGS 84 + EGM96 height' (`#2126 <https://github.com/OSGeo/issues/2126>`_)
* :c:func:`createOperations()`: when converting CompoundCRS<-->Geographic3DCrs, do not
use discard change of ellipsoidal height if a Helmert transformation is
involved (`#2227 <https://github.com/OSGeo/issues/2227>`_)
+ **Optimizations**
* ``tmerc/utm``: add a +algo=auto/evenden_snyder/poder_engsager parameter (`#2030 <https://github.com/OSGeo/issues/2030>`_)
* Extended ``tmerc`` (Poder/Engsager): speed optimizations (`#2036 <https://github.com/OSGeo/issues/2036>`_)
* Approximate ``tmerc`` (Snyder): speed optimizations (`#2039 <https://github.com/OSGeo/issues/2039>`_)
* :c:func:`pj_phi2()`: speed-up computation (and thus inverse ellipsoidal Mercator and LCC) (`#2052 <https://github.com/OSGeo/issues/2052>`_)
* Inverse ``cart``: speed-up computation by 33% (`#2145 <https://github.com/OSGeo/issues/2145>`_)
* Extended ``tmerc``: speed-up forward path by ~5% (`#2147 <https://github.com/OSGeo/issues/2147>`_)
+ **Various**
* Follow PDAL's CMake RPATH strategy (`#2009 <https://github.com/OSGeo/issues/2009>`_)
* WKT import/export: add support for WKT1_ESRI VERTCS synta (`#2024 <https://github.com/OSGeo/issues/2024>`_)
* :program:`projinfo`: add a ``--hide-ballpark`` option (`#2127 <https://github.com/OSGeo/issues/2127>`_)
* :program:`gie`: implement a strict mode with ``<gie-strict> </gie-strict>`` (`#2168 <https://github.com/OSGeo/issues/2168>`_)
* Allow importing WKT1 COMPD_CS with a VERT_DATUM[Ellipsoid,2002] (`#2229 <https://github.com/OSGeo/issues/2229>`_)
* Add runtime checking that sqlite3 is >= 3.11 (`#2235 <https://github.com/OSGeo/issues/2235>`_)
Bug fixes
---------
* :cpp:func:`createOperations()`: do not remove ballpark transformation if there are only grid
based operations, even if they cover the whole area of use (`#2155 <https://github.com/OSGeo/issues/2155>`_)
* :cpp:func:`createFromProjString()`: handle default parameters of '+krovak +type=crs', and
handle ``+czech`` correctly (`#2200 <https://github.com/OSGeo/issues/2200>`_)
* :cpp:func:`ProjectedCRS::identify()`: fix identification of EPSG:3059 (`#2215 <https://github.com/OSGeo/issues/2215>`_)
* Database: add a 'WGS84' alias for the EPSG:4326 CRS (`#2218 <https://github.com/OSGeo/issues/2218>`_)
* Fixes related to CompoundCRS and BoundCRS (`#2222 <https://github.com/OSGeo/issues/2222>`_)
* Avoid 2 warnings about missing database indices (`#2223 <https://github.com/OSGeo/issues/2223>`_)
* Make ``projinfo --3d --boundcrs-to-wgs84`` work better (`#2224 <https://github.com/OSGeo/issues/2224>`_)
* Many fixes regarding BoundCRS, CompoundCRS, Geographic3D CRS with
non-metre units (`#2234 <https://github.com/OSGeo/issues/2234>`_)
* Fix identification of (one of the) ESRI WKT formulations of EPSG:3035 (`#2240 <https://github.com/OSGeo/issues/2240>`_)
* Avoid using deprecated and removed Windows API function with Mingw32 (`#2246 <https://github.com/OSGeo/issues/2246>`_)
* :cpp:func:`normalizeForVisualization()`: make it switch axis for EPSG:5482
(RSRGD2000 / RSPS2000) (`#2256 <https://github.com/OSGeo/issues/2256>`_)
* Fix access violation in :c:func:`proj_context_get_database_metadata()` (`#2260 <https://github.com/OSGeo/issues/2260>`_)
7.0.1 Release Notes
++++++++++++++++++++++++++++++++++++++++
*May 1st 2020*
Updates
-------
* Database: update to EPSG v9.8.9 (`#2141 <https://github.com/OSGeo/PROJ/issues/2141>`_)
Bug fixes
---------
* Make tests independent of proj-datumgrid (`#1995 <https://github.com/OSGeo/PROJ/issues/1995>`_)
* Add missing projection property tables (`#1996 <https://github.com/OSGeo/PROJ/issues/1996>`_)
* Avoid crash when running against SQLite3 binary built with
``-DSQLITE_OMIT_AUTOINIT`` (`#1999 <https://github.com/OSGeo/PROJ/issues/1999>`_)
* :c:func:`createOperations`: fix wrong pipeline generation with CRS that has ``+nadgrids=``
and ``+pm=`` (`#2002 <https://github.com/OSGeo/PROJ/issues/2002>`_)
* Fix bad copy&replace pattern on HEALPix and rHEALPix projection names (`#2007 <https://github.com/OSGeo/PROJ/issues/2007>`_)
* :c:func:`createUnitOfMeasure`: use full double resolution for the conversion
factor (`#2014 <https://github.com/OSGeo/PROJ/issues/2014>`_)
* Update README with info on PROJ-data (`#2015 <https://github.com/OSGeo/PROJ/issues/2015>`_)
* ``utm/ups``: make sure to set errno to ``PJD_ERR_ELLIPSOID_USE_REQUIRED`` if
``+es==0`` (`#2045 <https://github.com/OSGeo/PROJ/issues/2045>`_)
* ``data/Makefile.am``: remove bashism (`#2048 <https://github.com/OSGeo/PROJ/issues/2048>`_)
* :cpp:func:`ProjectedCRS::identify`: tune it to better work with ESRI WKT
representation of EPSG:2193 (`#2059 <https://github.com/OSGeo/PROJ/issues/2059>`_)
* Fix build with gcc 4.8.5 (`#2066 <https://github.com/OSGeo/PROJ/issues/2066>`_)
* Autotools/pkg-conf: Define datarootdir (`#2069 <https://github.com/OSGeo/PROJ/issues/2069>`_)
* :program:`cs2cs`: don't require ``+to`` for '{source_crs} {target_crs} filename...'
syntax (`#2081 <https://github.com/OSGeo/PROJ/issues/2081>`_)
* CMake: fix bug with ``find_package(PROJ)`` with macOS (`#2082 <https://github.com/OSGeo/PROJ/issues/2082>`_)
* ESRI WKT import / identification: special case for
NAD_1983_HARN_StatePlane_Colorado_North_FIPS_0501 with Foot_US unit (`#2088 <https://github.com/OSGeo/PROJ/issues/2088>`_)
* ESRI WKT import / identification: special case for
NAD_1983_HARN_StatePlane_Colorado_North_FIPS_0501 with Foot_US unit (`#2089 <https://github.com/OSGeo/PROJ/issues/2089>`_)
* EngineeringCRS: when exporting to WKT1_GDAL, output unit and axis (`#2092 <https://github.com/OSGeo/PROJ/issues/2092>`_)
* Use jtsk03-jtsk horizontal grid from CDN (`#2098 <https://github.com/OSGeo/PROJ/issues/2098>`_)
* CMake: prefer to use use PROJ_SOURCE_DIR and PROJ_BINARY_DIR (`#2100 <https://github.com/OSGeo/PROJ/issues/2100>`_)
* Fix wrong grids file name in esri.sql (`#2104 <https://github.com/OSGeo/PROJ/issues/2104>`_)
* Fix identification of projected CRS whose name is close but not strictly
equal to a ESRI alias (`#2106 <https://github.com/OSGeo/PROJ/issues/2106>`_)
* Fix working of Helmert transform between the horizontal part of
2 compoundCRS (`#2111 <https://github.com/OSGeo/PROJ/issues/2111>`_)
* Database: fix registration of custom entries of grid_transformation_custom.sql
for geoid grids (`#2114 <https://github.com/OSGeo/PROJ/issues/2114>`_)
* ESRI_WKT ingestion: make sure to identify to non-deprecated EPSG entry when
possible (`#2119 <https://github.com/OSGeo/PROJ/issues/2119>`_)
* Make sure that importing a Projected 3D CRS from WKT:2019 keeps the base
geographic CRS as 3D (`#2125 <https://github.com/OSGeo/PROJ/issues/2125>`_)
* :c:func:`createOperations`: improve results of compoundCRS to compoundCRS case (`#2131 <https://github.com/OSGeo/PROJ/issues/2131>`_)
* hgridshift/vgridshift: defer grid opening when grid has already
been opened (`#2132 <https://github.com/OSGeo/PROJ/issues/2132>`_)
* Resolve a few shadowed declaration warnings (`#2142 <https://github.com/OSGeo/PROJ/issues/2142>`_)
* ProjectedCRS identification: deal with switched 1st/2nd std parallels for
LCC_2SP(`#2153 <https://github.com/OSGeo/PROJ/issues/2153>`_)
* Fix Robinson inverse projection (`#2154 <https://github.com/OSGeo/PROJ/issues/2154>`_)
* :c:func:`createOperations()`: do not remove ballpark transformation if there are only
grid based operations, even if they cover the whole area of use (`#2156 <https://github.com/OSGeo/PROJ/issues/2156>`_)
* :c:func:`createFromCoordinateReferenceSystemCodes`: 'optimization' to avoid using
C++ exceptions (`#2161 <https://github.com/OSGeo/PROJ/issues/2161>`_)
* Ingestion of WKT1_GDAL: correctly map 'Cylindrical_Equal_Area' (`#2167 <https://github.com/OSGeo/PROJ/issues/2167>`_)
* Add limited support for non-conformant WKT1 LAS COMPD_CS[] (`#2172 <https://github.com/OSGeo/PROJ/issues/2172>`_)
* PROJ4 string import: take into correctly non-metre unit when the string
looks like the one for WGS 84 / Pseudo Mercator (`#2177 <https://github.com/OSGeo/PROJ/issues/2177>`_)
* ``io.hpp``: avoid dependency to ``proj_json_streaming_writer.hpp`` (`#2184 <https://github.com/OSGeo/PROJ/issues/2184>`_)
* Fix support of WKT1_GDAL with netCDF rotated pole formulation (`#2186 <https://github.com/OSGeo/PROJ/issues/2186>`_)
6.3.2 Release Notes
++++++++++++++++++++++++++++++++++++++++
*May 1st 2020*
Bug fixes
---------
* :c:func:`validateParameters`: fix false-positive warning on
Equidistant Cylindrical (`#1947 <https://github.com/OSGeo/PROJ/issues/1947>`_)
* :c:func:`proj_create_crs_to_cr`: avoid potential reprojection failures when
reprojecting area of use to source and target CRS (`#1993 <https://github.com/OSGeo/PROJ/issues/1993>`_)
* :c:func:`createOperations`: fix wrong pipeline generation with CRS that has ``+nadgrids=``
and ``+pm=`` (`#2003 <https://github.com/OSGeo/PROJ/issues/2003>`_)
* Fix bad copy&replace pattern on HEALPix and rHEALPix projection names (`#2006 <https://github.com/OSGeo/PROJ/issues/2006>`_)
* :c:func:`createUnitOfMeasure`: use full double resolution for the conversion
factor (`#2013 <https://github.com/OSGeo/PROJ/issues/2013>`_)
* ``data/Makefile.am``: remove bashism (`#2047 <https://github.com/OSGeo/PROJ/issues/2047>`_)
* :cpp:func:``ProjectedCRS::identify``: tune it to better work with ESRI WKT representation
of EPSG:2193 (`#2058 <https://github.com/OSGeo/PROJ/issues/2058>`_)
* EngineeringCRS: when exporting to WKT1_GDAL, output unit and axis (`#2091 <https://github.com/OSGeo/PROJ/issues/2091>`_)
* Add missing entries in grid_alternatives for Portugal grids coming from
ESRI entries (`#2103 <https://github.com/OSGeo/PROJ/issues/2103>`_)
* Fix working of Helmert transform between the horizontal part of 2
compoundCRS (`#2110 <https://github.com/OSGeo/PROJ/issues/2110>`_)
* ESRI_WKT ingestion: make sure to identify to non-deprecated EPSG entry when
possible (`#2118 <https://github.com/OSGeo/PROJ/issues/2118>`_)
* Make sure that importing a Projected 3D CRS from WKT:2019 keeps the base
geographic CRS as 3D (`#2124 <https://github.com/OSGeo/PROJ/issues/2124>`_)
* :c:func:`createOperations`: improve results of compoundCRS to compoundCRS case (`#2130 <https://github.com/OSGeo/PROJ/issues/2130>`_)
* PROJ4 string import: take into correctly non-metre unit when the string looks
like the one for WGS 84 / Pseudo Mercator (`#2178 <https://github.com/OSGeo/PROJ/issues/2178>`_)
* Fix support of WKT1_GDAL with netCDF rotated pole formulation (`#2187 <https://github.com/OSGeo/PROJ/issues/2187>`_)
* ``io.hpp``: avoid dependency to ``proj_json_streaming_writer.hpp`` (`#2188 <https://github.com/OSGeo/PROJ/issues/2188>`_)
7.0.0 Release Notes
++++++++++++++++++++++++++++++++++++++++
*March 1st 2020*
@@ -10,7 +347,7 @@ News
The major feature in PROJ 7 is significantly improved handling of gridded
models. This was implemented in :ref:`RFC4`.
The main features of the RFC4 work is that PROJ now implements a new grid format,
Geodetic TIFF grids, for exchaning gridded transformation models. In addition
Geodetic TIFF grids, for exchanging gridded transformation models. In addition
to the new grid format, PROJ can now also access grids online using a data
store in the cloud.
@@ -190,7 +527,7 @@ Updates
* :c:func:`proj_trans`: add retry logic to select other transformation if the best one
fails. (`#1809 <https://github.com/OSGeo/PROJ/issues/1809>`_)
* :c:func:`BoundCRS::identify()`: improvements to discard CRS that aren't relevant
* `BoundCRS::identify()`: improvements to discard CRS that aren't relevant
(`#1802 <https://github.com/OSGeo/PROJ/issues/1802>`_)
* Database: update to IGNF v3.1.0 (`#1785 <https://github.com/OSGeo/PROJ/issues/1785>`_)
@@ -263,7 +600,7 @@ Bug fixes
* :c:func:`proj_create_crs_to_crs_from_pj()`: make the PJ* arguments const PJ* (`#1583 <https://github.com/OSGeo/PROJ/issues/1583>`_)
* :c:func:`PROJStringParser::createFromPROJString()`: avoid potential infinite
* `PROJStringParser::createFromPROJString()`: avoid potential infinite
recursion (`#1574 <https://github.com/OSGeo/PROJ/issues/1574>`_)
* Avoid core dump when setting ``ctx==NULL`` in functions
@@ -373,7 +710,7 @@ Bug Fixes
* Do not include :envvar:`PROJ_LIB` in ``proj_info().searchpath`` when context
search path is set (`#1498 <https://github.com/OSGeo/PROJ/issues/1498>`_)
* Use correct delimeter for the current platform when parsing
* Use correct delimiter for the current platform when parsing
PROJ_LIB (`#1497 <https://github.com/OSGeo/PROJ/issues/1497>`_)
* Do not confuse 'ID74' CRS with WKT2 ID[] node (`#1506 <https://github.com/OSGeo/PROJ/issues/1506>`_)
@@ -534,15 +871,15 @@ UPDATES
* Removed :c:func:`proj_geocentric_latitude` from `proj.h` API
(`#1170 <https://github.com/OSGeo/proj.4/issues/1170>`_)
* Changed behaviour of :program:`proj`: Now only allow initialization of
* Changed behavior of :program:`proj`: Now only allow initialization of
projections (`#1162 <https://github.com/OSGeo/proj.4/issues/1162>`_)
* Changed behaviour of :ref:`tmerc <tmerc>`: Now defaults to the Extended
* Changed behavior of :ref:`tmerc <tmerc>`: Now defaults to the Extended
Transverse Mercator algorithm (``etmerc``). Old implementation available
by adding ``+approx``
(`#404 <https://github.com/OSGeo/proj.4/issues/404>`_)
* Chaged behaviour: Default ellipsoid now set to GRS80 (was WGS84) (`#1210 <https://github.com/OSGeo/proj.4/issues/1210>`_)
* Chaged 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>`_)
@@ -106,11 +106,8 @@ which can be used as an override).
As those results all involve operations that does not have a perfect accuracy and that
does not cover the area of use of the 2 CRSs, a
'Ballpark geographic offset from NAD27 to NAD83' operation is synthetized by PROJ.
This operation is a sort of dummy 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 historic prime meridians). It does
not attempt any datum shift, hence the "ballpark" qualifier in its name.
'Ballpark geographic offset from NAD27 to NAD83' operation is synthetized by PROJ
(see :term:`Ballpark transformation`)
Filtering and sorting of coordinate operations
----------------------------------------------
@@ -138,7 +135,7 @@ performed in the order they are listed below:
ballpark vertical transformation (occurs when there is a geoid model).
3. if both operations evaluate identically with respect to the above criterion,
consider as more relevant an operation that does not include a synthetic
ballpark horizontal tranformation.
ballpark horizontal transformation.
4. consider as more relevant an operation that refers to shift grids that are locally available.
5. consider as more relevant an operation that refers to grids that are available
in one of the proj-datumgrid packages, but not necessarily locally available
@@ -152,7 +149,7 @@ performed in the order they are listed below:
10. in case of same accuracy, consider as more relevant an operation that does
not use grids (operations that use only parameters will be faster)
11. consider as more relevant an operation that involves less transformation steps
12. and for completness, if two operations are comparable given all the above criteria,
12. and for completeness, if two operations are comparable given all the above criteria,
consider as more relevant the one which has the shorter name, and if they
have the same length, consider as more relevant the one whose name comes first in
lexicographic order (obviously completely arbitrary, but a sorting
@@ -406,7 +403,7 @@ following results for the AGD84 to GDA2020 coordinate operations lookup:
+step +proj=axisswap +order=2,1
One can see that the selected intermediate CRS that has been used is GDA94.
This is a completely novel behaviour of PROJ 6 as opposed to the logic of PROJ.4
This is a completely novel behavior of PROJ 6 as opposed to the logic of PROJ.4
where datum transformations implied using EPSG:4326 / WGS 84 has the mandatory
datum hub. PROJ 6 no longer hardcodes it as the mandatory datum hub, and relies
on the database to find the appropriate hub(s).
@@ -471,7 +468,7 @@ techniques, we would only find one non-ballpark operation taking the route:
This is not bad, but the global validity area of use is "Australia - onshore and EEZ",
whereas GDA94 has a larger area of use.
There is another road that can be taken by going throug GDA2020 instead of ITRF2008.
There is another road that can be taken by going through GDA2020 instead of ITRF2008.
The GDA94 to GDA2020 transformations operate on the respective geographic CRS,
whereas GDA2020 to WGS 84 (G1762) operate on the geocentric CRS. Consequently,
GDA2020 cannot be identifier as a hub by a "simple" self-join SQL request on
@@ -511,7 +508,7 @@ particular case. Such transformations are done in 2 steps:
This is implemented by the ``createOperationsDerivedTo`` method
For the symetric case, source CRS to a derived CRS, the above algorithm is applied
For the symmetric case, source CRS to a derived CRS, the above algorithm is applied
by switching the source and target CRS, and then inverting the resulting operation(s).
This is mostly a matter of avoiding to write very similar code twice. This logic
is also applied to all below cases when considering the transformation between 2 different
@@ -660,47 +657,74 @@ CompoundCRS to CompoundCRS
---------------------------------------------------------------------------------
There is some similarity with the previous paragraph. We first research the
vertical transformations between the vertical CRS. If such tranformation has
a registered interpolation geographic CRS, then it is used. Otherwise we fallback
to the geographic CRS of the source CRS.
vertical transformations between the two vertical CRS.
Finally, a 3-level loop to create the final set of operations chaining together:
1. If there is such a transformation, be it direct, or if both vertical CRS
relate to a common intermediate CRS.
If it has a registered interpolation geographic CRS, then it is used.
Otherwise we fallback to the geographic CRS of the source CRS.
- the horizontal transformation from the source CRS to the interpolation CRS
- the vertical transformation
- the horizontal transformation from the interpolation CRS to the target CRS.
Finally, a 3-level loop to create the final set of operations chaining together:
This is implemented by the ``createOperationsCompoundToGeog`` method
- the horizontal transformation from the source CRS to the interpolation CRS
- the vertical transformation
- the horizontal transformation from the interpolation CRS to the target CRS.
Example:
Example:
.. code-block:: shell
.. code-block:: shell
$ projinfo -s "NAD27 + NGVD29 height (ftUS)" -t "NAD83 + NAVD88 height" --spatial-test intersects --summary
$ projinfo -s "NAD27 + NGVD29 height (ftUS)" -t "NAD83 + NAVD88 height" --spatial-test intersects --summary
Candidate operations found: 20
unknown id, NGVD29 height (ftUS) to NAVD88 height (3) + NAD27 to NAD83 (1), 0.17 m, USA - CONUS east of 89°W - onshore
unknown id, NGVD29 height (ftUS) to NAVD88 height (2) + NAD27 to NAD83 (1), 0.17 m, USA - CONUS 89°W-107°W - onshore
unknown id, NGVD29 height (ftUS) to NAVD88 height (1) + NAD27 to NAD83 (1), 0.17 m, USA - CONUS west of 107°W - onshore
unknown id, NGVD29 height (ftUS) to NAVD88 height (3) + NAD27 to NAD83 (3), 1.02 m, unknown domain of validity
unknown id, NGVD29 height (ftUS) to NAVD88 height (2) + NAD27 to NAD83 (3), 1.02 m, unknown domain of validity
unknown id, NGVD29 height (ftUS) to NAVD88 height (1) + NAD27 to NAD83 (3), 1.02 m, unknown domain of validity
unknown id, NGVD29 height (ftUS) to NAVD88 height (3) + NAD27 to NAD83 (5), 1.02 m, unknown domain of validity, at least one grid missing
unknown id, NGVD29 height (ftUS) to NAVD88 height (3) + NAD27 to NAD83 (6), 1.52 m, unknown domain of validity, at least one grid missing
unknown id, NGVD29 height (ftUS) to NAVD88 height (2) + NAD27 to NAD83 (9), 1.52 m, unknown domain of validity, at least one grid missing
unknown id, NGVD29 height (ftUS) to NAVD88 height (1) + NAD27 to NAD83 (9), 1.52 m, unknown domain of validity, at least one grid missing
unknown id, NGVD29 height (ftUS) to NAVD88 height (3) + Ballpark geographic offset from NAD27 to NAD83, unknown accuracy, USA - CONUS east of 89°W - onshore, has ballpark transformation
unknown id, NGVD29 height (ftUS) to NAVD88 height (2) + Ballpark geographic offset from NAD27 to NAD83, unknown accuracy, USA - CONUS 89°W-107°W - onshore, has ballpark transformation
unknown id, NGVD29 height (ftUS) to NAVD88 height (1) + Ballpark geographic offset from NAD27 to NAD83, unknown accuracy, USA - CONUS west of 107°W - onshore, has ballpark transformation
unknown id, Transformation from NGVD29 height (ftUS) to NAVD88 height (ballpark vertical transformation) + NAD27 to NAD83 (1), unknown accuracy, USA - CONUS including EEZ, has ballpark transformation
unknown id, Transformation from NGVD29 height (ftUS) to NAVD88 height (ballpark vertical transformation) + NAD27 to NAD83 (3), unknown accuracy, Canada, has ballpark transformation
unknown id, Transformation from NGVD29 height (ftUS) to NAVD88 height (ballpark vertical transformation) + NAD27 to NAD83 (4), unknown accuracy, Canada - NAD27, has ballpark transformation
unknown id, Transformation from NGVD29 height (ftUS) to NAVD88 height (ballpark vertical transformation) + NAD27 to NAD83 (5), unknown accuracy, Canada - Quebec, has ballpark transformation, at least one grid missing
unknown id, Transformation from NGVD29 height (ftUS) to NAVD88 height (ballpark vertical transformation) + NAD27 to NAD83 (6), unknown accuracy, Canada - Quebec, has ballpark transformation, at least one grid missing
unknown id, Transformation from NGVD29 height (ftUS) to NAVD88 height (ballpark vertical transformation) + NAD27 to NAD83 (9), unknown accuracy, Canada - Saskatchewan, has ballpark transformation, at least one grid missing
unknown id, Transformation from NGVD29 height (ftUS) to NAVD88 height (ballpark vertical transformation) + Ballpark geographic offset from NAD27 to NAD83, unknown accuracy, World, has ballpark transformation
Candidate operations found: 20
unknown id, NGVD29 height (ftUS) to NAVD88 height (3) + NAD27 to NAD83 (1), 0.17 m, USA - CONUS east of 89°W - onshore
unknown id, NGVD29 height (ftUS) to NAVD88 height (2) + NAD27 to NAD83 (1), 0.17 m, USA - CONUS 89°W-107°W - onshore
unknown id, NGVD29 height (ftUS) to NAVD88 height (1) + NAD27 to NAD83 (1), 0.17 m, USA - CONUS west of 107°W - onshore
unknown id, NGVD29 height (ftUS) to NAVD88 height (3) + NAD27 to NAD83 (3), 1.02 m, unknown domain of validity
unknown id, NGVD29 height (ftUS) to NAVD88 height (2) + NAD27 to NAD83 (3), 1.02 m, unknown domain of validity
unknown id, NGVD29 height (ftUS) to NAVD88 height (1) + NAD27 to NAD83 (3), 1.02 m, unknown domain of validity
unknown id, NGVD29 height (ftUS) to NAVD88 height (3) + NAD27 to NAD83 (5), 1.02 m, unknown domain of validity, at least one grid missing
unknown id, NGVD29 height (ftUS) to NAVD88 height (3) + NAD27 to NAD83 (6), 1.52 m, unknown domain of validity, at least one grid missing
unknown id, NGVD29 height (ftUS) to NAVD88 height (2) + NAD27 to NAD83 (9), 1.52 m, unknown domain of validity, at least one grid missing
unknown id, NGVD29 height (ftUS) to NAVD88 height (1) + NAD27 to NAD83 (9), 1.52 m, unknown domain of validity, at least one grid missing
unknown id, NGVD29 height (ftUS) to NAVD88 height (3) + Ballpark geographic offset from NAD27 to NAD83, unknown accuracy, USA - CONUS east of 89°W - onshore, has ballpark transformation
unknown id, NGVD29 height (ftUS) to NAVD88 height (2) + Ballpark geographic offset from NAD27 to NAD83, unknown accuracy, USA - CONUS 89°W-107°W - onshore, has ballpark transformation
unknown id, NGVD29 height (ftUS) to NAVD88 height (1) + Ballpark geographic offset from NAD27 to NAD83, unknown accuracy, USA - CONUS west of 107°W - onshore, has ballpark transformation
unknown id, Transformation from NGVD29 height (ftUS) to NAVD88 height (ballpark vertical transformation) + NAD27 to NAD83 (1), unknown accuracy, USA - CONUS including EEZ, has ballpark transformation
unknown id, Transformation from NGVD29 height (ftUS) to NAVD88 height (ballpark vertical transformation) + NAD27 to NAD83 (3), unknown accuracy, Canada, has ballpark transformation
unknown id, Transformation from NGVD29 height (ftUS) to NAVD88 height (ballpark vertical transformation) + NAD27 to NAD83 (4), unknown accuracy, Canada - NAD27, has ballpark transformation
unknown id, Transformation from NGVD29 height (ftUS) to NAVD88 height (ballpark vertical transformation) + NAD27 to NAD83 (5), unknown accuracy, Canada - Quebec, has ballpark transformation, at least one grid missing
unknown id, Transformation from NGVD29 height (ftUS) to NAVD88 height (ballpark vertical transformation) + NAD27 to NAD83 (6), unknown accuracy, Canada - Quebec, has ballpark transformation, at least one grid missing
unknown id, Transformation from NGVD29 height (ftUS) to NAVD88 height (ballpark vertical transformation) + NAD27 to NAD83 (9), unknown accuracy, Canada - Saskatchewan, has ballpark transformation, at least one grid missing
unknown id, Transformation from NGVD29 height (ftUS) to NAVD88 height (ballpark vertical transformation) + Ballpark geographic offset from NAD27 to NAD83, unknown accuracy, World, has ballpark transformation
2. Otherwise, when there is no such transformation, we decompose into 3 steps:
- transform from the source CRS to the geographic 3D CRS corresponding to it
- transform from the geographic 3D CRS corresponding to the source CRS to the
geographic 3D CRS corresponding to the target CRS
- transform from the geographic 3D CRS corresponding to the target CRS to the
target CRS.
Example:
.. code-block:: shell
$ projinfo -s "WGS 84 + EGM96 height" -t "ETRS89 + Belfast height" --spatial-test intersects --summary
Candidate operations found: 7
unknown id, Inverse of WGS 84 to EGM96 height (1) + Inverse of ETRS89 to WGS 84 (1) + ETRS89 to Belfast height (2), 2.014 m, UK - Northern Ireland - onshore
unknown id, Inverse of WGS 84 to EGM96 height (1) + Inverse of ETRS89 to WGS 84 (1) + ETRS89 to Belfast height (1), 2.03 m, UK - Northern Ireland - onshore, at least one grid missing
unknown id, Inverse of WGS 84 to EGM96 height (1) + Null geographic offset from WGS 84 (geog3D) to WGS 84 (geog2D) + Inverse of OSGB 1936 to WGS 84 (4) + OSGB 1936 to ETRS89 (2) + Null geographic offset from ETRS89 (geog2D) to ETRS89 (geog3D) + ETRS89 to Belfast height (2), 19.044 m, unknown domain of validity
unknown id, Inverse of WGS 84 to EGM96 height (1) + Null geographic offset from WGS 84 (geog3D) to WGS 84 (geog2D) + Inverse of OSGB 1936 to WGS 84 (2) + OSGB 1936 to ETRS89 (2) + Null geographic offset from ETRS89 (geog2D) to ETRS89 (geog3D) + ETRS89 to Belfast height (2), 11.044 m, unknown domain of validity
unknown id, Inverse of WGS 84 to EGM96 height (1) + Null geographic offset from WGS 84 (geog3D) to WGS 84 (geog2D) + Inverse of TM75 to WGS 84 (2) + TM75 to ETRS89 (3) + Null geographic offset from ETRS89 (geog2D) to ETRS89 (geog3D) + ETRS89 to Belfast height (2), 2.424 m, UK - Northern Ireland - onshore, at least one grid missing
unknown id, Inverse of WGS 84 to EGM96 height (1) + Null geographic offset from WGS 84 (geog3D) to WGS 84 (geog2D) + Inverse of TM75 to WGS 84 (2) + TM75 to ETRS89 (3) + Null geographic offset from ETRS89 (geog2D) to ETRS89 (geog3D) + ETRS89 to Belfast height (1), 2.44 m, UK - Northern Ireland - onshore, at least one grid missing
unknown id, Inverse of WGS 84 to EGM96 height (1) + Null geographic offset from WGS 84 (geog3D) to WGS 84 (geog2D) + Inverse of OSGB 1936 to WGS 84 (4) + OSGB 1936 to ETRS89 (2) + Null geographic offset from ETRS89 (geog2D) to ETRS89 (geog3D) + ETRS89 to Belfast height (1), 19.06 m, unknown domain of validity, at least one grid missing
This is implemented by the ``createOperationsCompoundToCompound`` method
When the source or target CRS is a BoundCRS
---------------------------------------------------------------------------------
@@ -0,0 +1,42 @@
.. _adams_hemi:
********************************************************************************
Adams Hemisphere in a Square
********************************************************************************
+---------------------+----------------------------------------------------------+
| **Classification** | Miscellaneous |
+---------------------+----------------------------------------------------------+
| **Available forms** | Forward spherical projection |
+---------------------+----------------------------------------------------------+
| **Defined area** | Global |
+---------------------+----------------------------------------------------------+
| **Alias** | adams_hemi |
+---------------------+----------------------------------------------------------+
| **Domain** | 2D |
+---------------------+----------------------------------------------------------+
| **Input type** | Geodetic coordinates |
+---------------------+----------------------------------------------------------+
| **Output type** | Projected coordinates |
+---------------------+----------------------------------------------------------+
.. figure:: ./images/adams_hemi.png
:width: 500 px
:align: center
:alt: Adams Hemisphere in a Square
proj-string: ``+proj=adams_hemi``
Parameters
################################################################################
.. note:: All parameters are optional.
.. include:: ../options/lon_0.rst
.. include:: ../options/R.rst
.. include:: ../options/x_0.rst
.. include:: ../options/y_0.rst
@@ -0,0 +1,42 @@
.. _adams_ws1:
********************************************************************************
Adams World in a Square I
********************************************************************************
+---------------------+----------------------------------------------------------+
| **Classification** | Miscellaneous |
+---------------------+----------------------------------------------------------+
| **Available forms** | Forward spherical projection |
+---------------------+----------------------------------------------------------+
| **Defined area** | Global |
+---------------------+----------------------------------------------------------+
| **Alias** | adams_ws1 |
+---------------------+----------------------------------------------------------+
| **Domain** | 2D |
+---------------------+----------------------------------------------------------+
| **Input type** | Geodetic coordinates |
+---------------------+----------------------------------------------------------+
| **Output type** | Projected coordinates |
+---------------------+----------------------------------------------------------+
.. figure:: ./images/adams_ws1.png
:width: 500 px
:align: center
:alt: Adams World in a Square I
proj-string: ``+proj=adams_ws1``
Parameters
################################################################################
.. note:: All parameters are optional.
.. include:: ../options/lon_0.rst
.. include:: ../options/R.rst
.. include:: ../options/x_0.rst
.. include:: ../options/y_0.rst
@@ -0,0 +1,42 @@
.. _adams_ws2:
********************************************************************************
Adams World in a Square II
********************************************************************************
+---------------------+----------------------------------------------------------+
| **Classification** | Miscellaneous |
+---------------------+----------------------------------------------------------+
| **Available forms** | Forward and inverse, spherical |
+---------------------+----------------------------------------------------------+
| **Defined area** | Global |
+---------------------+----------------------------------------------------------+
| **Alias** | adams_ws2 |
+---------------------+----------------------------------------------------------+
| **Domain** | 2D |
+---------------------+----------------------------------------------------------+
| **Input type** | Geodetic coordinates |
+---------------------+----------------------------------------------------------+
| **Output type** | Projected coordinates |
+---------------------+----------------------------------------------------------+
.. figure:: ./images/adams_ws2.png
:width: 500 px
:align: center
:alt: Adams World in a Square II
proj-string: ``+proj=adams_ws2``
Parameters
################################################################################
.. note:: All parameters are optional.
.. include:: ../options/lon_0.rst
.. include:: ../options/R.rst
.. include:: ../options/x_0.rst
.. include:: ../options/y_0.rst
+1 -1
View File
@@ -6,7 +6,7 @@ Albers Equal Area
+---------------------+----------------------------------------------------------+
| **Classification** | Conic |
+---------------------+----------------------------------------------------------+
| **Available forms** | Forward and inverse, spherical and elliptical projection |
| **Available forms** | Forward and inverse, spherical and ellipsoidal |
+---------------------+----------------------------------------------------------+
| **Defined area** | Global |
+---------------------+----------------------------------------------------------+
+2 -2
View File
@@ -6,7 +6,7 @@ Azimuthal Equidistant
+---------------------+----------------------------------------------------------+
| **Classification** | Azimuthal |
+---------------------+----------------------------------------------------------+
| **Available forms** | Forward and inverse, spherical and elliptical projection |
| **Available forms** | Forward and inverse, spherical and ellipsoidal |
+---------------------+----------------------------------------------------------+
| **Alias** | aeqd |
+---------------------+----------------------------------------------------------+
@@ -33,7 +33,7 @@ Options
.. option:: +guam
Use Guam elliptical formulas. Only accurate near the Island of Guam
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
+1 -1
View File
@@ -6,7 +6,7 @@ Modified Stererographics of Alaska
+---------------------+----------------------------------------------------------+
| **Classification** | Modified azimuthal |
+---------------------+----------------------------------------------------------+
| **Available forms** | Forward and inverse, spherical and elliptical projection |
| **Available forms** | Forward and inverse, spherical and ellipsoidal |
+---------------------+----------------------------------------------------------+
| **Defined area** | Alaska |
+---------------------+----------------------------------------------------------+
+1 -1
View File
@@ -7,7 +7,7 @@ Bonne (Werner lat_1=90)
+---------------------+----------------------------------------------------------+
| **Classification** | Miscellaneous |
+---------------------+----------------------------------------------------------+
| **Available forms** | Forward and inverse, spherical and elliptical projection |
| **Available forms** | Forward and inverse, spherical and ellipsoidal |
+---------------------+----------------------------------------------------------+
| **Defined area** | Global |
+---------------------+----------------------------------------------------------+

Some files were not shown because too many files have changed in this diff Show More