Compare commits

...
562 Commits
Author SHA1 Message Date
Even Rouault b377bf1258 Merge pull request #1857 from rouault/rfc4_doc_improvements
[RFC4_dev] Doc improvements
2020-01-22 14:09:54 +01:00
Even Rouault a95431d866 Merge pull request #1855 from rouault/rfc4_merge_back_master
[RFC4_dev] Merge master back to rfc4 latest branch
2020-01-22 14:09:35 +01:00
Even Rouault c5fb541686 Merge pull request #1839 from rouault/rfc4_utf8
[RFC4_dev] Use Win32 Unicode APIs and expect all strings to be UTF-8 (fixes #1765)
2020-01-22 14:09:14 +01:00
Even Rouault bc31bda210 scripts/reformat_cpp.sh: update to take into account sqlite3.hpp/cpp renaming to sqlite3_utils.hpp/cpp 2020-01-21 21:27:14 +01:00
Even Rouault c4191f3057 Address @hobu 's review comment of https://github.com/OSGeo/PROJ/pull/1839#pullrequestreview-345535380 2020-01-20 23:45:19 +01:00
Even Rouault a6390b59ae Merge pull request #1826 from rouault/rfc4_code_review
[RFC4_dev] Address code review comments
2020-01-20 15:01:33 +01:00
Even Rouault 9bb87ea478 resource_files.rst: update user writable directory to ~/Library/Application Support for OSX 2020-01-18 15:40:27 +01:00
Even Rouault 9d2851ad36 pj_context_get_user_writable_directory(): use ~/Library/Application Support for OSX 2020-01-18 15:36:09 +01:00
Even Rouault 0a4aa2317d Doc: network and geotiff grid improvements
- Add a usage/network.rst document for all network related information (fixes #1852)
- reference it from cs2cs and cct docs
- Create a specification/ section
- Move usage/projjson.json to specification/
- Move the description of the GeoTIFF format from RFC-4 text to a
  specifications/geodetictiffgrids.rst (refs #1850)
2020-01-17 16:20:21 +01:00
Even Rouault 4724025e6c Merge branch 'master' into rfc4_merge_back_master 2020-01-17 00:52:19 +01:00
Even Rouault f1209ff020 Merge pull request #1817 from rouault/rfc4_network_disk_cache
[RFC4_dev] Add a SQLite3 local cache of downloaded chunks
2020-01-16 21:32:28 +01:00
Even Rouault 66fd99a883 Address review comments for https://github.com/OSGeo/PROJ/pull/1817 2020-01-16 14:39:39 +01:00
Even Rouault 7040857c1f Merge pull request #1816 from rouault/deformation_with_geotiff_file
[RFC4_dev] deformation: add support for +grids= for GeoTIFF grids
2020-01-15 14:55:16 +01:00
Even Rouault 2afa147d29 Doc: add notes in deformation.rst regarding +xy_grids/+z_grids being exclusive of new option +grids 2020-01-15 14:54:34 +01:00
Kristian Evers d76e6202d2 Reintroduce backport bot, now using a dedicated PROJ bot (#1848)
Reintroduce backport bot, now using a dedicated PROJ bot
2020-01-15 14:42:10 +01:00
Even Rouault 7468536f07 Merge pull request #1813 from rouault/rfc4_network
[RFC4_dev] Add networking capabilities
2020-01-15 14:35:31 +01:00
Kristian Evers 6630991e9a Reintroduce backport bot, now using a dedicated PROJ bot 2020-01-15 13:12:39 +01:00
Even Rouault c40ee9dfbb Integrate into .rst doxygen-generated doc for custom I/O and network functionality 2020-01-15 00:06:25 +01:00
Even Rouault 941bb82c7e Add test/unit/test_grids.cpp to improve testing coverage 2020-01-14 23:33:16 +01:00
Even Rouault 9cb40a8322 Add proj_context_set_fileapi() and proj_context_set_sqlite3_vfs_name() (fixes #866) 2020-01-14 23:33:16 +01:00
Even Rouault 034238e501 Fix reading resources from user-writable directory & test it 2020-01-14 22:42:18 +01:00
Kristian Evers 34ff658696 doc: Fix error in previous commit (duplicate link targets) 2020-01-14 12:47:40 +01:00
Kristian Evers dae3c4b3b3 Doc: Update index of development section
Adds links to git repositories and adjusts deprecation warnings to
reflect that PROJ 6 has been released.
2020-01-14 11:00:33 +01:00
Kristian Evers e9605e41c8 Merge pull request #1844 from kbevers/remove-ld-option
Remove -ld option from proj and cs2cs
2020-01-14 07:25:00 +01:00
Even Rouault 0961d15ac1 cct doc: mention use or remote grids 2020-01-13 22:17:22 +01:00
Even Rouault 9d61bf83af Horizontal grid shift: fix failures on points slightly outside a subgrid (fixes #209) 2020-01-13 22:17:22 +01:00
Kristian Evers 0e70861997 Merge pull request #1843 from rouault/fix_ossfuzz_20072
unitconvert with mjd time format: avoid potential integer overflow
2020-01-13 22:13:16 +01:00
Kristian Evers a955947c1f Remove -ld option from proj and cs2cs
It promotes use of deprecated paramters +datum and +towgs84 which we
don't want to encourage.

Closes #1308
2020-01-13 22:04:01 +01:00
Even Rouault 3f3af95e0a unitconvert with mjd time format: avoid potential integer overflow
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=20072
2020-01-13 18:09:38 +01:00
Even Rouault 542359e993 test/fuzzers/standard_fuzzer.cpp: remove dependency to proj_internal.h 2020-01-13 18:08:49 +01:00
Even Rouault 9d8647371d Merge pull request #1777 from rouault/rfc4_impl
[RFC4_dev] Grid loading refactoring
2020-01-13 00:22:56 +01:00
Kristian Evers 97bb56f10e Merge pull request #1832 from snowman2/templates
added issue & pull request templates
2020-01-11 13:23:51 +01:00
Kristian Evers 0630ff4abd Merge pull request #1840 from anbj/fix-missing-word
Fix missing word in cct.rst and cct.1
2020-01-11 13:08:06 +01:00
andreas 0fde103a3e Fix missing word in cct.rst and cct.1 2020-01-11 12:48:27 +01:00
Even Rouault 1b7df035f9 Merge pull request #1838 from rouault/limit_datum_name_massaging_wkt1
WKT1_GDAL export: limit datum name massaging to names matching EPSG (fixes #1835)
2020-01-11 12:01:59 +01:00
Even Rouault 921541789c Merge pull request #1836 from rouault/fix_projcrs3D_with_non_metre_z_unit
createOperations(): fix dealing with projected 3D CRS whose Z units != metre
2020-01-11 11:59:04 +01:00
Even Rouault e2ee15eb8a Merge pull request #1837 from rouault/fix_exception_identify_compoundcrs_of_boundcrs
CompoundCRS::identify(): avoid exception when horiz/vertical part is a BoundCRS
2020-01-11 11:56:27 +01:00
Even Rouault d2674e0445 WKT1_GDAL export: limit datum name massaging to names matching EPSG (fixes #1835) 2020-01-11 00:36:10 +01:00
Even Rouault f6c4241652 Use Win32 Unicode APIs and expect all strings to be UTF-8 (fixes #1765)
For backward compatibility, if PROJ_LIB content is found to be not UTF-8 or
pointing to a non existing directory, then an attempt at interpretating it
in the ANSI page encoding is done.

proj_context_set_search_paths() now assumes strings to be in UTF-8, and
functions returning paths will also return values in UTF-8.
2020-01-11 00:27:49 +01:00
Even Rouault 30205fef7c CompoundCRS::identify(): avoid exception when horiz/vertical part is a BoundCRS
The exception only affects C++ users. It was caught by the C layer.
2020-01-10 19:04:32 +01:00
Even Rouault 863d118c6d createOperations(): fix dealing with projected 3D CRS whose Z units != metre 2020-01-10 18:31:31 +01:00
Even Rouault 39ffdcadbd Add RFC 4 text: Remote access to grids and GeoTIFF grids (#1747) 2020-01-10 17:57:20 +01:00
snowman2 a4938a9919 add notes about PR header title 2020-01-10 07:51:14 -06:00
snowman2 948c0842a4 removed question 2020-01-10 07:48:57 -06:00
Alan D. SnowandKristian Evers ec14e9b3cb Update .github/ISSUE_TEMPLATE/bug_report.md
Co-Authored-By: Kristian Evers <kristianevers@gmail.com>
2020-01-10 07:47:47 -06:00
Alan D. SnowandKristian Evers 595675b1e6 Update .github/ISSUE_TEMPLATE/bug_report.md
Co-Authored-By: Kristian Evers <kristianevers@gmail.com>
2020-01-10 07:46:51 -06:00
Alan D. SnowandKristian Evers c525487249 Update .github/ISSUE_TEMPLATE/bug_report.md
Co-Authored-By: Kristian Evers <kristianevers@gmail.com>
2020-01-10 07:46:43 -06:00
Alan D. SnowandKristian Evers 208117b0c7 Update .github/ISSUE_TEMPLATE/feature_request.md
Co-Authored-By: Kristian Evers <kristianevers@gmail.com>
2020-01-10 07:46:37 -06:00
Kristian Evers 8884ad5638 Merge pull request #1834 from rouault/improve_doxygen_identify
Doc of CRS::identify(): make it clear that this is a best-effort attempt only
2020-01-10 10:59:26 +01:00
Even Rouault acb2bd68bc Doc of CRS::identify(): make it clear that this is a best-effort attempt only 2020-01-10 00:34:36 +01:00
Even Rouault 90b6685a99 Add proj_is_download_needed() and proj_download_file() 2020-01-09 23:46:20 +01:00
Kristian Evers 0961c1951c Fix link for CoC-badge in readme file 2020-01-09 09:19:06 +01:00
snowman2 34a12d8e0d added issue & pull request templates 2020-01-08 19:52:22 -06:00
Even Rouault 9263e1d36e Add capability to read resource files from the user writable directory 2020-01-08 22:32:54 +01:00
Kristian Evers 2d76bcffdc Merge pull request #1827 from rouault/improve_createObjectsFromName
Improvements regarding name aliases (refs #1823)
2020-01-08 19:42:22 +01:00
Even Rouault da93fe3bea NTv2GridSet::open(): reject files with GS_TYPE!=SECONDS (fixes #1294) 2020-01-08 12:00:51 +01:00
Even Rouault dd9afa39d7 pj_bilinear_interpolation_three_samples(): fix MSVC warning about uninitialized variables 2020-01-07 22:48:27 +01:00
Even Rouault 8821b3591e Doc: address code review comments 2020-01-07 22:40:47 +01:00
Even Rouault 6cd3a80bf5 Merge pull request #1831 from rouault/projinfo_no
projinfo: use No. abbreviation instead of UTF-8 character (fixes #1828)
2020-01-07 22:03:35 +01:00
Even Rouault 316ca96fc9 network: handle opening remote grids whose local name has no extension 2020-01-07 21:52:32 +01:00
Even Rouault 18ba7b3dfc projinfo: use No. abbreviation instead of UTF-8 character (fixes #1828) 2020-01-07 21:38:05 +01:00
Kristian Evers a76be01b5b Merge pull request #1830 from kbevers/stalebot
Add stale-bot config for GitHub
2020-01-07 18:47:59 +01:00
Kristian Evers 6edf8bf8f8 Add stale-bot config for GitHub
This should make managing issues a bit easier. All inactive issues will
be closed automatically after 60+7 days. Closing can be avoided by
adding labels from the "exemptLabels" list. Before an issue is closed a
friendly reminder is posted in the issue.
2020-01-07 16:23:30 +01:00
Kristian Evers e55bb1933c Remove deprecated JNI bindings (#1825)
Remove deprecated JNI bindings
2020-01-07 16:14:23 +01:00
Even Rouault 6426bcbd36 projinfo: support -k datum 2020-01-07 15:32:47 +01:00
Even Rouault 408cb1e427 deformation.cpp and xyzgridshift.cpp: factor out common code (addresses https://github.com/OSGeo/PROJ/pull/1790#discussion_r363748615) 2020-01-07 15:01:36 +01:00
Even Rouault 32fc01c08f CMake: use more neutral DISABLE_TIFF switch (refs https://github.com/OSGeo/PROJ/pull/1790#discussion_r363750361) 2020-01-07 14:50:44 +01:00
Even Rouault 13d651a730 geotiff_grids.gie: add comment 2020-01-07 14:36:22 +01:00
Even Rouault e8459c135d xyzgridshift.rst: fix typo 2020-01-07 14:21:29 +01:00
Even Rouault 237296b7e8 Remote grid: add mechanism to re-open a grid if it has changed while being opened 2020-01-07 12:29:35 +01:00
Even Rouault 206a45de20 Database: insert PROJ.4 +datum values in alias_name table under PROJ authority 2020-01-07 12:27:19 +01:00
Even Rouault 3078c6b90f Database: fill alias_name with EPSG aliases for CRS 2020-01-07 12:17:14 +01:00
Even Rouault 699b92250a createObjectsFromName(): make it look up in the alias_name table too (fixes #1823) 2020-01-07 12:17:13 +01:00
Kristian Evers 679987ee35 Make sure tests pass if extra grids are present (#1822)
Make sure tests pass if extra grids are present
2020-01-07 12:11:15 +01:00
Kristian Evers ff15ab6c2d Remove deprecated JNI bindings
Closes #1757
2020-01-07 08:22:16 +01:00
Even Rouault fc73b2f2ca DiskChunkCache::closeAndUnlink(): avoid use-after-free in the destructor 2020-01-07 03:32:20 +01:00
Even Rouault eafeb61ce5 Grid refactoring: address review comments of https://github.com/OSGeo/PROJ/pull/1777
- Move content of legacy apply_gridshift.cpp and apply_vgridshift.cpp in grids.cpp
- Rename nad_ functions to pj_hgrid_
- Rename internal proj_hgrid_/proj_vgrid_ functions to pj_
2020-01-07 02:24:36 +01:00
Kristian Evers 529eb50f5d Merge pull request #1824 from rouault/doc_add_feedback_for_proj6_adoption
Doc: add a 'Feedback from downstream projects' for PROJ6 migration
2020-01-06 16:20:27 +01:00
Even Rouault ba4766e6dd Doc: add a 'Feedback from downstream projects' for PROJ6 migration 2020-01-06 15:04:42 +01:00
Even Rouault cff5dd526e Make sure tests pass if extra grids are present
Should fix the issue reported in https://lists.osgeo.org/pipermail/proj/2020-January/009188.html
Some extra north-american grids present in data/ can affect the results of
some tests, so create a data/for_tests/ subdirectory in which we copy only
select grids.
2020-01-05 23:50:38 +01:00
Even Rouault 5be02bf6d1 operations_computation.rst: update with latest 6.3 adjustments 2020-01-02 15:30:19 +01:00
Even Rouault ac3d7e16d1 Adjust formatting 2020-01-02 13:30:05 +01:00
Even Rouault 1f8073ac6c Merge pull request #1820 from snowman2/cs_projjson
fix exporting CoordinateSystem to PROJ JSON with ID
2020-01-02 13:28:57 +01:00
snowman2 ea31199355 fix exporting CoordinateSystem to PROJ JSON with ID 2020-01-01 22:46:48 -06:00
Kristian Evers 2da4b6f502 Update path to src/release.cpp 2020-01-01 22:03:56 +01:00
Kristian Evers fd377df0d1 Bump version numbers in preparation for 7.0.0 release 2020-01-01 22:02:54 +01:00
Even Rouault 19841f21f4 curl implementation: add retry logic on some HTTP errors 2020-01-01 21:55:20 +01:00
Kristian Evers a1e8314d97 Update github version in Sphinx config 2020-01-01 21:48:36 +01:00
Kristian Evers 837b6ab9c0 switch to 6.3 branch for website generation 2020-01-01 21:44:57 +01:00
Kristian Evers 546c98fe1d Merge remote-tracking branch 'osgeo/master' 2020-01-01 21:40:44 +01:00
Kristian Evers d4a76fdbcf Update website for 6.3.0 release 2020-01-01 21:40:28 +01:00
Even Rouault 08ae5764f5 Merge branch 'deformation_with_geotiff_file' into rfc4_network_disk_cache 2020-01-01 14:32:36 +01:00
Even Rouault 11f63432d3 deformation.cpp: check that unit in TIFF file is 'millimetres per year' which is the official name in EPSG 2020-01-01 14:31:04 +01:00
Even Rouault ea106578ee CMake build: install proj.ini 2019-12-31 19:27:33 +01:00
Even Rouault db040122c5 Add a SQLite3 local cache of downloaded chunks 2019-12-31 19:07:38 +01:00
Even Rouault ea73297ea4 deformation: add support for +grids= for GeoTIFF grids
This option is to load grid(s) that have both the horizontal and
vertical velocities in the same file.

Can be tested with the following grid
https://github.com/rouault/sample_proj_gtiff_grids/blob/master/nkgrf03vel_realigned.tif
converted from the original .ct2 and .gtx with
```
gdal_translate nkgrf03vel_realigned.vrt nkgrf03vel_realigned.tif -co COMPRESS=DEFLATE -co PREDICTOR=3 -co BLOCKYSIZE=241 -co INTERLEAVE=BAND
```

where nkgrf03vel_realigned.vrt is
```
<VRTDataset rasterXSize="223" rasterYSize="241">
  <SRS dataAxisToSRSAxisMapping="2,1">GEOGCRS["Unknown based on GRS80",
    DATUM["Unknown based on GRS80",
        ELLIPSOID["GRS 1980",6378137,298.257222101,
            LENGTHUNIT["metre",1]]],
    PRIMEM["Greenwich",0,
        ANGLEUNIT["degree",0.0174532925199433]],
    CS[ellipsoidal,2],
        AXIS["geodetic latitude (Lat)",north,
            ORDER[1],
            ANGLEUNIT["degree",0.0174532925199433]],
        AXIS["geodetic longitude (Lon)",east,
            ORDER[2],
            ANGLEUNIT["degree",0.0174532925199433]]]
</SRS>
  <GeoTransform>  2.9166666666666670e+00,  1.6666666666666666e-01,  0.0000000000000000e+00,  7.3041666666666686e+01,  0.0000000000000000e+00, -8.3333333333333329e-02</GeoTransform>
  <Metadata>
    <MDI key="DESCRIPTION"></MDI>
    <MDI key="area_of_use">Nordic and Baltic countries</MDI>
    <MDI key="AREA_OR_POINT">Point</MDI>
    <MDI key="TIFFTAG_COPYRIGHT">The Nordic Geodetic Commission. Creative Commons Attribution 4.0 https://creativecommons.org/licenses/by/4.0/</MDI>
    <MDI key="TIFFTAG_DATETIME">2019:12:30 00:00:00</MDI>
    <MDI key="TIFFTAG_IMAGEDESCRIPTION">Deformation model covering the Nordic and Baltic countries. Used in transformations between global reference frames and the local realisations of ETRS89 in the Nordic and Baltic countries</MDI>
    <MDI key="TYPE">VELOCITY</MDI>
  </Metadata>
  <VRTRasterBand dataType="Float32" band="1">
    <Description>east_velocity</Description>
    <UnitType>mm/year</UnitType>
    <SimpleSource>
      <SourceFilename relativeToVRT="0">/home/even/proj/proj-datumgrid/europe/nkgrf03vel_realigned_xy.ct2</SourceFilename>
      <SourceBand>2</SourceBand> <!-- GDAL exposes the first physical component of the file (longitude offset normally, here east velocity) as the second band -->
      <SrcRect xOff="0" yOff="0" xSize="223" ySize="241" />
      <DstRect xOff="0" yOff="0" xSize="223" ySize="241" />
    </SimpleSource>
  </VRTRasterBand>
  <VRTRasterBand dataType="Float32" band="2">
    <Description>north_velocity</Description>
    <UnitType>mm/year</UnitType>
    <SimpleSource>
      <SourceFilename relativeToVRT="0">/home/even/proj/proj-datumgrid/europe/nkgrf03vel_realigned_xy.ct2</SourceFilename>
      <SourceBand>1</SourceBand> <!-- and the second physical component (latitude offset normally, here north velocity) as the first band -->
      <SrcRect xOff="0" yOff="0" xSize="223" ySize="241" />
      <DstRect xOff="0" yOff="0" xSize="223" ySize="241" />
    </SimpleSource>
  </VRTRasterBand>
  <VRTRasterBand dataType="Float32" band="3">
    <Description>up_velocity</Description>
    <UnitType>mm/year</UnitType>
    <SimpleSource>
      <SourceFilename relativeToVRT="0">/home/even/proj/proj-datumgrid/europe/nkgrf03vel_realigned_z.gtx</SourceFilename>
      <SourceBand>1</SourceBand>
      <SrcRect xOff="0" yOff="0" xSize="223" ySize="241" />
      <DstRect xOff="0" yOff="0" xSize="223" ySize="241" />
    </SimpleSource>
  </VRTRasterBand>
</VRTDataset>
```
2019-12-30 02:43:36 +01:00
Even Rouault 17864e68dc Travis: fix OSX builds 2019-12-30 00:24:15 +01:00
Even Rouault 830f94a811 proj_hgrid_value(): do not apply compensation for west-oriented longitude_offset. Fixes regression due to grid refactoring work on proj=deformation use case 2019-12-29 23:57:23 +01:00
Even Rouault 3a31adce93 Merge pull request #1815 from rouault/unbreak_travis_builds
Travis: fix OSX builds
2019-12-29 00:30:16 +01:00
Even Rouault 7663050786 Travis: fix OSX builds 2019-12-28 23:30:46 +01:00
Even Rouault b1bb0e619f Database: add mapping for TOR27CSv1.GSB 2019-12-28 23:14:53 +01:00
Even Rouault 906f47e250 Database: add mapping for gg10_smv2.mnt and gg10_sbv2.mnt French grids 2019-12-28 22:47:02 +01:00
Kristian Evers 3e49a80b81 Amend NEWS with new SQLite version requirement (3.11) 2019-12-28 13:18:03 +01:00
Kristian Evers ddad3f61f1 Update CITATION for 2020 2019-12-28 12:00:35 +01:00
Kristian Evers f0b971e463 Update release notes for 6.3.0 2019-12-28 12:00:00 +01:00
Kristian Evers f5177c6dea Update NEWS for 6.2.1 2019-12-28 11:27:50 +01:00
Kristian Evers 6853c91d46 Update man-pages from Sphinx-docs 2019-12-28 11:22:17 +01:00
Kristian Evers ae3cd5df4d Update ABI numbers for 6.3.0 release 2019-12-28 11:15:50 +01:00
Even Rouault 28e1770f27 CurlFileHandle: set UserAgent 2019-12-27 17:42:04 +01:00
Even Rouault f934c002c0 CurlFileHandle: code improvement. No functional change 2019-12-27 17:41:33 +01:00
Even Rouault be59650039 xyzgridshift: implement defered grid loading in network context 2019-12-27 12:34:24 +01:00
Even Rouault f085b39752 Handle context reassignment for Grid/GridSet/File objects 2019-12-27 12:25:03 +01:00
Even Rouault aa8c7826cf Network: rework error handling 2019-12-27 11:14:17 +01:00
Even Rouault 2093aca072 Network: make CDN endpoint configurable either in proj.ini, PROJ_NETWORK_ENDPOINT or proj_context_set_url_endpoint() 2019-12-27 11:14:16 +01:00
Even Rouault c4589fbe42 Network: automatically use CDN resources when local resources not available, and networking enabled 2019-12-27 11:14:16 +01:00
joe-mann b5cb57b598 Add link to Go bindings (#1807) 2019-12-26 20:21:28 +01:00
Even Rouault 6c0b5d9ec4 Merge pull request #1812 from rouault/tune_canadian_ntv1_ntv2
Database: tune accuracy of Canadian NTv1 file w.r.t NTv2
2019-12-26 12:05:17 +01:00
Even Rouault d71a6ce909 cct: make it honour PROJ_DEBUG if -v/-vv/-vvv are not specified 2019-12-25 22:35:28 +01:00
Even Rouault 37da5e2431 cct: revise end-of-line handling in logging, and always output debug and trace messages to stderr 2019-12-25 22:31:50 +01:00
Even Rouault 70ea9ae5ec Doc: resource_files.rst: s/dictionaries/directories 2019-12-25 18:49:51 +01:00
Kristian Evers e4f952c40e Merge pull request #1810 from rouault/projinfo_wkt1_gdal_no_longer_boundcrs
projinfo: no longer call createBoundCRSToWGS84IfPossible() for WKT1:GDAL
2019-12-25 17:50:48 +01:00
Even Rouault b8f8a708c2 Database: tune accuracy of Canadian NTv1 file w.r.t NTv2
As on import of EPSG, we remove the supersession of Canadian NTv1 file w.r.t NTv2
(because the default behaviour of PROJ is to ignore superseded operations). However
the NTv1 operation is advertized with an accuracy of 1m, whereas NTv2 is advertized
with 1.5m. Consequently on areas where both files are valid, and if both files are
available, NTv1 would be selected. So as a workaround, worsen the NTv1 accuracy to
2m so that NTv2 is used in priority.
2019-12-25 16:23:31 +01:00
Even Rouault d11804fb79 Doc: differences.rst: add note about WKT1:GDAL no longer implicitly calling --boundcrs-to-wgs84 2019-12-25 15:58:41 +01:00
Kristian Evers 1003bf3abd Merge pull request #1811 from rouault/modify_verbosity
Modify verbosity level of some debug/trace messages
2019-12-25 15:31:00 +01:00
Even Rouault 90875d7616 Modify verbosity level of some debug/trace messages
- unitconvert, ell_set and helmert were using debug level, which is
  too verbose. Using trace instead
- proj_trans() was using trace to indicate the operation it selects.
  Changing it to debug
2019-12-25 10:45:20 +01:00
Even Rouault 46e28887e1 projinfo: no longer call createBoundCRSToWGS84IfPossible() for WKT1:GDAL
To align with GDAL 3.0.3 behaviour, no longer automatically try to create
a boundCRS to WGS84 when exporting to WKT1:GDAL. The user has to
explicitly specify --boundcrs-to-wgs84 if he wishes this behaviour.
2019-12-25 10:11:01 +01:00
Even Rouault 41aa90d57e Merge pull request #1809 from rouault/add_retry_logic_to_proj_trans
proj_trans: add retry logic to select other transformation if the best one fails.
2019-12-24 14:31:54 +01:00
Even Rouault 73a65df742 proj_trans: add retry logic to select other transformation if the best one fails.
Relates to https://github.com/OSGeo/PROJ/issues/1808
2019-12-24 12:59:15 +01:00
Even Rouault 0a1f1fe469 Network: only enable it if PROJ_NETWORK=ON or proj_context_set_enable_network(ctx, true) 2019-12-23 23:54:34 +01:00
Even Rouault 366ab091c7 test: add explict tests for New Zealand vertical <--> geog3D and vertical <--> vertical transformations 2019-12-23 19:12:22 +01:00
Even Rouault 9d0bd793b5 Network: remove dedicated get_file_size() callback to use get_header_value(), and test 2019-12-23 18:19:35 +01:00
Even Rouault d3bdbb8417 Add testing of network functionality 2019-12-23 13:13:51 +01:00
Even Rouault ed92965937 Network: add a memory cache and I/O chunking strategy 2019-12-22 23:10:43 +01:00
Even Rouault e503454b65 proj_db_table_defs.sql: rewrite some trigger checks as normal table CONSTRAINT CHECK 2019-12-21 12:09:35 +01:00
Even Rouault 325ebcafd3 Database: add consistency checks of transformation area of use w.r.t source/target CRS one 2019-12-21 11:36:20 +01:00
Even Rouault 5b1346e95c Database: add/fix consistency checks 2019-12-21 02:41:28 +01:00
Even Rouault e7ef9b626e Database: fix registration of Icegeoid_xxx.gtx files, and add corresponding entries in grid_alternatives.sql 2019-12-21 02:13:07 +01:00
Even Rouault 9051b19987 Database: add name mappings for na27na83.gsb and cq77na83.gsb; also fix the mapping between CGQ77-98.gsb and CQ77SCRS.GSB 2019-12-20 15:14:20 +01:00
Even Rouault 5c179b3349 grid_check.py: fixes 2019-12-20 11:54:01 +01:00
Even Rouault 5f36c9ebde test: transformation_NZLVD_to_PROJ_string: attach database context to get filename substitution 2019-12-20 10:40:44 +01:00
Chris Crook 6c40887e4d Adding New Zealand grid alternative names 2019-12-20 14:04:48 +13:00
Even Rouault f73527fa20 Add very minimalistic and slow libcurl implementation 2019-12-19 23:42:02 +01:00
Even Rouault 444bc1f661 Merge pull request #1770 from ccrook/nzlvd_support
Adding support for NZLVD vertical height transformation
2019-12-19 23:14:07 +01:00
Even Rouault a06f4a258f Add proj_context_set_network_callbacks() with an empty implementation 2019-12-19 22:31:37 +01:00
Chris Crook 1433adcc67 Adding support for NZLVD vertical height transformation 2019-12-20 10:23:44 +13:00
Even Rouault 2aeb122fb2 travis/osx/before_install.sh: do not install md5sha1sum from brew 2019-12-19 17:45:50 +01:00
Even Rouault d6ae5289b6 Build: add optional curl dependency 2019-12-19 17:45:50 +01:00
Even Rouault cde119a251 grids.cpp: use FileManager/File interfaces 2019-12-19 17:45:50 +01:00
Even Rouault 2dfe2cdd1f Add a FileManager and File class 2019-12-19 17:45:49 +01:00
Even Rouault 7baf00c5bc Add test for legacy proj_api.h fileapi before further reworks 2019-12-19 17:45:49 +01:00
Even Rouault a70e477087 Rename PJ_CONTEXT::fileapi member as fileapi_legacy 2019-12-18 21:00:00 +01:00
Even Rouault 13dd313795 Database: register MAY76V20.gsb 2019-12-18 19:25:50 +01:00
Even Rouault baf9c46795 Database: register Canadian geoid models added per https://github.com/OSGeo/proj-datumgrid/pull/91 (#1796) 2019-12-17 16:58:47 +01:00
Even Rouault 216492df43 Database: register SeTa2016.gsb for DHDN to ETRS89 in Saarland (refs https://github.com/OSGeo/proj-datumgrid/pull/89) (#1791) 2019-12-17 16:54:16 +01:00
Even Rouault 7de0f0931c Merge pull request #1789 from rouault/register_100800401_gsb
Database: register 100800401.gsb for Catalonia ED50 -> ETRS89
2019-12-17 16:52:22 +01:00
Even Rouault 9db6e144ae Merge pull request #1803 from rouault/improve_identification_with_datum_name_aliases
identify(): take into datum name aliases (fixes #1800)
2019-12-17 16:52:08 +01:00
Even Rouault 75a3299803 travis/osx/before_install.sh: do not install md5sha1sum from brew 2019-12-16 22:13:32 +01:00
Even Rouault da7ffcd528 Merge pull request #1802 from rouault/improve_boundcrs_identify
BoundCRS::identify(): improvements to discard CRS that aren't relevant (fixes #1801)
2019-12-16 21:11:58 +01:00
Even Rouault bd9ecbacf5 identify(): take into datum name aliases (fixes #1800) 2019-12-16 17:50:39 +01:00
Kristian Evers b183705980 Merge pull request #1775 from rouault/grid_alternatives_use_precision_package_versions
grid_alernatives.sql: point to specific revisions of the proj-datumgrid-XXXX packages
2019-12-16 16:24:00 +01:00
Kristian Evers 533ca5d12b Merge pull request #1786 from rouault/fake_EPSG_102100
Make EPSG:102100 resolve to ESRI:102100 (fixes #1730)
2019-12-16 16:23:20 +01:00
Kristian Evers 59c1f1993b Merge pull request #1763 from dalia2/update-grid-alternatives.sql-for-Icealnd
Update grid_alternatives.sql for Icelandic grids
2019-12-16 16:22:25 +01:00
Even Rouault a68c146d7f BoundCRS::identify(): improvements to discard CRS that aren't relevant (fixes #1801)
Fix for
```
projinfo --identify "+proj=utm +zone=48 +a=6377276.345 +b=6356075.41314024 +towgs84=198,881,317,0,0,0,0 +units=m +no_defs +type=crs"
```

to only return BoundCRS of EPSG:3148: 70 %

Previously it also returned EPSG:23948 and EPSG:24048 whose projected CRS-only
parts where likely matches, but those 2 CRSs don't have a +towgs84=198,881,317,0,0,0,0,
so discard them.
2019-12-16 13:27:40 +01:00
Kristian Evers e5526bca37 Merge pull request #1783 from rouault/restore_ob_tran_to_meter_compat_with_pj_transform
ob_tran: restore traditional handling of +to_meter with pj_transform() and proj utility (fixes #1782)
2019-12-15 20:50:15 +01:00
Kristian Evers 6125d3b5a4 Merge pull request #1797 from rouault/fix_hgrid_inv_switch_between_ntv2_subgrids
Horizontal grid shift: fix issue on iterative inverse computation when switching between (sub)grids (fixes #1663)
2019-12-14 18:46:37 +01:00
Even Rouault 6a4f9cc673 Horizontal grid shift: fix issue on iterative inverse computation when switching between (sub)grids (fixes #1663)
Given in.txt with
53.999759140 5.144478208 252.6995

Before the fix,
cct  -t 0 -d 4 +proj=pipeline +step +proj=axisswap +order=2,1,3,4 +step +proj=hgridshift +inv +grids=rdtrans2018.gsb +step +proj=vgridshift +grids=naptrans2018.gtx +step +proj=sterea +lat_0=52.156160556 +lon_0=5.387638889 +k=0.9999079 +x_0=155000 +y_0=463000 +ellps=bessel in.txt

returned:
  139079.8814    668306.0302      212.1724        0.0000

It now returns:
  139079.8850    668306.0458      212.1724        0.0000

which meets with the 1mm accuracy the expected result of test point
```
30010049    53.999759140    5.144478208     252.6995        139079.8850     668306.0460     212.1723
```
2019-12-14 15:40:17 +01:00
Even Rouault 0f7a93138f Database: add mappings to AUSGeoid98.gtx in grid_alternatives 2019-12-14 02:20:09 +01:00
Nyall Dawson ccaebae3cb Add proj_coordoperation_create_inverse to C API (#1795) 2019-12-14 01:15:05 +01:00
Even Rouault f36d237426 Horizontal grid shift: fix issue on iterative inverse computation when switching between (sub)grids (fixes #1663)
Given in.txt with
53.999759140 5.144478208 252.6995

Before the fix,
cct  -t 0 -d 4 +proj=pipeline +step +proj=axisswap +order=2,1,3,4 +step +proj=hgridshift +inv +grids=rdtrans2018.gsb +step +proj=vgridshift +grids=naptrans2018.gtx +step +proj=sterea +lat_0=52.156160556 +lon_0=5.387638889 +k=0.9999079 +x_0=155000 +y_0=463000 +ellps=bessel in.txt

returned:
  139079.8814    668306.0302      212.1724        0.0000

It now returns:
  139079.8850    668306.0458      212.1724        0.0000

which meets with the 1mm accuracy the expected result of test point
```
30010049	53.999759140	5.144478208	252.6995	139079.8850	668306.0460	212.1723
```
2019-12-14 00:16:17 +01:00
Even Rouault b934fd3885 Grid class: add a name() method 2019-12-14 00:15:27 +01:00
Even Rouault 49f8ea7ea4 Add configure/CMake option, strongly discouraged, to disable TIFF support 2019-12-13 15:25:59 +01:00
Even Rouault c9d6d364a8 Fix compilation breakage of previous commit with some compilers 2019-12-13 11:15:03 +01:00
Even Rouault a2b2663d2a normalizeForVisualization(): address EPSG:32661 "WGS 84 / UPS North (N,E)" and EPSG:32761 "WGS 84 / UPS South (N,E)"
Fixes https://github.com/qgis/QGIS/issues/33077
2019-12-13 11:04:04 +01:00
Even Rouault 2fd6f7fc0b PROJStringFormatter: make startInversion/stopInversion properly deal with omit_fwd/omit_inv 2019-12-13 01:29:42 +01:00
Even Rouault c86bd69147 WKTParser: fix assertion that can trigger on corrupted input. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=19367 2019-12-13 00:38:18 +01:00
Even Rouault c165952bcf grids.cpp: use 'parent_grid_name' as stated in RFC4 2019-12-12 19:27:57 +01:00
dalia2 1efec9523d Merge branch 'master' into update-grid-alternatives.sql-for-Icealnd 2019-12-12 14:25:40 +00:00
Even Rouault 5b4e60f4f9 Merge pull request #1773 from orudge/msvc-no-static-exports
Build: Only export symbols if building DLL
2019-12-11 23:08:50 +01:00
Even Rouault 28d61f5ee6 Merge pull request #1788 from rouault/tune_too_agressive_result_removal_indian_1975_to_4326
createOperations(): make filtering out of 'uninteresting' operations less aggressive (refs #1787)
2019-12-11 22:28:40 +01:00
Even Rouault 3a035e99f7 Make EPSG:102100 resolve to ESRI:102100 (fixes #1730) 2019-12-11 22:09:05 +01:00
Even Rouault 8063c0b992 test/gie/geotiff_grids.gie: use of subset of gr3df97a.tif for systematic testing 2019-12-11 20:36:01 +01:00
Even Rouault 3fa5d486b9 .cirrus.yml: add libtiff dependency 2019-12-11 18:20:24 +01:00
Even Rouault 6d45bbc88b Add a +proj=xyzgridshift method to perform geocentric translation by grid. Used for French NTF to RGF93 transformation using gr3df97a.tif grid 2019-12-11 17:15:03 +01:00
Even Rouault e872984b46 grids.hpp: add a GenericShiftGridSet and GenericShiftGrid classes, that are going to be used by later commit 2019-12-11 16:56:24 +01:00
Even Rouault 864e933916 Database: register 100800401.gsb for Catalonia ED50 -> ETRS89
Refs https://github.com/OSGeo/proj-datumgrid/pull/88
2019-12-11 12:42:13 +01:00
Even Rouault 0b5fb1239f createOperations(): make filtering out of 'uninteresting' operations less aggressive (refs #1787)
'EPSG:1304, Indian 1975 to WGS 84 (2), 5.0 m, Thailand - onshore and Gulf of Thailand'
was removed because considered useless w.r.t first result
'EPSG:1812, Indian 1975 to WGS 84 (4), 3.0 m, Thailand - onshore'

However the name of the area of use is not completely the same, so might be worth
keeping it.
2019-12-11 11:46:34 +01:00
Kristian Evers d1f432ea6e Merge pull request #1785 from rouault/update_to_ignf_3_1_0
Database: update to IGNF v3.1.0
2019-12-11 08:35:05 +01:00
Even Rouault 38de84f38b Database: update to IGNF v3.1.0 2019-12-10 23:51:03 +01:00
Even Rouault 2804ee5ec0 GTiff grid: use a block cache per dataset for faster access 2019-12-10 19:42:38 +01:00
Even Rouault 1f01ecb90a Add support for horizontal and vertical grids in GeoTIFF 2019-12-10 17:49:00 +01:00
Even Rouault 2c3a7c8bcc ob_tran: restore traditional handling of +to_meter with pj_transform() and proj utility (fixes #1782)
Fixes side-effect of https://github.com/OSGeo/PROJ/issues/1525 that went in 6.1.1

The correction is horribly hacky. Sorry...
2019-12-10 15:25:02 +01:00
Even Rouault 9f908ae47c Horizontal shift grids: hide the 'positive longitude shift value = westward correction' in the CTable2/NTv1/NTv2 backends 2019-12-09 23:26:51 +01:00
Mike Taves 29474bd7fd DOC: correction to doi field; remove uri, which is identical to doi for Snyder1992 2019-12-10 09:52:12 +13:00
Kristian Evers 9b3a80ada0 isea docs: Rewrite intro and reference to reflect actual projection
Previous version was describing oea by mistake. It is also a projection
by Snyder and the isea docs was based on the paper on the oea
projection. This commit fixes that.
2019-12-09 11:46:53 +01:00
Kristian Evers 9b66a948fe Merge pull request #1780 from rouault/fix_1779
CRS identification: use case insensitive comparison for authority name (fixes #1779)
2019-12-09 11:11:38 +01:00
Even Rouault 5cc1095970 CRS identification: use case insensitive comparison for authority name (fixes #1779) 2019-12-09 09:08:13 +01:00
Kristian Evers 9750c04474 Add intro and table to isea doc page 2019-12-07 19:48:04 +01:00
Even Rouault 1b702a82f5 Build and CI: add libtiff dependency 2019-12-07 02:18:15 +01:00
Even Rouault 22792cd55b Add a Grid base class for HorizontalShiftGrid and VerticalShiftGrid 2019-12-06 21:35:15 +01:00
Even Rouault 916a92062f Remove hgrids and vgrids member from PJ structure, and store them in hgridshift/vgridshift/deformation structures 2019-12-06 21:35:15 +01:00
Even Rouault 6875ef7116 horizontal grid shift: rework to no longer load whole grid into memory 2019-12-06 21:35:14 +01:00
Even Rouault 126384854b vertical grid shift: rework to no longer load whole grid into memory 2019-12-06 21:35:14 +01:00
Even Rouault 41ff94791a Remove obsolete and presumably unfinished implementation of grid catalog functionality 2019-12-06 16:06:35 +01:00
Even Rouault b6f0153e5a test228.cpp: update to use OSTN15_NTv2_OSGBtoETRS.gsb 2019-12-06 16:06:23 +01:00
Even Rouault 71ae00a050 grid_alernatives.sql: point to specific revisions of the proj-datumgrid-XXXX packages
Due to potential future shift to GTiff format, we don't want users of PROJ 6.3
being pointed to grids they won't be able to use.
So point to
- proj-datumgrid-1.8: already existing, unlikely to change before 6.3
- proj-datumgrid-north-america-1.3: to be released
- proj-datumgrid-europe-1.5: to be released
- proj-datumgrid-oceania-1.1: to be released
- proj-datumgrid-world-1.0: already existing, unlikely to change before 6.3
2019-12-06 15:25:22 +01:00
Kristian Evers 6144a898db Merge pull request #1764 from rouault/updates_in_resource_files
Doc: resource_files.rst updates
2019-12-06 15:03:18 +01:00
Even Rouault 443ce39d09 Update ntv2_out.dist and conditions to run it 2019-12-05 21:25:53 +01:00
Even Rouault 98b32527ee Merge pull request #1756 from rouault/document_create_operations
Doc: add a operations_computation.rst describe the magic behind createOperations()
2019-12-05 16:13:48 +01:00
Even Rouault 700cf8fe9a Merge pull request #1774 from mloskot/ml/add-gitattributes-with-lf-in-unix-shell-scripts
Add .gitattributes to normalize line endings of Unix scripts to LF
2019-12-05 14:37:26 +01:00
Even Rouault 97bbfe32aa import from PROJ string CRS: better deal with strings that look like Google Mercator projection, but with subtlely different parameters (fixes https://github.com/OSGeo/gdal/issues/2087) 2019-12-05 13:32:16 +01:00
Even Rouault f3a9e54c09 proj_grid_info(): fix crash when passing a file that exists but is not a grid 2019-12-04 21:49:17 +01:00
Mateusz Łoskot 2fb89ccaca Add .gitattributes
Normalize line endings of Unix shell scripts to LF.
2019-12-04 18:45:25 +01:00
Even Rouault 1f5816721f Merge pull request #1772 from rouault/do_not_install_proj_json_streaming_writer_hpp
autoconf/cmake: do not install proj_json_streaming_writer.hpp header
2019-12-04 18:44:41 +01:00
Owen Rudge 8ae7e0d2b6 Build: Only export symbols if building DLL 2019-12-04 16:34:11 +00:00
Even Rouault dcb04027a4 autoconf/cmake: do not install proj_json_streaming_writer.hpp header 2019-12-04 15:47:39 +01:00
Even Rouault fa7633ef97 operations_computation.rst: try to clarify sorting logic [skip appveyor] 2019-12-04 15:20:59 +01:00
Even Rouault 730477ecfe grid_checks.py: add a --check-filelist option to verify consistency of proj-datumgrid new filelist.csv file 2019-12-04 14:58:30 +01:00
Even Rouault 0aebf6f9b8 Merge pull request #1769 from rouault/register_NTv2_SN
Database: register NTv2_SN.gsb
2019-12-03 22:00:00 +01:00
Even Rouault 076c25f750 Database: register NTv2_SN.gsb added per https://github.com/OSGeo/proj-datumgrid/pull/73 2019-12-03 21:03:13 +01:00
Even Rouault 9f9792d26c Merge pull request #1768 from rouault/register_AT_GIS_GRID
Database: register AT_GIS_GRID.gsb
2019-12-03 20:55:23 +01:00
Even Rouault 9c191940d2 Database: register AT_GIS_GRID.gsb added per https://github.com/OSGeo/proj-datumgrid/pull/72 2019-12-03 19:59:36 +01:00
Even Rouault cb4e77d58f Merge pull request #1761 from rouault/register_ausgeoid
Database: register AUSGeoid09 and AUSGeoid2020
2019-12-03 17:52:57 +01:00
Even Rouault 1d2b1884b0 coordinateoperation.cpp: add nullptr checks to please CLang Static Analyzer that suddenly warns about them for unknown reason... 2019-12-03 14:27:35 +01:00
Even Rouault 5a7ff4380e Database: register AUSGeoid09 and AUSGeoid2020
Related to https://github.com/OSGeo/proj-datumgrid/pull/66

Tune operation search so that it can work with Geog2D <--> VertCS for commandline
niceness
2019-12-03 14:27:35 +01:00
Even Rouault a0de56228b Merge pull request #1759 from rouault/BWTA2017
Database: register the BWTA2017.gsb grid (DHDN->ETRS89 for Baden-Wurtemberg)
2019-12-03 14:18:35 +01:00
Even Rouault dc55b17d0c Database: register the BWTA2017.gsb grid (DHDN->ETRS89 for Baden-Wurtemberg)
Relates to https://github.com/OSGeo/proj-datumgrid/pull/65 ,
https://github.com/OSGeo/proj-datumgrid/issues/22

As EPSG has no entry for it, we create a grid_transformation, as well as a
dedicated area of use based on the extent of the grid, under the PROJ authority.
With the hope to be able to remove it once EPSG has an entry...
2019-12-02 15:57:40 +01:00
dalia2 e9d6a0b299 Update grid_transformation_custom.sql 2019-12-02 14:47:57 +00:00
Even Rouault b92408d146 Doc: resource_files.rst: remove mentions of no longer existing esri, epsg and IGNF init-files 2019-12-01 19:00:53 +01:00
Even Rouault f27288ddfa Doc: resource_files.rst: document recent Win32 specific addition (https://github.com/OSGeo/PROJ/pull/1755) regarding how resource files are looked for 2019-12-01 19:00:53 +01:00
Even Rouault c645218219 Doc: resource_files.rst: document where resource files are looked for (without recent Win32 specific addition) 2019-12-01 19:00:53 +01:00
Joaquim c3aa3fe4e9 Enhance PROJ resource file lookup on Windows for bin\..\share\proj (#1755)
This PR is Windows only. It adds the directory ``.....\bin\..\share\proj``, where ``....\bin`` is the directory hosting ``proj.dll``, to the list of places where ``proj.db`` is searched. In addition to what happens at build time, this PR ads also the ability to do that at run-time. This means that a structure like

....\bin\proj.exe, proj.dll, ...
....\share\proj\proj.db, ...

will still find proj.db without needing to set the PROJ_LIB environment variable
2019-12-01 17:08:03 +01:00
dalia2andEven Rouault 10baba9fa4 Update data/sql/grid_alternatives.sql
Co-Authored-By: Even Rouault <even.rouault@spatialys.com>
2019-12-01 15:54:05 +00:00
dalia2andEven Rouault a6ff106dbc Update data/sql/grid_alternatives.sql
Co-Authored-By: Even Rouault <even.rouault@spatialys.com>
2019-12-01 15:52:46 +00:00
dalia2 2a9d99607c Update grid_alternatives.sql
Updated the grid_alternatives.sql
2019-12-01 15:41:21 +00:00
Kristian Evers 4d40332fa4 Merge pull request #1762 from rouault/database_esri_10_8_0
Database: update ESRI entries with ArcGIS Desktop version 10.8.0 database
2019-12-01 14:58:31 +01:00
Even Rouault 6c0531b28f Database: update ESRI entries with ArcGIS Desktop version 10.8.0 database 2019-12-01 00:36:46 +01:00
Even Rouault 43a6c1535c grid_checks.py: add is_superseded info in output 2019-12-01 00:30:35 +01:00
Jeff McKenna ebe67de5df [Docs] Minor changes regarding datumgrid pages (#1751) (#1760)
Update README, install.rst and resource_files.rst
2019-11-30 22:49:12 +01:00
Even Rouault 89bfd5d12e Merge pull request #1758 from rouault/resource_files_clarifications
Doc: clarifications regarding grid packages (fixes #1751)
2019-11-29 23:14:23 +01:00
Even Rouault 290902f658 Doc: clarifications regarding grid packages (fixes #1751)
- Content partly borrowed from @kbevers ' suggestions of
  https://github.com/OSGeo/PROJ/issues/1751#issuecomment-558976968

- Remove mention about Swiss grids. Included in the europe package

- Remove section about HARN / HPGN grids. Those have been included
  in the north-america package, and there is no longer any point in
  mentionning the particularities of how ancient ones had to be
  used with PROJ.4

- Remove section about obsolete proj_defs.dat
2019-11-29 22:16:51 +01:00
Even Rouault 5f749c70c7 operations_computation.rst: fixes 2019-11-29 21:16:27 +01:00
Even RouaultandKristian Evers c5d8c0862f Update docs/source/operations/operations_computation.rst
Co-Authored-By: Kristian Evers <kristianevers@gmail.com>
2019-11-29 20:37:00 +01:00
Even RouaultandKristian Evers 94abd1f827 Update docs/source/operations/operations_computation.rst
Co-Authored-By: Kristian Evers <kristianevers@gmail.com>
2019-11-29 20:36:42 +01:00
Even RouaultandKristian Evers b05e6bd981 Update docs/source/operations/operations_computation.rst
Co-Authored-By: Kristian Evers <kristianevers@gmail.com>
2019-11-29 20:36:27 +01:00
Even RouaultandKristian Evers ba66e2d8d7 Update docs/source/operations/operations_computation.rst
Co-Authored-By: Kristian Evers <kristianevers@gmail.com>
2019-11-29 20:34:11 +01:00
Even RouaultandKristian Evers 6ebf6ceac2 Update docs/source/operations/operations_computation.rst
Co-Authored-By: Kristian Evers <kristianevers@gmail.com>
2019-11-29 20:33:57 +01:00
Even RouaultandKristian Evers 41faf3e833 Update docs/source/operations/operations_computation.rst
Co-Authored-By: Kristian Evers <kristianevers@gmail.com>
2019-11-29 20:33:44 +01:00
Even RouaultandKristian Evers c1d4aa87fd Update docs/source/operations/operations_computation.rst
Co-Authored-By: Kristian Evers <kristianevers@gmail.com>
2019-11-29 20:33:29 +01:00
Even RouaultandKristian Evers b8c39e0195 Update docs/source/operations/operations_computation.rst
Co-Authored-By: Kristian Evers <kristianevers@gmail.com>
2019-11-29 20:33:18 +01:00
Even RouaultandKristian Evers 10e2dc2526 Update docs/source/operations/operations_computation.rst
Co-Authored-By: Kristian Evers <kristianevers@gmail.com>
2019-11-29 20:33:04 +01:00
Even RouaultandKristian Evers 39e5597d31 Update docs/source/operations/operations_computation.rst
Co-Authored-By: Kristian Evers <kristianevers@gmail.com>
2019-11-29 20:32:33 +01:00
Even RouaultandKristian Evers 204880c756 Update docs/source/operations/operations_computation.rst
Co-Authored-By: Kristian Evers <kristianevers@gmail.com>
2019-11-29 20:32:25 +01:00
Even RouaultandKristian Evers 67ceca3de4 Update docs/source/operations/operations_computation.rst
Co-Authored-By: Kristian Evers <kristianevers@gmail.com>
2019-11-29 20:32:06 +01:00
Even RouaultandKristian Evers 9efaf9e782 Update docs/source/operations/operations_computation.rst
Co-Authored-By: Kristian Evers <kristianevers@gmail.com>
2019-11-29 20:31:58 +01:00
Even Rouault 5d721da04c operations_computation.rst: just mention PROJ 6.3.0 2019-11-29 19:59:13 +01:00
Even RouaultandKristian Evers 21f85158ea Update docs/source/operations/operations_computation.rst
Co-Authored-By: Kristian Evers <kristianevers@gmail.com>
2019-11-29 19:53:09 +01:00
Even RouaultandKristian Evers 31be9108ce Update docs/source/operations/operations_computation.rst
Co-Authored-By: Kristian Evers <kristianevers@gmail.com>
2019-11-29 19:52:59 +01:00
Even RouaultandKristian Evers 109c35fc1f Update docs/source/operations/operations_computation.rst
Co-Authored-By: Kristian Evers <kristianevers@gmail.com>
2019-11-29 19:50:44 +01:00
Even RouaultandKristian Evers d4f73cb40c Update docs/source/operations/operations_computation.rst
Co-Authored-By: Kristian Evers <kristianevers@gmail.com>
2019-11-29 19:50:24 +01:00
Even RouaultandKristian Evers 54aa89325f Update docs/source/operations/operations_computation.rst
Co-Authored-By: Kristian Evers <kristianevers@gmail.com>
2019-11-29 19:47:47 +01:00
Even RouaultandKristian Evers da05128711 Update docs/source/operations/operations_computation.rst
Co-Authored-By: Kristian Evers <kristianevers@gmail.com>
2019-11-29 19:47:35 +01:00
Even RouaultandKristian Evers 9da26adad1 Update docs/source/operations/operations_computation.rst
Co-Authored-By: Kristian Evers <kristianevers@gmail.com>
2019-11-29 19:46:38 +01:00
Even RouaultandKristian Evers 6abd9b3d93 Update docs/source/operations/operations_computation.rst
Co-Authored-By: Kristian Evers <kristianevers@gmail.com>
2019-11-29 19:45:44 +01:00
Even RouaultandKristian Evers 540504fcbf Update docs/source/operations/operations_computation.rst
Co-Authored-By: Kristian Evers <kristianevers@gmail.com>
2019-11-29 19:45:33 +01:00
Even RouaultandKristian Evers 88edcdc30c Update docs/source/operations/operations_computation.rst
Co-Authored-By: Kristian Evers <kristianevers@gmail.com>
2019-11-29 19:45:18 +01:00
Even RouaultandKristian Evers d20ee882d9 Update docs/source/operations/operations_computation.rst
Co-Authored-By: Kristian Evers <kristianevers@gmail.com>
2019-11-29 19:45:04 +01:00
Even RouaultandKristian Evers 77b4491e63 Update docs/source/operations/operations_computation.rst
Co-Authored-By: Kristian Evers <kristianevers@gmail.com>
2019-11-29 19:44:56 +01:00
Even RouaultandKristian Evers e348b97967 Update docs/source/operations/operations_computation.rst
Co-Authored-By: Kristian Evers <kristianevers@gmail.com>
2019-11-29 19:44:46 +01:00
Even RouaultandKristian Evers 2a36b2f5d4 Update docs/source/operations/operations_computation.rst
Co-Authored-By: Kristian Evers <kristianevers@gmail.com>
2019-11-29 19:04:06 +01:00
Even Rouault c5b923510a Doc: add a operations_computation.rst describe the magic behind createOperations() 2019-11-28 22:00:08 +01:00
Even Rouault d12a3df364 scripts/fix_typos.sh: tunings [ci skip] 2019-11-28 21:59:28 +01:00
Even Rouault cef7a8a209 createOperations(): fix vertical to geographic when synthetizing an operation that involves a vertical axis reversal 2019-11-28 18:54:17 +01:00
Even Rouault b0983324c5 Attempt at fixing test failures due to 8a57406377 in the no-grid scenario 2019-11-28 15:31:36 +01:00
Kristian Evers cfbf125b47 Replace OSGeo Community logo with OSGeo Project logo
PROJ is now a proper OSGeo project, let's advertise it as such!
2019-11-28 14:57:05 +01:00
Even Rouault 8a57406377 createOperations(): if direct transformation is found in the database but not instantiable, allow using through intermediates. Should help in theory for Auckland 46 -> NZVD2016 the case but there are other issues 2019-11-28 14:01:18 +01:00
Even Rouault 2a5a2ea57e Merge pull request #1754 from Geomatys/master
EPSG codes for YEAR and SECOND are interchanged
2019-11-28 12:10:08 +01:00
Martin Desruisseaux a50ebaa524 EPSG codes for YEAR and SECOND are interchanged. EPSG registry report EPSG::1040 for second and EPSG::1029 for year. 2019-11-28 09:49:43 +01:00
Even Rouault bb9b925876 createOperations(): fix an exception in transformations between Projected3D CRS and Projected CRS 2019-11-26 23:17:07 +01:00
Even Rouault aeaf21ecae Merge pull request #1748 from rouault/improve_hgrid_vgrid_hgrid_inv_take2
Optimize pipelines involving horizontal shift grid, vertical shift grid, inverse horizontal shift grid (take 2)
2019-11-26 14:11:50 +01:00
Even Rouault 49c15bc4a0 Doc: pipeline: document +omit_fwd and +omit_inv 2019-11-25 20:17:50 +01:00
Kristian Evers f764bd8a97 Merge pull request #1745 from rouault/optimize_compound_to_geog
createOperations(): optimize compoundCRS to geogCRS, when the geogCRS of the compoundCRS is the same as the target geogCRS
2019-11-25 20:01:05 +01:00
Kristian Evers 992bb0b93a Merge pull request #1742 from rouault/script_grid_checks
Add scripts/grid_checks.py
2019-11-25 20:00:32 +01:00
Kristian Evers 42e981be8e Merge pull request #1737 from rouault/proj_create_derived_geographic_crs
Add proj_create_derived_geographic_crs() and proj_create_conversion_pole_rotation_grib_convention() to address GRIB datasets using a pole rotation method
2019-11-25 20:00:19 +01:00
Kristian Evers cf8197bbbc Merge pull request #1749 from rouault/6_3_0_version_numbers
Change version numbers to 6.3.0
2019-11-25 19:59:27 +01:00
Even Rouault 3445967392 Doc: change 7.0 references to 6.3 2019-11-25 17:13:26 +01:00
Even Rouault 649e5ce3ed Change version numbers to 6.3.0 2019-11-25 17:10:52 +01:00
Even Rouault bfb30b5c9c Add scripts/grid_checks.py
Little script used lately to check consistency of the database
regarding the grid_transformation vs grid_alternatives tables.
And also check the content of the database vs proj-datumgrid
to identify gaps.
2019-11-25 16:22:47 +01:00
Even Rouault 3c616a0dc2 pipeline.cpp: use more explict variable names 2019-11-25 16:06:42 +01:00
Even Rouault d1945ecbaf PROJStringFormatter::toString(): optimize hgridshift, vgridshift, hgridshift inv constructs
Given an initial pipeline with

+step +proj=hgridshift +grids=foo
+step +proj=vgridshift +grids=bar
+step +inv +proj=hgridshift +grids=foo

Transform it as

+step +proj=push +v_1 +v_2
+step +proj=hgridshift +grids=foo +omit_inv
+step +proj=vgridshift +grids=bar
+step +inv +proj=hgridshift +grids=foo +omit_fwd
+step +proj=pop +v_1 +v_2

So as to avoid doing a double application of the hgridshift.
2019-11-25 15:12:33 +01:00
Even Rouault d81ffc6fa8 Pipeline: support +omit_fwd and +omit_inv keywords
Inspired from syntax of https://github.com/OSGeo/PROJ/pull/453/files
but 'rebased' on top of previous commit that cleans up the pipeline implementation

Different situations:
- +omit_fwd:
    the step when followed in the forward path will be omitted
    the step when followed in the reverse path will be executed
- +omit_fwd +inv:
    the step when followed in the forward path will be omitted
    the step when followed in the reverse path will be executed (with the inv method)
- +omit_inv:
    the step when followed in the forward path will be executed
    the step when followed in the reverse path will be omitted
- +omit_inv +inv:
    the step when followed in the forward path will be executed (with the inv method)
    the step when followed in the reverse path will be omitted

This will be used in the next commit to optimize constructs like

+step +proj=hgridshift +grids=foo
+step +proj=vgridshift +grids=bar
+step +inv +proj=hgridshift +grids=foo

Such steps are used for CRS to CRS transformations where applying the vertical grid
requires to do a transformation to an interpolating CRS. One can notice that
in the last step will just restore the horizontal coordinates before the first step, so
doing an inverse hgridshift is overkill.

So that could be optimized as:

+step +proj=push +v_1 +v_2
+step +proj=hgridshift +grids=foo +omit_inv
+step +proj=vgridshift +grids=bar
+step +inv +proj=hgridshift +grids=foo +omit_fwd
+step +proj=pop +v_1 +v_2

In the forward path, this will be equivalent to:
+step +proj=push +v_1 +v_2
+step +proj=hgridshift +grids=foo
+step +proj=vgridshift +grids=bar
+step +prop=pop +v_1 +v_2

And similarly in the reverse path, this will be quivalent to:
+step +proj=push +v_1 +v_2
+step +proj=hgridshift +grids=foo
+step +inv +proj=vgridshift +grids=bar
+step +proj=pop +v_1 +v_2
2019-11-25 15:07:25 +01:00
Even Rouault dbac9993cd Merge pull request #1739 from rouault/register_canadian_hshiftgrids
Database: register Canadian provincial horizontal shift grids
2019-11-25 13:52:10 +01:00
Even Rouault ac57cbc602 Merge pull request #1740 from rouault/missing_australian_grids
Database: reference GDA94_GDA2020_conformal_christmas_island.gsb and …
2019-11-25 13:52:02 +01:00
Even Rouault bc5148feb2 Merge pull request #1746 from rouault/fix_1736
normalizeForVisualization() and other methods applying on a ProjectedCRS: do not mess the derivingConversion object of the original object (fixes #1736)
2019-11-25 13:08:05 +01:00
Even Rouault 685a64466a normalizeForVisualization() and other methods applying on a ProjectedCRS: do not mess the derivingConversion object of the original object (fixes #1736)
normalizeForVisualization(), promoteTo3D(), demoteTo2D(), alterGeodeticCRS(),
alterCSLinearUnit() and alterParametersLinearUnit() all used the object
returned by derivingConversionRef() to create a new ProjectedCRS. While doing
so, this caused the derivingConversion of the original object to have its
targetCRS set to the object returned by normalizeForVisualization() and similar.
If that object died, then the weak pointer would be reset, and the original
ProjectedCRS() has now its derivingConversionRef()->targetCRS() nullptr

So bottom line is use derivingConversion() for anything that is not pure
reading !!!

This is confirmed to be the fix for the QGIS scenario in
https://github.com/qgis/QGIS/issues/30569#issuecomment-540060919

In QGIS use case, the issue arised when using a projected CRS with a non-GIS
friendly axis (that is where normalizeForVisualization() created a new projectedCRS)
2019-11-25 05:19:59 +01:00
Even Rouault fb73bc9bf7 createOperations(): optimize compoundCRS to geogCRS, when the geogCRS of the compoundCRS is the same as the target geogCRS 2019-11-25 01:20:38 +01:00
Even Rouault 875aba7c9d CoordinateOperationFactory::Private::setCRSs(): fix potential issue with overriding CRS on a InverseCoordinateOperation (could be related to #1736) 2019-11-25 00:13:10 +01:00
Even Rouault ddd8a1243a pipeline.cpp: hopefully make code more readable by using more C++ goodness. No functional change intended (except a likely minor correction/improvement in get_next_non_whatever_unit in the PJ_INV case where the iteration should start at step-1) 2019-11-24 19:34:17 +01:00
Even Rouault 0eb6ddc838 Database: add missing name mappings for a few French overseas vertical grids 2019-11-23 22:43:24 +01:00
Even Rouault c59ec5850d Database: reference GDA94_GDA2020_conformal_christmas_island.gsb and GDA94_GDA2020_conformal_christmas_island.gsb
Related to https://github.com/OSGeo/proj-datumgrid/pull/62
2019-11-23 20:42:40 +01:00
Even Rouault 6ae8db8780 Database: add missing mapping for 3 GEOID2009 grids that we have now in proj-datumgrid 2019-11-23 20:35:19 +01:00
Even Rouault d0f9ef3083 Database: register Canadian provincial horizontal shift grids
Counterpart of https://github.com/OSGeo/proj-datumgrid/pull/61
Fixes #202
2019-11-23 13:04:40 +01:00
Even Rouault 566a33ffbf travis/osx/before_install.sh: attempt to fix 'pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.' 2019-11-22 14:21:21 +01:00
Kristian Evers 431878d251 Merge pull request #1735 from rouault/doc_github_button
Doc: configure the 'Edit on GitHub' button
2019-11-22 11:38:45 +01:00
Even Rouault c11cc087b1 Add proj_create_derived_geographic_crs() and proj_create_conversion_pole_rotation_grib_convention() to address GRIB datasets using a pole rotation method 2019-11-22 02:40:38 +01:00
Even Rouault 0516d857b0 create_c_api_projections.py: fix for conversions without linear parameters [ci skip] 2019-11-22 00:01:10 +01:00
Even Rouault 8394cacb65 Fix typos in code comments 2019-11-21 21:16:33 +01:00
Even Rouault e2cb5b2150 projjson.rst: typo fix 2019-11-21 21:16:20 +01:00
Even Rouault f4cab59252 Doc: add a about_core.rst file to avoid duplication between index.rst and about.rst 2019-11-21 21:11:34 +01:00
Even Rouault ffb47d7dd2 Doc: configure the 'Edit on GitHub' button 2019-11-21 20:33:28 +01:00
Even Rouault 28f4f9f59e Doc: update status of RFC-2 [skip appveyor] 2019-11-19 15:27:27 +01:00
Even Rouault 2d7a2f73c5 Merge pull request #1734 from rouault/intermediate_crs_through_datum
createOperations(): chain operations whose middle CRSs are not identical but have the same datum
2019-11-19 15:20:00 +01:00
Even Rouault 43c5c8cad3 createOperations(): in some situations, consider when going from A to D intermediates B and C, such there's a A->B operation and C->D operation, and A and C are not exactly the same CRS but use the same geodetic datum 2019-11-19 03:01:03 +01:00
Even Rouault 10434b1f05 createFromCRSCodesWithIntermediates(): do not consider intermediate CRS whose datum has a publication date older than the source and target datums 2019-11-18 23:54:57 +01:00
Even Rouault 360657d16d createGeodeticDatum(): query and set publicationDate 2019-11-18 23:47:17 +01:00
Even Rouault df339795a8 Database: add a publication_date column to geodetic_datum and vertical_datum
Populated from realization_epoch column from EPSG
The 'publication_date' naming is from OGC Topic 2, and hasn't been yet adopted
by the EPSG dataset.
See http://docs.opengeospatial.org/as/18-005r4/18-005r4.html , Annex G, clause 11
and https://32zn56499nov99m251h4e9t8-wpengine.netdna-ssl.com/wp-content/uploads/2019/09/EPSG-relational-data-model-changes_2019-09-18.pdf
2019-11-18 22:41:24 +01:00
Even Rouault b063035618 data/ITRF2014: replace errouneous minus Unicode character by its ASCII version
Affected parameters of Plate Motion Models.
Spotted by Xavier Collilieux on https://lists.osgeo.org/pipermail/proj/2019-November/009011.html
2019-11-18 21:52:27 +01:00
Even Rouault 0d7e238dea createOperations(): fix so that GDA94 -> WGS 84 (G1762) still include a result through ITRF2008. Was broken in master by the addition of the 'WGS84 -> WGS 84 (Gxxx)' null operations in the PROJ authority 2019-11-18 21:11:27 +01:00
Even Rouault 2b9b65d0ff proj_trans(): tune selection of operation when there are several alternatives, to select the operation with best accuracy 2019-11-18 21:04:59 +01:00
Even Rouault ee71b34128 createOperations(): small perf improvement. Do not attempt going through an intermediate CRS if we found direct transformation(s) but had to eliminate them due to other criteria 2019-11-18 19:47:05 +01:00
Even Rouault 70aae0fe42 createOperations(): geocentric to geocentric operation synthetization: distinguish null transform from ballpark transform 2019-11-18 19:43:24 +01:00
Even Rouault 7553b219dc Merge pull request #1733 from rouault/remove_preferred_hub
createOperations(): remove the concept of geodetic_datum_preferred_hub
2019-11-18 16:38:00 +01:00
Even Rouault a8c1588d43 createOperations(): remove the concept of geodetic_datum_preferred_hub
This was introduced in 63857c92b2. Due to
the fix done in the previous commit, we can mostly revert the above commit.
We just keep the added tests and the custom WGS 84<-->WGS 84 (Gxxxx) null
transformations.
2019-11-17 20:13:28 +01:00
Even Rouault 940bb74476 findsOpsInRegistryWithIntermediate(): tune it to be able to research operations that belong to different authorities. Should make the concept of geodetic_datum_preferred_hub introduced some time ago obsolete 2019-11-17 20:03:29 +01:00
Even Rouault 650fb0fd91 typo fix in comment [ci skip] 2019-11-17 19:51:36 +01:00
Even Rouault 6d896cd929 typo fix in comment [ci skip] 2019-11-16 20:05:11 +01:00
Even Rouault 88875c1b19 proj_create_crs_to_crs(): fix autoselection logic of operation to compute correctly the geographic coordinates of the input coord when the CRS is not Greenwich based 2019-11-16 11:53:17 +01:00
Even Rouault fab6ae78ea Merge pull request #1732 from rouault/better_export_proj_create_vertical_crs_ex_to_projjson
import/export PROJJSON: support a interpolation_crs key to geoid_model
2019-11-14 17:38:59 +01:00
Even Rouault 2305dec438 import/export PROJJSON: support a interpolation_crs key to geoid_model for faithful serialization of the geoid_geog_crs parameter of proj_create_vertical_crs_ex() 2019-11-14 14:41:05 +01:00
Even Rouault 541ace2342 projjson.schema.json: add a interpolation_crs key to geoid_model 2019-11-14 14:25:54 +01:00
Even Rouault 448af96a81 Merge pull request #1731 from rouault/fix_createoperations_with_geoidgrids_and_non_metre_vunits
createOperations(): fix transformation computation from/to a CRS with +geoidgrids and +vunits != m
2019-11-14 12:36:41 +01:00
Even Rouault 2cfd4d6293 createOperations(): fix transformation computation from/to a CRS with +geoidgrids and +vunits != m 2019-11-14 02:42:23 +01:00
Even Rouault c42801be9b Code reformat 2019-11-14 01:38:04 +01:00
Even Rouault e151e92371 Merge pull request #1729 from glostis/minor-typo
Minor typo fix in docs faq.rst
2019-11-12 17:38:09 +01:00
Guillaume Lostis 1474a54feb Minor typo fix in docs faq.rst 2019-11-12 17:32:00 +01:00
Even Rouault 899b7ef5c8 Merge pull request #1726 from rouault/proj_assign_context_fix
Fix proj_assign_context()/pj_set_ctx() with pipelines and alternative coord operations
2019-11-12 14:41:40 +01:00
Even Rouault 9a23a23ef2 Fix proj_assign_context()/pj_set_ctx() with pipelines and alternative coord operations
Fixes https://github.com/OSGeo/gdal/issues/1989

pj_set_ctx() only changes the context to the main object. It should also
recurse down to the steps of the pipeline and the alternative coordinate
operations hold in alternativeCoordinateOperations

In the GDAL use case with multithreaded reprojection, and objects being transferred
between thread, this would cause a failed coordinate transformation to affect
an unrelated transformation of another thread...
2019-11-12 13:33:47 +01:00
Even Rouault ca2ab9ed24 Merge pull request #1725 from rouault/update_to_epsg_9_8_4
Database: update to EPSG v9.8.4
2019-11-12 12:33:19 +01:00
Even Rouault 87a34cbf12 Database: update to EPSG v9.8.4 2019-11-12 00:15:09 +01:00
Kristian Evers ffd50ca71f Merge pull request #1722 from rouault/document_identify_oddity
Doc: document oddity related to identification of CRS from ESRI WKT
2019-11-11 18:16:38 +01:00
Even Rouault 6780dea0b5 Doc: document oddity related to identification of CRS from ESRI WKT
Or more generally formulations that don't have an explicit axis order.
Refs https://github.com/pyproj4/pyproj/issues/475

projinfo 'GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]]'
returns EPSG:4326 with 100% confidence.
But its axis order is not the same as EPSG:4326.

I've pondered about this, like decreasing the confidence of the match,
but this would have downstream effects on GDAL (shapefiles with the
above content in a .prj would no longer be identified as EPSG:4326).
So for now, document that oddity.
2019-11-09 13:22:48 +01:00
Even Rouault 25c4f55f85 Merge pull request #1721 from rouault/require_sqlite_3_11
Build: require SQLite 3.11 (refs #1718)
2019-11-09 11:34:42 +01:00
Mike Taves b462f1b4d7 README.md: update AppVeyor badge to specify branch [ci skip] 2019-11-08 15:19:26 +13:00
Even Rouault 589f210478 Doc: document build requirements 2019-11-07 19:22:19 +01:00
Even Rouault d2a2b3e4e9 Build: require SQLite 3.11 (refs #1718)
PROJ can build and run against older version (3.7 for example), but it has
been found that performance is horrible. With 3.11 (Ubuntu 16.04), it is
fine, so sets this as the minimum version.
2019-11-07 13:48:09 +01:00
Kristian Evers 8dafb4505c Merge pull request #1719 from OSGeo/install_update_docker_fedora
updated docker URLs and added Fedora entry
2019-11-07 13:41:28 +01:00
Markus Neteler 3e4a6ab10b updated docker URLs and added Fedora entry 2019-11-07 10:51:32 +01:00
Kristian Evers c7a1791d46 Doc: fix formatting in usage/transformation.rst 2019-11-05 08:22:43 +01:00
Even Rouault 34dc695402 Merge pull request #1710 from rouault/geoid_model
Add support for GEOIDMODEL
2019-11-04 22:35:57 +01:00
Even Rouault 1bee3d54b0 Merge pull request #1712 from rouault/doc_usage_transformation_fixes
Doc: fixes in usage/transformation.rst
2019-11-04 21:54:27 +01:00
Even Rouault 67e987ed84 proj_create_vertical_crs(): enhance doc 2019-11-04 16:20:13 +01:00
Even Rouault 71b7f9869f Doc: projjson: mention v0.2 2019-11-04 15:03:16 +01:00
Even Rouault c975c6d13f Merge remote-tracking branch 'origin/master' into geoid_model 2019-11-04 14:58:24 +01:00
Even Rouault 163a8d5953 Doc: fixes in usage/transformation.rst
- Section about cs2cs no longer applies to PROJ 6. Ammended to underline
  that.
- Remove no longer relevant/unclear caveats.
2019-11-04 13:21:59 +01:00
Even Rouault 90c1166e31 Merge pull request #1688 from apacker1/gie
Fix errors running gie-based tests in Debug mode on Windows
2019-11-03 18:18:29 +01:00
Even Rouault b56c19d71b Merge pull request #1711 from rouault/fix_gdal_1972
createOperations(): in some circumstances we wrongly promoted a Helmert geog2D transformation to a geog3D
2019-11-03 16:20:18 +01:00
Even Rouault 5e5997a610 createOperations(): in some circumstances we wrongly promoted a Helmert geog2D transformation to a geog3D
Fixes for example EPSG:4979 to EPSG:2189, as raised in
https://github.com/OSGeo/gdal/issues/1972#issuecomment-548814354
2019-11-03 15:33:55 +01:00
Even Rouault cff22050fa Import from WKT of VERT_CS: remove outdated EXTENSION.PROJ4_GRIDS for NAVD88 2019-11-03 11:38:39 +01:00
Even Rouault ff69c7e453 Import from WKT: add tweaks for Lidar WKT1 VERT_CS that embeds geoid model in CRS name 2019-11-03 11:38:39 +01:00
Even Rouault 0923704ba3 Database: add mapping between EPSG geoid and PROJ grid names for GEOID99, 03, 06, 09 and 18. Related to https://github.com/OSGeo/proj-datumgrid/pull/60 that add those grids in proj-datumgrid-north-america 2019-11-02 23:38:41 +01:00
Even Rouault 5ce02144c3 Merge pull request #1709 from rouault/improve_extent_filtering
Better filtering based on extent and performance improvements
2019-11-02 23:10:44 +01:00
Even Rouault 7492e65bfe Add a geoid_model name in database, use GEOIDMODEL for transformations, add a proj_create_vertical_crs_ex() 2019-11-02 22:28:54 +01:00
Even Rouault 31fd3de9c2 WKT and PROJJSON: add import/export of geoid model of VertCRS 2019-11-02 15:43:42 +01:00
Even Rouault 3b25b5011f Add schemas/v0.2/projjson.schema.json 2019-11-02 15:10:13 +01:00
Even Rouault d9064c3de6 Add tracing framework, and improve createOperations() performance 2019-11-02 14:54:20 +01:00
Kristian Evers c64d3fcb3a Merge remote-tracking branch 'osgeo/master' 2019-11-01 19:58:56 +01:00
Kristian Evers 1e960f99c7 Update website with 6.2.1 release 2019-11-01 19:58:26 +01:00
Even Rouault 8a31e8778b Merge pull request #1703 from rouault/improve_transformation_with_alternative_vertical_unit_and_direction
Improve transformations with alternative vertical unit and direction
2019-10-31 16:16:01 +01:00
Even Rouault bb3da7f1e4 Merge pull request #1701 from rouault/doc_projjson
Document PROJJSON
2019-10-31 13:37:48 +01:00
Even Rouault 00608cc1c8 createOperations(): try to recover extent of CRS from the database when they are missing, especially for compound CRS. Helps having shorter/more relevant results 2019-10-30 23:44:22 +01:00
Even Rouault 67657e7e74 Merge pull request #1702 from rouault/fix_1700
createFromWkt(): be tolerant to missing scale_factor parameter (fixes #1700)
2019-10-30 23:02:08 +01:00
Even Rouault 3655cfa7e9 createOperations() filtering: code changes regarding extent handling. No functional changes 2019-10-30 22:10:52 +01:00
Even Rouault 81e06f42c7 Add a test to check we can use a VerticalCRS from its name only without the EPSG code 2019-10-30 18:20:17 +01:00
Even Rouault 9095cf6fa3 createFromWkt(): be tolerant to missing scale_factor parameter (fixes #1700)
This is invalid WKT, but GDAL 2.4 used to accept it and make a reasonable
use of it...

Currently we default it to 0 which is non sensical. Better use 1 as GDAL 2.4
did, and emit a warning.

Other fix: proj_create_from_wkt() was documented to operate by default in
non-strict validation mode, but it was actually in strict mode. So do as
documented.
2019-10-30 17:49:39 +01:00
Even Rouault 1920c5cee7 Doc: add a redirects extension, and make a projjson.html redirect at the top to its current location 2019-10-30 17:41:10 +01:00
Even Rouault 6ce8ef3038 Document PROJJSON
More could probably be written, but at least this can serve as a
landing/reference page for other documents/specifications to point to.
2019-10-30 16:22:17 +01:00
Even Rouault 05a7bcfa56 Rework importing of Vertical unit change from EPSG db, add support for Height Depth Reversal and use it in createOperations() 2019-10-30 11:28:43 +01:00
Even Rouault fc769bbd9a news.rst: fix hyperlink 2019-10-29 23:34:59 +01:00
Even Rouault ffc865a41a Vertical transformations: improve situations similar to transforming from 'NAVD88 (ftUS)' to X, where we now consider the available transformations from 'NAVD88' to X that might exist in the database 2019-10-29 22:20:24 +01:00
Even Rouault 35135a0728 Merge pull request #1698 from rouault/wip
createOperations(): split gigantic method into many smaller ones. No functional change expected
2019-10-29 17:12:36 +01:00
Even Rouault eed030d96b createOperations(): split gigantic method into many smaller ones. No functional change expected 2019-10-29 16:07:03 +01:00
Even Rouault 805b187edd Little tweaks in implicit 2D/3D geog conversions in compoundCRS to geogCRS transformations 2019-10-29 11:48:17 +01:00
Even Rouault 2366a528aa createOperations(): avoid infinite recursion in a super weird case. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=18587 2019-10-28 15:12:20 +01:00
Even Rouault 9526fb84a7 Reformat 2019-10-28 15:04:51 +01:00
Even Rouault d9b9afe2b9 Merge pull request #1697 from rouault/cppcheck_fixes
Fixes/workaround to be able to use cppcheck from Ubuntu 16.04 (fixes #1648)
2019-10-28 10:41:39 +01:00
Even Rouault 7026fa2241 travis/linux_gcc/before_install.sh: use cppcheck from distribution 2019-10-28 09:03:59 +01:00
Even Rouault 4330f9fa43 Various fixes/workarounds to make cppcheck 1.72 (Ubuntu 16.04) and HEAD/1.90dev happy (fixes #1648) 2019-10-28 09:03:10 +01:00
Even Rouault e2d5b13f34 Merge pull request #1696 from rouault/modify_concatenated_operation_structure
Database: add an auxiliary concatenated_operation_step table to allow arbitrary number of steps (fixes #1632)
2019-10-27 20:59:29 +01:00
Even Rouault 46c6ddf84d Database: add an auxiliary concatenated_operation_step table to allow arbitrary number of steps (fixes #1632)
EPSG:9103 (NAD27 to ITRF2014 (1)) is now handled.

Note:EPSG:9104 (NAD27 to ITRF2014 (2)) is not currently, since it uses
for step EPSG:8861 (NAD83(HARN) to NAD83(FBN) (1))
an unsupported transformation method (NADCON5 (3D), EPSG:1075).
2019-10-27 19:16:04 +01:00
Kristian Evers e7dff6e3a9 Merge pull request #1681 from kbevers/CoC
Add code of conduct
2019-10-26 15:36:07 +02:00
Kristian Evers c7610f8364 Add code of conduct 2019-10-25 17:03:34 +02:00
Even Rouault 07c463ebf7 Merge pull request #1691 from rouault/fix_1690_krovak_axis_order_esri
importFromWkt(): fix axis orientation for non-standard ESRI WKT (fixes #1690)
2019-10-25 14:36:28 +02:00
Even Rouault a7ba806908 importFromWkt(): fix axis orientation for non-standard ESRI WKT (fixes #1690) 2019-10-25 11:04:16 +02:00
Even Rouault e14651b831 Fix indentation 2019-10-25 10:54:36 +02:00
Even Rouault 63c6bf169a Merge pull request #1689 from rouault/generalize_proj_crs_create_bound_vertical_crs_to_WGS84
Generalize generalize_proj_crs_create_bound_vertical_crs_to_WGS84()
2019-10-25 10:30:17 +02:00
Even Rouault b8f00d8433 Generalize generalize_proj_crs_create_bound_vertical_crs_to_WGS84()
In recent commits, we added a generalize_proj_crs_create_bound_vertical_crs_to_WGS84()
function, but there are situations where more accurate results can be obtained, if
instead of specifying WGS84 as the hub CRS, the user can specify the exact hub CRS.
For example the GEOID2018 grid is against NAD83(2011).
So replace this function with proj_crs_create_bound_vertical_crs()
2019-10-24 18:54:18 +02:00
Even Rouault 8d4a054601 Merge pull request #1686 from ffontaine/master
proj.pc.in: add SQLITE3_LIBS to Libs.Private
2019-10-23 21:50:50 +02:00
Asa Packer 0016d47f22 Fix errors running gie-based tests in Debug mode on Windows 2019-10-23 12:33:40 -07:00
Even Rouault b82dbf2726 Fix test tolerance to run on powerpc architecture 2019-10-22 14:10:39 +02:00
Fabrice Fontaine 0181fd5fa0 proj.pc.in: add SQLITE3_LIBS to Libs.Private
Add @SQLITE3_LIBS@ to Libs.Private so applications linking statically
with proj (such as libgeotiff) will know that they have to link with
-lsqlite3

Fixes:
 - http://autobuild.buildroot.org/results/737db533c16f285a02118ab048e8427d3e35803d

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
2019-10-20 11:17:13 +02:00
Even Rouault caa512b5b1 createFromPROJString(): do not loop forever on malformed string. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=17923. master only 2019-10-19 22:59:55 +02:00
Even Rouault 20b8604f3f Merge pull request #1683 from rouault/fix_double_vertical_unit_conversion
createOperations(): fix double vertical unit conversion from CompoundCRS to other CRS when the horizontal part of the projected CRS uses non-metre unit
2019-10-18 23:25:47 +02:00
yonarw 00666ee835 Fix segfaults in case of out-of-memory situations (fixes #1678) (#1679) 2019-10-18 22:34:29 +02:00
Even Rouault 0af6db3af5 createOperations(): fix double vertical unit conversion from CompoundCRS to other CRS when the horizontal part of the projected CRS uses non-metre unit
Fix issue reported on https://lists.osgeo.org/pipermail/proj/2019-October/008939.html
2019-10-18 21:55:22 +02:00
Even Rouault f9ba18a4d0 Merge pull request #1682 from Geomatys/master
Fix two sentences that seem to be copy-and-paste forgotten.
2019-10-18 00:43:54 +02:00
Martin Desruisseaux 4356d7884a Fix two sentences that seem to be copy-and-paste forgotten. 2019-10-18 00:26:32 +02:00
Kristian Evers 45a4ab60d9 Use dedicated logo for website (#1675)
Use dedicated logo for website
2019-10-16 15:04:32 +02:00
Kristian Evers 2f8384b771 Use dedicated logo for website
Fixes #1670
2019-10-16 14:02:33 +02:00
Even Rouault 5fbcf98c9a Merge pull request #1673 from rouault/update_epsg_9_8_3
Database: update to EPSG v9.8.3
2019-10-16 12:27:12 +02:00
Kristian Evers e2abe08de3 Merge pull request #1674 from kbevers/improve-doxygen-script
doxygen build script: don't output to /tmp
2019-10-16 06:29:19 +02:00
Even Rouault 885f0b59ea grid_alternatives.sql: link EPSG grid names to PROJ ones for the the 2 'RGSPM06 to Danger 1950 height' grids 2019-10-15 22:29:21 +02:00
Kristian Evers a43ae6ed27 doxygen build script: don't output to /tmp
The doxygen log-files was previously put in /tmp. This is usually fine
on UNIX-type systems but when building the docs on Windows with Cygwin/MSYS2
tools the script can fail since that path is guaranteed to exist. This
commit makes sure that the doxygen script outputs its files in a path
relative to the current working directory.
2019-10-15 21:54:47 +02:00
Even Rouault 0c487cda1e Database: update to EPSG v9.8.3
Note: a hack has been added into customizations.sql to cancel deprecatation
of USA geoid2012 grids by geoid2018 grids, as the later are not yet available
in proj-datumgrid-northamerica (https://github.com/OSGeo/proj-datumgrid/issues/55)
2019-10-15 21:05:36 +02:00
Even Rouault d4245b06db formatting change 2019-10-15 21:03:47 +02:00
Even Rouault 225435e908 include/proj/util.hpp: avoid warnings with older gcc 2019-10-15 09:28:59 +02:00
Even Rouault 368b96f05d Merge pull request #1669 from Geomatys/master
Remove sentence saying that coordinate system might by null
2019-10-13 16:08:53 +02:00
Martin Desruisseaux 1e065fb165 Remove the sentence in documentation saying that CRS::coordinateSystem() may return null.
It is true for datum(), but does not apply to coordinateSystem().
2019-10-13 16:00:46 +02:00
Even Rouault 3804eac112 Merge pull request #1653 from rouault/doc_ob_tran
ob_tran doc: fix/clarify semantics of o_lat_p/o_lon_p
2019-10-13 12:58:53 +02:00
Kristian Evers 2d25faba62 Merge pull request #1664 from ffontaine/master
proj.pc.in: add Libs.Private
2019-10-12 09:05:33 +02:00
Kristian Evers 3cae496c25 Merge pull request #1665 from rouault/fix_custom_compound_crs_with_NAD83_2011_and_geoidgrid_to_WGS84_G1762
proj_create_crs_to_crs(): remove elimination of Ballpark operations that caused transformation failures in some cases
2019-10-12 09:01:36 +02:00
Even Rouault 25e1f6ee78 createOperations(): allow transforming from a compoundCRS of a bound verticalCRS to a 2D CRS 2019-10-12 00:15:16 +02:00
Even Rouault c5fa51fb63 proj_create_crs_to_crs(): remove elimination of Ballpark operations that caused transformation failures in some cases 2019-10-12 00:04:23 +02:00
Fabrice Fontaine bdee73f3e0 proj.pc.in: add Libs.Private
Add -lstdc++ to Libs.Private to allow packages such as libgeotiff to
retrieve this dependency when linking statically with proj

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
2019-10-09 18:49:09 +02:00
Kristian Evers a6dccb3b8f Add logo to website (#1659)
Add logo to website
2019-10-07 13:45:35 +02:00
Kristian Evers c4a6e07a3c Add logo to website 2019-10-07 13:44:13 +02:00
Kristian Evers 46263cfa55 Add PROJ log
Courtesy of Sylvain Beorchia. The logo is put under the CC-0 license.
2019-10-07 13:42:49 +02:00
Kristian Evers 91d4105199 Doc: Update conda install procedure
The PROJ Conda package is now simply called "proj". Also mention that the grid packages can be installed with Conda.
2019-10-04 13:50:44 +02:00
Even Rouault 2bac8760df Merge pull request #1656 from rouault/demote_to_2D
Add a proj_crs_demote_to_2D(). Useful if forced to export a 3D CRS to a best approximate as WKT1 that doesn't support it
2019-10-04 11:45:43 +02:00
Even Rouault 7bfef6a9c9 Merge pull request #1655 from rouault/aeqd_obliq_sphere
aeqd: for spherical forward path, go to higher precision ellipsoidal case when the point coordinates are super close to the origin (fixes #1654)
2019-10-04 11:45:32 +02:00
Even Rouault ae779eaa82 Add a proj_crs_demote_to_2D(). Useful if forced to export a 3D CRS to a best approximate as WKT1 that doesn't support it 2019-10-04 01:13:43 +02:00
Even Rouault 109f75c74e proj_normalize_for_visualization(): make it work with CRS objects 2019-10-04 00:22:40 +02:00
Even Rouault 9b561406e1 aeqd: for spherical forward path, go to higher precision ellipsoidal case when the point coordinates are super close to the origin (fixes #1654) 2019-10-03 20:49:26 +02:00
Even Rouault c45855b38f DerivedGeographicCRS: allow exporting +proj=ob_tran +o_proj=longlat to PROJ string 2019-10-03 15:10:57 +02:00
Even Rouault 5620ad90e4 ob_tran.cpp: add comment to link maths with Snyder's formulas 2019-10-03 14:05:44 +02:00
Even Rouault 5cd917f6c6 ob_tran doc: fix/clarify semantics of o_lat_p/o_lon_p
This is a super confusing topic, but from experiments, and in particular with
the example of Fairgrieve projection, o_lat_p and o_lon_p are the coordinates
of the North pole of the unrotated geographic CRS expressed in the rotated
geographic CRS.
This is different from defining a 'new pole', which would be the coordinates
of the rotated North pole expressed in the unrotated CRS.
2019-10-03 13:58:19 +02:00
Even Rouault 1a0bb3c0f1 Merge pull request #1651 from jakob/patch-1
Only call pkg-config in configure when necessary
2019-10-03 11:33:09 +02:00
Jakob Egger f47eb7a018 Only call pkg-config in configure when necessary
Only call pkg-config in the configure script when the variables $SQLITE3_CFLAGS and $SQLITE3_LIBS are not set.

This allows building PROJ when pkg-config is not available.
2019-10-03 09:28:57 +02:00
Even Rouault dca893f02a Merge pull request #1650 from rouault/map_nsper_to_vertical_perspective
Add API and WKT mapping for 'nsper' to EPSG Vertical Perspective method
2019-10-02 22:19:41 +02:00
Even Rouault f32255aa11 Add API and WKT mapping for 'nsper' to EPSG Vertical Persepective method
Relates to https://github.com/OSGeo/gdal/issues/1856
2019-10-02 20:34:08 +02:00
Even Rouault a167035343 nsper: add a comment to relate it to EPSG Vertical Perspective 2019-10-02 18:36:14 +02:00
Even Rouault 8040ef90f1 Reformat file 2019-10-02 16:14:37 +02:00
Charles Karney b563f1515c Merge pull request #1649 from cffk/geod-1.50-fix
Fix some Cppcheck complaints in geodesic routines
2019-10-01 23:15:42 -04:00
Charles Karney cdd2a72f64 Fix some Cppcheck complaints in geodesic routines 2019-10-01 18:17:03 -04:00
Simon Schneegans 50a182148d Add rotation support to the HEALPix projection (#1638) 2019-10-01 14:05:59 +02:00
Even Rouault 8909e85e67 Merge pull request #1642 from rouault/improve_compound_to_geog
Improve vertical transformation support
2019-09-30 12:02:15 +02:00
Even Rouault 12aeb6fd21 Merge pull request #1645 from rouault/improve_proj_string_parsing
PROJ string CRS ingester: recognize more unit-less parameters, and general handling of +key=string_value parameters
2019-09-30 12:02:01 +02:00
Even Rouault 7f27b8d38c AuthorityFactory::getDescriptionText(): return CRS object in priority 2019-09-30 12:00:47 +02:00
Even Rouault 2132d4bbd0 PROJ string CRS ingester: recognize more unit-less parameters, and general handling of +key=string_value parameters 2019-09-28 12:48:17 +02:00
Even Rouault 34403c875e test/gie/builtins.gie: remove unused parameters 2019-09-28 11:28:23 +02:00
Even Rouault 862f04e7d9 Improve vertical transformation support
When we had a transformation between a compoundCRS and a target geographicCRS,
we did not take into account that in the vertical->other_geog_CRS transformation
we used, the other_geog_CRS was an implicit interpolation CRS. Thus before
doing vertical adjustment, we must go to this interpolation CRS.
The workflow is thus:
source CRS -> interpolation CRS + vertical adjustment + interplation CRS -> target CRS
2019-09-26 14:18:21 +02:00
Even Rouault c1efe4ae32 Merge pull request #1641 from rouault/fix_proj_create_crs_to_crs_if_only_ballpark_transf
proj_create_crs_to_crs(): fix when there are only transformations with ballpark steps
2019-09-26 13:19:22 +02:00
Even Rouault 24405e6007 proj_create_crs_to_crs(): fix when there are only transformations with ballpark steps
Currently we would discard all operations, resulting in a PJ object with
zero candidates. Better use those operations if nothing better is available.

Was seen on transforming from ETRS89 / UTM zone 31N + EGM96 height to WGS 84 (G1762).
The horizontal transformation from ETRS89 to WGS 84 (G1762) is a ballpark one.
2019-09-26 12:23:56 +02:00
Kristian Evers 6da6b21d6d Merge pull request #1640 from rouault/detect_CS_use
travis/install.sh: add a way of detecting problematic use of CS identifier for Solaris compat
2019-09-26 07:18:16 +02:00
Even Rouault bf2c2b26c6 travis/install.sh: add a way of detecting problematic use of CS identifier for Solaris compat 2019-09-25 20:44:13 +02:00
Even Rouault 6ed53b7a8c Merge pull request #1637 from rouault/fix_solaris_build
io.cpp: fix build on Solaris
2019-09-25 20:38:26 +02:00
Even Rouault 03e5d0b6fa isea: avoid shadowing warning on 'quad' on Solaris
Patch proj-6.2.0-isea.gpatch by Eric Dechaux
2019-09-25 15:56:17 +02:00
Even Rouault d0941d05cb hatano/mbtfpp: do not use CS to fix Solaris build issue
Patches proj-6.2.0-hanato.gpatch and proj-6.2.0-mbtfpp.gpatch from Eric Dechaux
2019-09-25 15:55:33 +02:00
Mike Taves b21f2b98b4 Merge pull request #1634 from mwtoews/ci
Upgrade Travis CI distribution
2019-09-25 21:34:45 +12:00
Mike Taves 4013aeaaf7 Upgrade testing from trusty to xenial, and also:
* From openjdk-7 via apt to openjdk-11 via Travis CI xenial's $JAVA_HOME
* From mingw 4.8 -> 5.3, as supported by xenial
* clang+llvm for csa kept at version 6.0.0, but for ubuntu-16.04
* Furthermore xenial implicitly has many upgrades, specifically:
  - gcc 4.8.4 -> 5.4.0
  - clang 4.0.0 -> 5.0.0
  - cmake 3.9.2 -> 3.12.4
  - python 3.4.3 -> 3.5.2
* cppcheck version kept at 1.61 (for trusty) due to many
  false positives with version 1.72 (for xenial)
* Community code contribution documentation simplified to remove
  version of cppcheck, as this may outdated with updates to scripts
2019-09-25 20:50:07 +12:00
Mike Taves 14828d9695 Rearrange Travis CI scripts to be more modular
* Split global before_install for apt and pip
* Use -qq option for apt-get, which implies -y
* Use list of targets with apt-get rather than one-per-line
* Use local variables for mingw32/install.sh
* Show version info for cppcheck, pip and python
* Simplify clang+llvm-6 path
2019-09-25 11:16:27 +12:00
Even Rouault ecea0e3c59 io.cpp: fix build on Solaris
Rename CS template argument, to avoid conflict with macro in Solaris system headers.

Similar to 2f8bd93486
2019-09-24 15:35:01 +02:00
Kristian Evers da2163996e Database: update to EPSG 9.8.2 (#1633)
Database: update to EPSG 9.8.2
2019-09-24 09:27:49 +02:00
Even Rouault 0f4f7870d8 createOperations() sorting: sort operations that cannot be exported as PROJ pipelines at end 2019-09-24 00:41:28 +02:00
Even Rouault 841673c8a3 Database: update to EPSG 9.8.2
With limitation of https://github.com/OSGeo/PROJ/issues/1632 regarding
concatenated operations with more than 3 steps.
2019-09-23 15:03:56 +02:00
Even Rouault a71fce63c2 Merge pull request #1631 from rouault/fix_1623
Document the autopromotion to 3D when mix of 2D/3D CRS in createOperations(), and test it (fixes #1623)
2019-09-23 14:27:50 +02:00
Even Rouault da802e250b Document the autopromotion to 3D when mix of 2D/3D CRS in createOperations(), and test it (fixes #1623) 2019-09-23 13:26:02 +02:00
Kristian Evers 91d3d51a5a Merge pull request #1630 from snowman2/promote
promote proj_assign_context to proj.h from proj_experimental.h
2019-09-23 09:29:25 +02:00
snowman2 e414ddcc8f promote proj_assign_context to proj.h from proj_experimental.h 2019-09-22 19:53:48 -05:00
Charles Karney fcfde94401 Merge pull request #1629 from cffk/geod-1.50
Update to version 1.50 of the geodesic library.
2019-09-22 17:42:48 -04:00
Charles Karney a2efc211eb Update to version 1.50 of the geodesic library.
* Allow arbitrarily complex polygons in geod_polygon_*.  In the case
  of self-intersecting polygons the area is accumulated
  "algebraically", e.g., the areas of the 2 loops in a figure-8
  polygon will partially cancel.
* Simplify code by using C99 functions remainder and remquo.
* More test coverage.

Fixes to associated files:

* src/pipeline.cpp invoke geod_init with f = es / (1 + sqrt(1 - es))
  instead of (the less accurate) f = 1 - sqrt(1 - es)
* src/apps/geod_set.cpp remove "#undef f" (a dangling relic?).
2019-09-22 16:46:34 -04:00
Charles Karney d1bf223813 Merge pull request #1626 from cffk/vs-version-check
Improve Visual Studio compatibility check in CMake.
2019-09-22 12:03:19 -04:00
Charles Karney c753607ea4 Merge branch 'master' into vs-version-check
Incorportate fix to travis/linux_gcc/before_install.sh
2019-09-22 08:02:27 -04:00
Even Rouault 1cef32f18e Merge pull request #1627 from rouault/fix_linux_gcc_config_wrt_sphinxontrib_bibtex
Travis linux_gcc: force sphinxcontrib-bibtex version to avoid issue with installing sphinx >= 2.0
2019-09-22 14:00:25 +02:00
Even Rouault 6b5a1b676e Travis linux_gcc: force sphinxcontrib-bibtex version to avoid issue with installing sphinx >= 2.0 2019-09-22 13:29:58 +02:00
Charles Karney 0ea4259000 Revert travis change -- it didn't work. 2019-09-22 06:31:47 -04:00
Charles Karney 7cd48dcd28 Manually install sphinxcontrib-bibtex for travis/linux_gcc to resolve travis error 2019-09-21 17:19:17 -04:00
Charles Karney 39d25a7650 Back out of previous commit mistakenly pushed to master 2019-09-21 17:17:59 -04:00
Charles Karney afee1b7a50 Manually install sphinxcontrib-bibtex for travis/linux_gcc to resolve travis error 2019-09-21 17:16:21 -04:00
Charles Karney ddadb683bd Improve Visual Studio compatibility check in CMake.
Make the setting of major toolset version variables parallel that for
cross-compilation.  Add comments so it's easier for the next person
looking at this code to figure what's going on.  Note: no need to unset
variables at the end of the version check file (the file is read in a
nested scope).
2019-09-21 08:43:57 -04:00
Kristian Evers cd505feb34 Merge pull request #1625 from hobu/cmake-proj_lib-tests
set PROJ_LIB on test targets for CMake
2019-09-20 08:43:40 +02:00
Charles Karney af2da10565 Merge pull request #1624 from cffk/c99-upgrade
Require C99 compiler see #1621
2019-09-19 19:55:33 -04:00
Howard Butler 29ddc39d24 address PR comments 2019-09-19 15:00:46 -05:00
Howard Butler 6be540696c set PROJ_LIB on test targets for CMake 2019-09-19 13:32:38 -05:00
Charles Karney 1c2f375033 Require C99 compiler see #1621
cmake and autoconf now stipulate C99
change c89 to c99 in travis jobs
remove HAVE_C99_MATH checks

(unrelated) relax Visual Studio compatibility check in
cmake/project-config-version.cmake.in (VS 2019 can use a VS 2015 library
but not vice versa).
2019-09-19 09:25:09 -04:00
Charles Karney 8948068dea Merge pull request #1618 from cffk/c99-math-update
Remove unneeded C99 compatibility functions from math.cpp and proj_math.h
I'll do the clean up of the -std=c89 flags etc. as a separate pull request.
2019-09-19 08:30:21 -04:00
Charles Karney 21c6d9cccd Manually delete pj_isnan in scripts/reference_exported_symbols.txt.
Evidently the order of entries matters and the order might depend the
platform used to create libproj.so
2019-09-18 16:46:03 -04:00
Charles Karney aa215ceeaa Delete proj_math.h. Replace includes by <math.h>; we'll see if anyone
needs <limits.h>.  Update scripts/reference_exported_symbols.txt and
src/proj_symbol_rename.h.
2019-09-18 16:29:35 -04:00
Charles Karney 646da7bf38 math.cpp removed since its isnan isn't used. Keep proj_math.h (which
just includes math.h and limits.h) since it's included in a score of
places.
2019-09-18 14:25:15 -04:00
Charles Karney 329e7a9be6 Get rid of dead code. The end result of this chain of commits is to
eliminate most of math.cpp.  All that is left is the handling of
isnan (and I've this because math.cpp notes that gie.c uses pj_isnan).
geodesic.c now handles supplying C99 math functions internally and this
can go away once C99 support is mandated.
2019-09-18 13:27:06 -04:00
Even Rouault 72203ca68e Merge pull request #1620 from rouault/ossfuzz_17190_and_others
Assorted set of fixes for boring oss-fuzz related errors (mostly divisions by zero in odd situations)
2019-09-18 16:57:19 +02:00
Charles Karney 9f41f427d0 Let geodesic.c use its own versions of C99 math functions if necessary. 2019-09-18 07:16:30 -04:00
Charles Karney 93d0f53db7 Try removing C99 math functions from math.cpp (but leave isnan). 2019-09-18 07:08:55 -04:00
Even Rouault bc53524cfb ell_set.cpp: avoid division by zero in R_lat_a case. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=16130 2019-09-17 21:48:46 +02:00
Even Rouault 8e76c61082 helmert: validate scale parameter to avoid later division by zero. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=16106 2019-09-17 21:41:15 +02:00
Even Rouault 216cf0c26c aea_e_inverse(): avoid calling asin() with invalid argument which results in NaN being propagated. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=15336 2019-09-17 21:34:46 +02:00
Even Rouault a49d5a5dad pj_Convert_Geocentric_To_Geodetic(): avoid division by zero on weird input coordinates and ellipsoid values. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=15148& 2019-09-17 21:10:56 +02:00
Even Rouault 15a85172b7 isea: avoid undefined behaviour on left shift of negative value. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=15009 2019-09-17 21:08:41 +02:00
Even Rouault 3a68912a6b pj_Convert_Geocentric_To_Geodetic(): avoid division by zero on weird input coordinates and ellipsoid values. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=14766 2019-09-17 21:01:04 +02:00
Even Rouault 78a8f6547b standard_fuzzer.cpp: tweak to be able to compile it against libproj.so 2019-09-17 21:00:24 +02:00
Even Rouault 81cb851116 geos: avoid division by zero. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=14666 2019-09-17 20:45:06 +02:00
Even Rouault 91d23e65ac eqdc: avoid potential division by zero. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=17190 2019-09-17 19:53:13 +02:00
Charles Karney c080801637 Fix floating-point number into integer warning in math.cpp 2019-09-17 11:50:45 -04:00
Charles Karney b154e42c91 Fix typo in geodesic.c 2019-09-17 11:19:23 -04:00
Charles Karney 5fe21c3e2b Add atanh, copysign, cbrt, remainder, remquo to math.cpp.
The supported C99 math functions provided by math.cpp are thus

   hypot
   log1p
   asinh
   atanh
   copysign
   cbrt
   remainder
   remquo
   round
   lround

Make compiler checks in CMakeLists.txt and configure.ac consistent with
this set.

Make geodesic.c use the math.cpp defined (instead of the internally
defined) versions of

   hypot
   atanh
   copysign
   cbrt

This is keyed off the presence of the PROJ_LIB macro.  I had at one
time

    https://github.com/OSGeo/PROJ/pull/1425

suggested supplying an additional macro PROJ_COMPILATION when compiling
geodesic.c.  However, PROJ_LIB seems to fill the bill OK.

The *next* version of geodesic.c (due out in a few weeks) will also use

   remainder
   remquo

All of this is only of concern for C compilers without C99 support.  So
this may become an historical footnote at some point.
2019-09-17 10:29:53 -04:00
Kristian Evers d2f661fc99 Update link to Austrian grid files. Fixes #1546 2019-09-17 11:19:51 +02:00
Kristian Evers 8a92356e97 Merge pull request #1582 from rschmunk/patch-1
Debug Bertin1953
2019-09-16 17:00:19 +02:00
Kristian Evers 03276de30c Update doc image for bertin1953 2019-09-16 10:13:55 +02:00
Kristian Evers 3c0a5f0c14 Merge pull request #1614 from rouault/fixes_related_to_1597
Fixes related to #1597
2019-09-15 16:28:36 +02:00
Even Rouault 16ce294aa5 testdatumfile: fix axis order issue in test 2019-09-15 14:03:15 +02:00
Even Rouault dcc0acb221 Merge pull request #1611 from rouault/fix1563
cs2cs: autopromote CRS to 3D when there's a mix of 2D and 3D (fixes #1563)
2019-09-15 13:43:35 +02:00
Even Rouault 6832bab5bf Doc: add a section to document backward incompatibilies regarding the support of +init=epsg:XXXX syntax (relates to #1597) 2019-09-15 13:39:37 +02:00
Even Rouault 3d082689d4 DatabaseContext::lookForGridInfo(): avoid setting PROJ context errno. Fixes issue with test/gigs/5208.gie with previous commit when ntf_r93.gsb grid is not available 2019-09-15 13:20:43 +02:00
Even Rouault a377a0e1ac createFromPROJString(): ignore +no_defs when instanciating a '+init=epsg:xxxx +no_defs' string (related to #1597) 2019-09-15 13:20:43 +02:00
Even Rouault 0673f88a96 Ingestion of +proj=somerc +type=crs: avoid adding twice alpha, gamma, lon_0 (related to #1597) 2019-09-15 13:20:43 +02:00
Kristian Evers 6dcbdb941c Merge pull request #1608 from rouault/improve_transforms_fromto_wgs84_gXXXX_realizations
Improvements in transformations from/to WGS 84 (Gxxxx) realizations and vertical <--> geog transormations
2019-09-15 13:08:13 +02:00
Even Rouault e6442e8282 Merge pull request #1610 from rouault/fix1601
Fix support for +proj=ob_tran +o_proj=lonlat/latlong/latlon (only +o_proj=longlat worked) (fixes #1601)
2019-09-13 11:47:21 +02:00
Even Rouault 6da584d413 cs2cs: autopromote CRS to 3D when there's a mix of 2D and 3D (fixes #1563) 2019-09-13 02:58:35 +02:00
Even Rouault e1fabf92fc Fix support for +proj=ob_tran +o_proj=lonlat/latlong/latlon (only +o_proj=longlat worked) (fixes #1601) 2019-09-13 02:28:24 +02:00
Even Rouault a731681f0e Merge pull request #1603 from dg0yt/migration
Improve migration code examples
2019-09-13 00:25:15 +02:00
Even Rouault e6eae43cf2 createOperations(): when tranforming from a compoundCRS whose vertical component is a BoundCRS, do not apply the horizontal transformation twice 2019-09-12 22:57:25 +02:00
Even Rouault eed28e5183 createOperations(): use more candidates when transforming between a geographic and vertical CRS
For example when transforming from NAD83+NAVD88 height to WGS84, there
is no transformation between NAVD88 height to WGS84. In that case,
use all potential transformations from NAVD88 height to another geographic CRS
for the vertical part.
2019-09-12 22:57:25 +02:00
Kai Pastor 888b253356 Improve migration code examples 2019-09-12 21:15:53 +02:00
Even Rouault 63857c92b2 Coordinate transformation: improve transformations from/to WGS84 (Gxxxx)
Currently very few transformations from/to WGS84 (Gxxxx) are registered
in the EPSG database, and there isn't even transformations between WGS84 EPSG:4326
and those ones. Consequently transformations to those realizations often
ended up as no-operation, whereas going through WGS84 EPSG:4326 will bring
more meaningful results. So register those EPSG:4326<-->WGS 84 (Gxxx)
null transformations, and when having WGS 84 (Gxxx) as source/target,
consider EPSG:4326 as an intermediate.
This change has no effect on the existing direct transformations
from/to WGS 84 (Gxxx).
2019-09-12 15:59:23 +02:00
Even Rouault 890c94a730 createOperations(): make sure sorting function is transitive (a < b and b < c --> a < c), to get consistent results 2019-09-12 15:59:23 +02:00
Even Rouault ad0c57436c C API: add proj_crs_create_bound_vertical_crs_to_WGS84() 2019-09-12 15:59:23 +02:00
Even Rouault 1d1c7443fd Merge pull request #1605 from rouault/followup_promote_to_3D_with_CT_vertcrs_to_2D_geog
createOperations(): make it work when transforming between CompoundCRS and Geog3D when the DB has only VertCS to Geog2D
2019-09-12 15:58:48 +02:00
Even Rouault 2dd68f9926 createOperations(): make it work when transforming between CompoundCRS and Geog3D when the DB has only VertCS to Geog2D
This is needed to fix cases that would not work if using the promoteTo3D()/--3d
functionnality just added per a6e1d72890
In some cases, the EPSG database only contains a Geographic 2D CRS (like NAD83),
without a 3D version. Consequently vertical transformations between that
Geographic CRS and a Vertical CRS are only available with a 2D CRS code
(kind of a bug in modelization by the way...). So when promoting the
Geographic 2D CRS to a 3D one, we suddenly cannot find the available
transformations any more. So in such situation, try to fallback to the
2D CRS to restore the capability to find the available transformations.
2019-09-12 15:57:54 +02:00
Even Rouault 9350d9ee2e Merge pull request #1604 from rouault/fix_proj_trans_generic_unknown_time
proj_trans_generic(): properly set coordinate time to HUGE_VAL when no value is passed to the function
2019-09-12 15:53:22 +02:00
Even Rouault 1e0f573f4b Merge pull request #1602 from rouault/fix_fallback_to_proj4_with_towgs84
createOperations(): fix conversion from/to PROJ.4 CRS strings with non-ISO-cosher options and towgs84/nadgrids
2019-09-12 15:53:00 +02:00
Even Rouault ed679900c6 proj_trans_generic(): properly set coordinate time to HUGE_VAL when no value is passed to the function 2019-09-12 12:30:26 +02:00
Even Rouault e22dbb571e createOperations(): fix conversion from/to PROJ.4 CRS strings with non-ISO-cosher options and towgs84/nadgrids
This actually fixes a regression introduced in PROJ 6.2.0
per 78302efb70
that made a conversion like EPSG:4326 to "+proj=something +towgs84/+nadgrids +over +type=crs"
apply the towgs84/nadgrids operation twice.
2019-09-11 19:25:35 +02:00
Even Rouault bd39128c3e Merge pull request #1596 from rouault/promote_to_3d
API: add CRS::promoteTo3D(), proj_crs_promote_to_3D() and proj_crs_create_projected_3D_crs_from_2D() (fixes #1587)
2019-09-11 10:46:38 +02:00
Even Rouault a6e1d72890 API: add CRS::promoteTo3D(), proj_crs_promote_to_3D() and proj_crs_create_projected_3D_crs_from_2D() (fixes #1587)
Also add a --3d switch to projinfo
2019-09-11 10:46:12 +02:00
Kristian Evers 13c715af55 Merge pull request #1598 from dg0yt/migration
Make migration code examples compile
2019-09-11 09:55:06 +02:00
Kai Pastor 235f778333 Make migration code examples compile 2019-09-11 08:57:34 +02:00
Kristian Evers 3f555257af Fix gie test after applying fix to bertin1953 2019-09-10 09:23:03 +02:00
Even Rouault a1518badde Add copyright and license header 2019-09-09 23:11:38 +02:00
Even Rouault bc91ace975 Add copyrigth & license header to include/proj/internal/include_nlohmann_json.hpp and include/proj/internal/esri_projection_mappings.hpp 2019-09-09 20:53:11 +02:00
Kristian Evers 051a983319 Merge pull request #1585 from rouault/replace_2018_by_2019
Use in API and utilities WKT2_2019 instead of WKT2_2018 (fixes #1578)
2019-09-08 16:22:15 +02:00
Even Rouault 024f637312 Use in API and utilities WKT2_2019 instead of WKT2_2018 (fixes #1518)
- C API: PJ_GUESSED_WKT2_2019 is added, PJ_GUESSED_WKT2_2018 aliased to it
- C API: PJ_WKT2_2019[_SIMPLIFIED] is added, PJ_WKT2_2018[_SIMPLIFIED] alias to it
- C++ API: similarly for WKTFormatter::Convention::WKT2_2019[_SIMPLIFIED]
Those above changes should be fully backward API and ABI compatible.

projinfo changes:
- accept WKT2_2019 as value for -o switch. WKT2_2018 is still accepted (undocumented)
- output now uses 'WKT2_2019 string:', so might break scripts that would rely on that.

Other internal code references to WKT2_2018 changes to WKT2_2019, included
in tests.
2019-09-08 11:11:03 +02:00
Even Rouault 73ccf7e1ba Merge pull request #1589 from rouault/fix_1574
PROJStringParser::createFromPROJString(): avoid potential infinite recursion (fixes #1574)
2019-09-06 11:29:07 +02:00
Even Rouault b7ed294cff Merge pull request #1590 from snowman2/sanitize
BUG: add SANITIZE_CTX for coordoperation is_instantiable and has_ballpark_transformation
2019-09-06 11:28:16 +02:00
Kristian Evers daeac1afd8 Merge pull request #1588 from urschrei/patch-1
Add link to Rust bindings
2019-09-06 10:03:01 +02:00
snowman2 38178fda29 BUG: add SANITIZE_CTX for coordoperation is_instantiable and has_ballpark_transformation 2019-09-05 20:37:49 -05:00
Even Rouault 9c38babea4 PROJStringParser::createFromPROJString(): avoid potential infinite recursion (fixes #1574)
The exact circumstances are a bit difficult to explain, but they involve
using a non-default context, enabling proj_context_use_proj4_init_rules() on it,
using proj_create(ctxt, "+init=epsg:XXXX +type=crs"), whereas PROJ_LIB is
defined to a directory that has a 'epsg' file in it.
2019-09-05 18:01:42 +02:00
Stephan Hügel 240d3b5f12 Add link to Rust bindings 2019-09-05 16:42:07 +01:00
Kristian Evers 06578ae686 Merge pull request #1581 from jef-n/win-no-abi-lib
stick with proj.lib on windows
2019-09-05 13:27:44 +02:00
Even Rouault 1c2a58b2ad Merge pull request #1584 from rouault/add_proj_create_ellipsoidal_3D_cs
C API: add proj_create_ellipsoidal_3D_cs()
2019-09-05 13:00:12 +02:00
Even Rouault ab1fb55900 Merge pull request #1583 from rouault/constify_proj_create_crs_to_crs_from_pj
proj_create_crs_to_crs_from_pj(): make the PJ* arguments const PJ*
2019-09-05 12:59:59 +02:00
Even Rouault d7d8f4500b proj_create_crs_to_crs_from_pj(): make the PJ* arguments const PJ*
This will make the life of C++ users using the C API slightly easier.
There's no ABI or API backward compatibility issue in doing that change as
constness of arguments is not retained in the C ABI, and any non-const
object passed as argument is implicitly converted as a const object if
that is what is mentionned in the argument list.
2019-09-04 15:17:51 +02:00
Even Rouault 403e57545f C API: add proj_create_ellipsoidal_3D_cs() 2019-09-04 14:33:39 +02:00
Even Rouault faf7ec2d7f proj_experimental.h: fix wrong comment forPJ_ELLIPSOIDAL_CS_2D_TYPE enum 2019-09-04 14:10:28 +02:00
R. Schmunk f4f35ab886 Debug Bertin1953
Northern hemisphere "warp" implemented incorrectly. See #1579
2019-09-03 15:56:03 -04:00
Juergen E. Fischer 6b99e02f04 stick with proj.lib on windows 2019-09-03 20:10:29 +02:00
Kristian Evers b52285e915 Merge pull request #1570 from rouault/update_link_to_wkt2_2019
Doc: add link to final WKT2:2019 document
2019-09-02 11:30:22 +03:00
Pedro Venancio 8417e703bf Update grid_alternatives.sql (#1571)
grid_alternatives.sql: Add DLX_ETRS89_geo.gsb and D73_ETRS89_geo.gsb grids in grid_alternatives (added in proj-datumgrid-europe package per https://github.com/OSGeo/proj-datumgrid/pull/54)
2019-09-01 14:35:51 +03:00
Kristian Evers 57ec0c2a86 Merge pull request #1573 from dg0yt/dg0yt-potsdam
Fix spelling of Potsdam datum
2019-09-01 14:14:51 +03:00
Kristian Evers f082596783 Update download links in the docs 2019-09-01 11:21:16 +02:00
Kristian Evers 7dcd6702c6 Add release notes for 6.2.0 to website 2019-09-01 09:38:18 +02:00
Kristian Evers 6f7920d3cf Make sure that website is build from the 6.2 branch 2019-09-01 09:32:19 +02:00
Kristian Evers dbfe811f18 Update version numbers in preparation for 7.0.0 2019-09-01 09:31:36 +02:00
Kai Pastor 875d00fabc Fix spelling of potsdam datum 2019-08-30 07:02:54 +02:00
Even Rouault 9e4aac0f20 Doc: add link to final WKT2:2019 document 2019-08-27 23:45:56 +03:00
362 changed files with 43328 additions and 11987 deletions
+1 -1
View File
@@ -16,7 +16,7 @@ task:
folder: $HOME/.ccache
pkginstall_script:
- pkg install -y autoconf automake libtool pkgconf sqlite3 wget unzip ccache gmake
- pkg install -y autoconf automake libtool pkgconf sqlite3 tiff wget unzip ccache gmake
download_grid_script:
- wget https://download.osgeo.org/proj/proj-datumgrid-1.8.zip
- (cd data && unzip -o ../proj-datumgrid-1.8.zip)
+8
View File
@@ -0,0 +1,8 @@
#
# Configure line ending normalisation for this repository.
#
* text=auto
*.ac text eol=lf
*.am text eol=lf
*.m4 text eol=lf
*.sh text eol=lf
+31
View File
@@ -0,0 +1,31 @@
---
name: Bug report
about: Create a report to help us improve
labels: bug
---
<!-- Please search existing issues to avoid creating duplicates. -->
#### Example of problem
Demonstrate the problem you have found, either by using PROJ tools like `cs2cs`, `cct` or `projinfo` **or** add a code snippet that highlights the problem using the PROJ C/C++ API.
A "Minimal, Complete and Verifiable Example" will make it much easier for maintainers to help you:
http://matthewrocklin.com/blog/work/2018/02/28/minimal-bug-reports
```c
# Your code here
```
#### Problem description
[this should explain **why** the current behavior is a problem and why the expected output is a better solution.]
#### Expected Output
#### Environment Information
- PROJ version (`proj`)
- Operation System Information
#### Installation method
- conda, apt-get, from source, etc...
@@ -0,0 +1,7 @@
---
name: Feature request
about: Suggest an idea for this project
labels: feature request
---
<!-- Describe the feature you'd like. -->
+6
View File
@@ -0,0 +1,6 @@
<!-- Feel free to remove check-list items aren't relevant to your change -->
- [ ] Closes #xxxx
- [ ] Tests added
- [ ] Added clear title that can be used to generate release notes
- [ ] Fully documented, including updating `docs/source/*.rst` for new API
+18
View File
@@ -0,0 +1,18 @@
# Number of days of inactivity before an issue becomes stale
daysUntilStale: 60
# Number of days of inactivity before a stale issue is closed
daysUntilClose: 7
# Issues with these labels will never be considered stale
exemptLabels:
- pinned
- security
- bug
# Label to use when marking an issue as stale
staleLabel: wontfix
# Comment to post when marking an issue as stale. Set to `false` to disable
markComment: >
This issue has been automatically marked as stale because it has not had
recent activity. It will be closed if no further activity occurs. Thank you
for your contributions.
# Comment to post when closing a stale issue. Set to `false` to disable
closeComment: false
+20
View File
@@ -0,0 +1,20 @@
name: Backport
on:
pull_request:
types:
- closed
- labeled
jobs:
backport:
runs-on: ubuntu-18.04
name: Backport
steps:
- name: Backport Bot
if: contains( join(github.event.pull_request.labels.*.name), 'backport')
uses: Gaurav0/backport@v1.0.24
with:
bot_username: PROJ-BOT
bot_token: c1c49a5799d0a3a3885db8a4792880cbe509c1d6
bot_token_key: b01bdebf64595ed77207019258316df1b05ff6ac
github_token: ${{ secrets.GITHUB_TOKEN }}
+11 -12
View File
@@ -1,4 +1,4 @@
# This is the config file for building proj.4 and running its test suite
# This is the config file for building proj and running its test suite
# with Travis-ci.org
language: cpp
@@ -15,9 +15,8 @@ matrix:
include:
- os: linux
dist: trusty
dist: xenial
compiler: gcc
sudo: required
services:
- docker
env:
@@ -25,9 +24,8 @@ matrix:
- DETAILS="linux, gcc"
- os: linux
dist: trusty
dist: xenial
compiler: gcc
sudo: required
services:
- docker
env:
@@ -40,12 +38,15 @@ matrix:
apt:
sources:
- ubuntu-toolchain-r-test
packages: ['g++-7','make','autoconf','automake']
packages:
- g++-7
- make
- autoconf
- automake
- os: linux
dist: trusty
dist: xenial
compiler: clang
sudo: required
services:
- docker
env:
@@ -58,17 +59,15 @@ matrix:
- DETAILS="osx"
- os: linux
dist: trusty
dist: xenial
compiler: gcc
sudo: required
env:
- BUILD_NAME=mingw32
- DETAILS="mingw32"
- os: linux
compiler: gcc
dist: trusty
sudo: required
dist: xenial
env:
- BUILD_NAME=csa
- DETAILS="CLang Static Analyzer"
+1 -1
View File
@@ -11,6 +11,6 @@ A BibTeX entry for LaTeX users is
title = {{PROJ} coordinate transformation software library},
author = {{PROJ contributors}},
organization = {Open Source Geospatial Foundation},
year = {2019},
year = {2020},
url = {https://proj.org/},
}
+52 -21
View File
@@ -28,6 +28,15 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
message(STATUS "Requiring C++${CMAKE_CXX_STANDARD} - done")
# Set C99 version
# Make CMAKE_C_STANDARD available as cache option overridable by user
set(CMAKE_C_STANDARD 99
CACHE STRING "C standard version to use (default is 99)")
message(STATUS "Requiring C${CMAKE_C_STANDARD}")
set(CMAKE_C_STANDARD_REQUIRED ON)
set(CMAKE_C_EXTENSIONS OFF)
message(STATUS "Requiring C${CMAKE_C_STANDARD} - done")
# Set global -fvisibility=hidden
set(CMAKE_C_VISIBILITY_PRESET hidden)
set(CMAKE_CXX_VISIBILITY_PRESET hidden)
@@ -52,7 +61,6 @@ elseif("${CMAKE_C_COMPILER_ID}" MATCHES "Clang")
set(PROJ_C_WARN_FLAGS ${PROJ_common_WARN_FLAGS}
-Wmissing-prototypes
-Wfloat-conversion
-Wc99-extensions
-Wc11-extensions
)
set(PROJ_CXX_WARN_FLAGS ${PROJ_common_WARN_FLAGS}
@@ -75,6 +83,7 @@ elseif("${CMAKE_C_COMPILER_ID}" STREQUAL "Intel")
set(PROJ_CXX_WARN_FLAGS -Wall)
endif()
endif()
set(PROJ_C_WARN_FLAGS "${PROJ_C_WARN_FLAGS}"
CACHE STRING "C flags used to compile PROJ targets")
set(PROJ_CXX_WARN_FLAGS "${PROJ_CXX_WARN_FLAGS}"
@@ -95,9 +104,9 @@ colormsg(_HIBLUE_ "Configuring PROJ:")
#PROJ version information
################################################################################
include(ProjVersion)
proj_version(MAJOR 6 MINOR 2 PATCH 0)
set(PROJ_API_VERSION "17")
set(PROJ_BUILD_VERSION "17.0.2")
proj_version(MAJOR 7 MINOR 0 PATCH 0)
set(PROJ_API_VERSION "18")
set(PROJ_BUILD_VERSION "18.0.3")
################################################################################
# Build features and variants
@@ -119,6 +128,45 @@ if(NOT SQLITE3_FOUND)
message(SEND_ERROR "sqlite3 dependency not found!")
endif()
# Would build and run with older versons, but with horrible performance
# See https://github.com/OSGeo/PROJ/issues/1718
IF("${SQLITE3_VERSION}" VERSION_LESS "3.11")
message(SEND_ERROR "sqlite3 >= 3.11 required!")
ENDIF()
################################################################################
# Check for libtiff
################################################################################
option(DISABLE_TIFF "Disable TIFF support" OFF)
mark_as_advanced(DISABLE_TIFF)
if(DISABLE_TIFF)
message(WARNING "TIFF support has been disabled and will result in the inability to read some grids")
else()
find_package(TIFF REQUIRED)
if(TIFF_FOUND)
boost_report_value(TIFF_FOUND)
else()
message(SEND_ERROR "libtiff dependency not found!")
endif()
add_definitions(-DTIFF_ENABLED)
endif()
################################################################################
# Check for curl
################################################################################
option(ENABLE_CURL "Enable Curl support" ON)
if(ENABLE_CURL)
find_package(CURL REQUIRED)
if(CURL_FOUND)
boost_report_value(CURL_FOUND)
else()
message(SEND_ERROR "curl dependency not found!")
endif()
add_definitions(-DCURL_ENABLED)
endif()
################################################################################
# threading configuration
################################################################################
@@ -134,23 +182,6 @@ else()
set(CMAKE_REQUIRED_LIBRARIES m)
set(CMAKE_REQUIRED_FLAGS "${CMAKE_C_FLAGS} -Werror -Wall")
endif()
# Check whether the C99 math function: hypot, atanh, etc. are available.
check_c_source_compiles("
#include <math.h>
int main() {
int q;
return (int)(
hypot(3.0, 4.0) + atanh(0.8) + cbrt(8.0) +
remquo(100.0, 90.0, &q) +
remainder(100.0, 90.0) + copysign(1.0, -0.0) +
log1p(0.1) + asinh(0.1)) + isnan(0.0);
}
" C99_MATH)
if(C99_MATH)
add_definitions(-DHAVE_C99_MATH=1)
else()
add_definitions(-DHAVE_C99_MATH=0)
endif()
if(Threads_FOUND AND CMAKE_USE_PTHREADS_INIT)
set(CMAKE_REQUIRED_LIBRARIES
+77
View File
@@ -0,0 +1,77 @@
# Contributor Covenant Code of Conduct
## Our Pledge
In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to make participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, sex characteristics, gender identity and expression,
level of experience, education, socio-economic status, nationality, personal
appearance, race, religion, or sexual identity and orientation.
## Our Standards
Examples of behavior that contributes to creating a positive environment
include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery and unwelcome sexual attention or
advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Our Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.
## Scope
This Code of Conduct applies within all project spaces, and it also applies when
an individual is representing the project or its community in public spaces.
Examples of representing a project or community include using an official
project e-mail address, posting via an official social media account, or acting
as an appointed representative at an online or offline event. Representation of
a project may be further defined and clarified by project maintainers.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at [kristianevers@gmail.com](mailto:kristianevers@gmail.com). All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
[homepage]: https://www.contributor-covenant.org
For answers to common questions about this code of conduct, see
https://www.contributor-covenant.org/faq
+1 -1
View File
@@ -772,7 +772,7 @@ WARN_LOGFILE =
# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
# Note: If this tag is empty the current directory is searched.
INPUT = src/iso19111 include/proj src/proj.h src/proj_experimental.h src/general_doc.dox
INPUT = src/iso19111 include/proj src/proj.h src/proj_experimental.h src/general_doc.dox src/filemanager.cpp src/networkfilemanager.cpp
# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
+4 -1
View File
@@ -228,7 +228,7 @@ version numbers in the files.
- src/proj.h: Update PROJ_VERSION_MAJOR, PROJ_VERSION_MINOR and
PROJ_VERSION_PATCH.
- src/proj_api.h: Update PJ_VERSION.
- src/pj_release.c: Update date to the scheduled release date.
- src/release.cpp: Update date to the scheduled release date.
- CMakelists.txt: Update proj_version()
- doc/source/conf.py: Update version number
@@ -243,3 +243,6 @@ If the previous active version was, let's say, 6.1 and the new version is, let's
then checkout 6.1 branch, and in travis/after_success.sh, remove the code
that causes commits to 6.1 to cause a website refresh, that is remove the
code under `if test "$TRAVIS_SECURE_ENV_VARS" = "true" -a "$TRAVIS_BRANCH" = "6.1"; then`.
Also edit docs/source/conf.py to change the active branch for documentation
in the `github_version` variable.
+1 -1
View File
@@ -59,7 +59,7 @@ the `configure' script does not know about. You can give `configure'
initial values for variables by setting them in the environment. Using
a Bourne-compatible shell, you can do that on the command line like
this:
CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
CC=c99 CFLAGS=-O2 LIBS=-lposix ./configure
Or on systems that have the `env' program, you can do it like this:
env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
+2 -2
View File
@@ -1,5 +1,5 @@
SUBDIRS = include src man data jniwrap cmake
DIST_SUBDIRS = include src man data jniwrap cmake test
SUBDIRS = include src man data cmake
DIST_SUBDIRS = include src man data cmake test
EXTRA_DIST = CMakeLists.txt CITATION README.md
+183
View File
@@ -1,3 +1,186 @@
6.3.0 Release Notes
-------------------
Updates
-------
o Database: tune accuracy of Canadian NTv1 file w.r.t NTv2 (#1812)
o Modify verbosity level of some debug/trace messages (#1811)
o projinfo: no longer call createBoundCRSToWGS84IfPossible() for WKT1:GDAL
(#1810)
o proj_trans: add retry logic to select other transformation if the best one
fails. (#1809)
o BoundCRS::identify(): improvements to discard CRS that aren't relevant
(#1802)
o Database: update to IGNF v3.1.0 (#1785)
o Build: Only export symbols if building DLL (#1773)
o Database: update ESRI entries with ArcGIS Desktop version 10.8.0 database
(#1762)
o createOperations(): chain operations whose middle CRSs are not identical but
have the same datum (#1734)
o import/export PROJJSON: support a interpolation_crs key to geoid_model
(#1732)
o Database: update to EPSG v9.8.4 (#1725)
o Build: require SQLite 3.11 (#1721)
o Add support for GEOIDMODEL (#1710)
o Better filtering based on extent and performance improvements (#1709)
Bug fixes
---------
o Horizontal grid shift: fix issue on iterative inverse computation when
switching between (sub)grids (#1797)
o createOperations(): make filtering out of 'uninteresting' operations less
aggressive (#1788)
o Make EPSG:102100 resolve to ESRI:102100 (#1786)
o ob_tran: restore traditional handling of +to_meter with pj_transform() and
proj utility (#1783)
o CRS identification: use case insensitive comparison for authority name
(#1780)
o normalizeForVisualization() and other methods applying on a ProjectedCRS: do
not mess the derivingConversion object of the original object (#1746)
o createOperations(): fix transformation computation from/to a CRS with
+geoidgrids and +vunits != m (#1731)
o Fix proj_assign_context()/pj_set_ctx() with pipelines and alternative coord
operations (#1726)
o Database: add an auxiliary concatenated_operation_step table to allow
arbitrary number of steps (#1696)
o Fix errors running gie-based tests in Debug mode on Windows (#1688)
THANKS TO
---------
Pedro Venancio
Owen Rudge
Nyall Dawson
Mateusz Łoskot
Markus Neteler
Juergen E. Fischer
Joaquim Luis
Jeff McKenna
Jakob Egger
Guillaume Lostis
GitHub user @yonarw
Asa Packer
Joe Mann
Stephan Hügel
Simon Schneegans
R. Schmunk
Alan D. Snow
Chris Crook
Howard Butler
Fabrice Fontaine
Kai Pastor
Martin Desruisseaux
Dalia Prizginiene
Mike Taves
Charles Karney
Kristian Evers
Even Rouault
6.2.1 Release Notes
-------------------
Updates
-------
o Update the EPSG database to version 9.8.2
Bug fixes
-------
o Fixed erroneous spelling of "Potsdam" (#1573)
o Calculate y-coordinate correctly in bertin1953 in all cases (#1579)
o proj_create_crs_to_crs_from_pj(): make the PJ* arguments const PJ* (#1583)
o PROJStringParser::createFromPROJString(): avoid potential infinite
recursion (#1574)
o Avoid core dump when setting ctx==NULL in functions
proj_coordoperation_is_instantiable and
proj_coordoperation_has_ballpark_transformation (#1590)
o createOperations(): fix conversion from/to PROJ.4 CRS strings with
non-ISO-kosher options and +towgs84/+nadgrids (#1602)
o proj_trans_generic(): properly set coordinate time to HUGE_VAL when no
value is passed to the function (#1604)
o Fix support for +proj=ob_tran +o_proj=lonlat/latlong/latlon instead of only
only allowing +o_proj=longlat (#1601)
o Improve backwards compatibility of vertical transforms (#1613)
o Improve emulation of deprecated +init style initialization (#1614)
o cs2cs: autopromote CRS to 3D when there's a mix of 2D and 3D (#1563)
o Avoid divisions by zero in odd situations (#1620)
o Avoid compile error on Solaris (#1639)
o proj_create_crs_to_crs(): fix when there are only transformations with
ballpark steps (#1643)
o PROJ string CRS ingester: recognize more unit-less parameters, and general
handling of +key=string_value parameters (#1645)
o Only call pkg-config in configure when necessary (#1652)
o aeqd: for spherical forward path, go to higher precision ellipsoidal
case when the point coordinates are super close to the origin (#1654)
o proj_create_crs_to_crs(): remove elimination of Ballpark operations
that caused transformation failures in some cases (#1665)
o createOperations(): allow transforming from a compoundCRS of a bound
verticalCRS to a 2D CRS (#1667)
o Avoid segfaults in case of out-of-memory situations (#1679)
o createOperations(): fix double vertical unit conversion from CompoundCRS
to other CRS when the horizontal part of the projected CRS uses non-metre
unit (#1683)
o importFromWkt(): fix axis orientation for non-standard ESRI WKT (#1690)
THANKS TO
---------
R. Schmunk
Jakob Egger
Alan D. Snow
Stephan Hügel
Kai Pastor
Kristian Evers
Even Rouault
6.2.0 Release Notes
-------------------
+17 -13
View File
@@ -1,10 +1,11 @@
# PROJ
[![Travis Status](https://travis-ci.com/OSGeo/PROJ.svg?branch=master)](https://travis-ci.com/OSGeo/PROJ)
[![AppVeyor Status](https://ci.appveyor.com/api/projects/status/por8r52bjt8ocga9?svg=true)](https://ci.appveyor.com/project/OSGeo/PROJ)
[![AppVeyor Status](https://ci.appveyor.com/api/projects/status/github/OSGeo/PROJ?branch=master&svg=true)](https://ci.appveyor.com/project/OSGeo/PROJ?branch=master)
[![Coveralls Status](https://coveralls.io/repos/github/OSGeo/PROJ/badge.svg?branch=master)](https://coveralls.io/github/OSGeo/PROJ?branch=master)
[![Gitter](https://badges.gitter.im/OSGeo/proj.4.svg)](https://gitter.im/OSGeo/proj.4)
[![Mailing List](https://img.shields.io/badge/PROJ-mailing%20list-4eb899.svg)](http://lists.osgeo.org/mailman/listinfo/proj)
[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-v1.4%20adopted-ff69b4.svg)](CODE_OF_CONDUCT.md)
PROJ is a generic coordinate transformation software, that transforms
coordinates from one coordinate reference system (CRS) to another.
@@ -22,18 +23,21 @@ See the NEWS file for changes between versions.
The following command line utilities are included in the PROJ package:
- proj, for cartographic projection of geodetic coordinates
- cs2cs, for transformation from one CRS to another CRS.
- geod, for geodesic (great circle) computations.
- cct, for generic Coordinate Conversions and Transformations.
- gie, the Geospatial Integrity Investigation Environment.
- projinfo, for geodetic object and coordinate operation queries
- `proj`: for cartographic projection of geodetic coordinates
- `cs2cs`: for transformation from one CRS to another CRS.
- `geod`: for geodesic (great circle) computations.
- `cct`: for generic Coordinate Conversions and Transformations.
- `gie`: the Geospatial Integrity Investigation Environment.
- `projinfo`: for geodetic object and coordinate operation queries
> More information on the utilities can be found on the [PROJ website](https://proj.org/apps).
## Installation
### Build dependencies
PROJ requires C and C++11 compilers.
It also requires SQLite3 (headers, library and executable).
It also requires SQLite3 (headers, library and executable). The minimum
version of SQLite3 required is 3.11
### Building with CMake
@@ -104,14 +108,14 @@ which will generate a configure script that can be used as described above.
### Distribution files and format
Sources are distributed in one or more files. The principle elements
of the system are in a compress tar file named `proj-x.y.z.tar.gz` where
"x" will indicate major release number, "y" indicates minor release
number and "z" indicates the patch number of the release.
of the system are stored in a compressed tar file named `proj-x.y.z.tar.gz` where
"x" will indicate the major release number, "y" indicates the minor release
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`,
where "x" is the major release version and "y" the minor release
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
@@ -119,7 +123,7 @@ 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).
The resource packages can be downloaded from the PROJ.4 website.
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
found at the
+7 -4
View File
@@ -27,9 +27,10 @@ build_script:
- set PATH=%CD%;%PATH%
- cd ..
- vcpkg install sqlite3:"%platform%"-windows
- vcpkg install tiff:"%platform%"-windows
- vcpkg install curl:"%platform%"-windows
- set SQLITE3_BIN=%APPVEYOR_BUILD_FOLDER%\sqlite3\bin
- mkdir %SQLITE3_BIN%
- copy c:\projects\proj\vcpkg\installed\"%platform%"-windows\bin\sqlite3.dll %SQLITE3_BIN%
- ps: |
appveyor DownloadFile https://sqlite.org/2018/sqlite-tools-win32-x86-3250100.zip
7z x sqlite-tools-win32-x86-3250100.zip
@@ -41,19 +42,21 @@ build_script:
- if "%platform%" == "x86" SET BUILD_LIBPROJ_SHARED=OFF
- echo "%VS_FULL%"
#
- cd %APPVEYOR_BUILD_FOLDER%\data
- curl -O https://download.osgeo.org/proj/proj-datumgrid-1.8.zip
- 7z e -aoa -y proj-datumgrid-1.8.zip
- 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_LIBPROJ_SHARED="%BUILD_LIBPROJ_SHARED%" -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_LIB%
- curl -O https://download.osgeo.org/proj/proj-datumgrid-1.8.zip
- 7z e -aoa -y proj-datumgrid-1.8.zip
- cd %PROJ_BUILD%
- ctest -V -C Release
- set PATH=%PATH%;%PROJ_DIR%\bin
+18 -5
View File
@@ -5,11 +5,24 @@
file(RELATIVE_PATH PROJECT_ROOT_DIR
${CMAKE_INSTALL_PREFIX}/${CMAKECONFIGDIR} ${CMAKE_INSTALL_PREFIX})
if(CMAKE_CROSSCOMPILING)
set(CMAKE_CROSSCOMPILING_STR "ON")
else()
set(CMAKE_CROSSCOMPILING_STR "OFF")
endif()
# Variables needed by ${PROJECT_NAME_LOWER}-config-version.cmake
if (MSVC)
# For checking the compatibility of MSVC_TOOLSET_VERSION; see
# https://docs.microsoft.com/en-us/cpp/porting/overview-of-potential-upgrade-issues-visual-cpp
# Assume major version number is obtained by dropping the last decimal
# digit.
math (EXPR MSVC_TOOLSET_MAJOR "${MSVC_TOOLSET_VERSION}/10")
else ()
set (MSVC_TOOLSET_VERSION 0)
set (MSVC_TOOLSET_MAJOR 0)
endif ()
if (CMAKE_CROSSCOMPILING)
# Ensure that all "true" (resp. "false") settings are represented by
# the same string.
set (CMAKE_CROSSCOMPILING_STR "ON")
else ()
set (CMAKE_CROSSCOMPILING_STR "OFF")
endif ()
string(TOLOWER "${PROJECT_NAME}" PROJECT_NAME_LOWER)
configure_file(project-config.cmake.in project-config.cmake @ONLY)
+13
View File
@@ -10,6 +10,7 @@
# and following variables are set:
# SQLITE3_INCLUDE_DIR
# SQLITE3_LIBRARY
# SQLITE3_VERSION
# find_path and find_library normally search standard locations
@@ -53,9 +54,21 @@ if(SQLITE3_INCLUDE_DIR AND SQLITE3_LIBRARY)
set(SQLITE3_FOUND TRUE)
endif()
# Extract version information from the header file
if(SQLITE3_INCLUDE_DIR)
file(STRINGS ${SQLITE3_INCLUDE_DIR}/sqlite3.h _ver_line
REGEX "^#define SQLITE_VERSION *\"[0-9]+\\.[0-9]+\\.[0-9]+\""
LIMIT_COUNT 1)
string(REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]+"
SQLITE3_VERSION "${_ver_line}")
unset(_ver_line)
endif()
if(SQLITE3_FOUND)
if(NOT SQLITE3_FIND_QUIETLY)
message(STATUS "Found Sqlite3: ${SQLITE3_LIBRARY}")
message(STATUS "Sqlite3 version: ${SQLITE3_VERSION}")
endif()
else()
-1
View File
@@ -14,7 +14,6 @@ include(CheckFunctionExists)
# check needed include file
check_include_files(dlfcn.h HAVE_DLFCN_H)
check_include_files(inttypes.h HAVE_INTTYPES_H)
check_include_files(jni.h HAVE_JNI_H)
check_include_files(memory.h HAVE_MEMORY_H)
check_include_files(stdint.h HAVE_STDINT_H)
check_include_files(stdlib.h HAVE_STDLIB_H)
+9 -1
View File
@@ -2,6 +2,11 @@
# add test with sh script
#
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")
endfunction()
function(proj_add_test_script_sh SH_NAME BIN_USE)
if(UNIX)
get_filename_component(testname ${SH_NAME} NAME_WE)
@@ -26,6 +31,8 @@ function(proj_add_test_script_sh SH_NAME BIN_USE)
COMMAND ${PROJECT_SOURCE_DIR}/test/cli/${SH_NAME}
${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${${BIN_USE}}
)
proj_test_set_properties(${testname})
endif()
endif()
@@ -34,12 +41,13 @@ endfunction()
function(proj_add_gie_test TESTNAME TESTCASE)
set(GIE_BIN "gie")
set(GIE_BIN $<TARGET_FILE_NAME:gie>)
set(TESTFILE ${CMAKE_SOURCE_DIR}/test/${TESTCASE})
add_test(NAME ${TESTNAME}
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/test
COMMAND ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${GIE_BIN}
${TESTFILE}
)
proj_test_set_properties(${TESTNAME})
endfunction()
+2 -1
View File
@@ -89,7 +89,8 @@ endfunction()
#
# Generates output name for given target depending on platform and version.
# For instance, on Windows, libraries get ABI version suffix proj_X_Y.{dll|lib}.
# For instance, on Windows, dynamic link libraries get ABI version suffix
# proj_X_Y.dll.
#
function(proj_target_output_name TARGET_NAME OUTPUT_NAME)
-6
View File
@@ -4,9 +4,6 @@
/* Define to 1 if you have the <inttypes.h> header file. */
#cmakedefine HAVE_INTTYPES_H 1
/* Define to 1 if you have the <jni.h> header file. */
#cmakedefine HAVE_JNI_H 1
/* Define to 1 if you have the `m' library (-lm). */
#cmakedefine HAVE_LIBM 1
@@ -40,9 +37,6 @@
/* Define to 1 if you have the <unistd.h> header file. */
#cmakedefine HAVE_UNISTD_H 1
/* Enabled for Java/JNI Support */
#cmakedefine JNI_ENABLED 1
/* Name of package */
#cmakedefine PACKAGE "${PACKAGE}"
+17 -4
View File
@@ -5,7 +5,18 @@ set (PACKAGE_VERSION_MAJOR "@PROJ_VERSION_MAJOR@")
set (PACKAGE_VERSION_MINOR "@PROJ_VERSION_MINOR@")
set (PACKAGE_VERSION_PATCH "@PROJ_VERSION_PATCH@")
# These variable definitions parallel those in @PROJECT_NAME@'s
# cmake/CMakeLists.txt.
if (MSVC)
# For checking the compatibility of MSVC_TOOLSET_VERSION; see
# https://docs.microsoft.com/en-us/cpp/porting/overview-of-potential-upgrade-issues-visual-cpp
# Assume major version number is obtained by dropping the last decimal
# digit.
math (EXPR MSVC_TOOLSET_MAJOR "${MSVC_TOOLSET_VERSION}/10")
endif ()
if (CMAKE_CROSSCOMPILING)
# Ensure that all "true" (resp. "false") settings are represented by
# the same string.
set (CMAKE_CROSSCOMPILING_STR "ON")
else ()
set (CMAKE_CROSSCOMPILING_STR "OFF")
@@ -24,9 +35,13 @@ elseif (NOT (APPLE OR (NOT DEFINED CMAKE_SIZEOF_VOID_P) OR
# since a multi-architecture library is built for that platform).
set (REASON "sizeof(*void) = @CMAKE_SIZEOF_VOID_P@")
set (PACKAGE_VERSION_UNSUITABLE TRUE)
elseif (MSVC AND NOT MSVC_VERSION STREQUAL "@MSVC_VERSION@")
elseif (MSVC AND NOT (
# toolset version must be at least as great as @PROJECT_NAME@'s
MSVC_TOOLSET_VERSION GREATER_EQUAL @MSVC_TOOLSET_VERSION@
# and major versions must match
AND MSVC_TOOLSET_MAJOR EQUAL @MSVC_TOOLSET_MAJOR@ ))
# Reject if there's a mismatch in MSVC compiler versions
set (REASON "_MSC_VER = @MSVC_VERSION@")
set (REASON "MSVC_TOOLSET_VERSION = @MSVC_TOOLSET_VERSION@")
set (PACKAGE_VERSION_UNSUITABLE TRUE)
elseif (NOT CMAKE_CROSSCOMPILING_STR STREQUAL "@CMAKE_CROSSCOMPILING_STR@")
# Reject if there's a mismatch in ${CMAKE_CROSSCOMPILING}
@@ -52,5 +67,3 @@ endif ()
if (PACKAGE_VERSION_UNSUITABLE)
set (PACKAGE_VERSION "${PACKAGE_VERSION} (${REASON})")
endif ()
unset(CMAKE_CROSSCOMPILING_STR)
+93 -87
View File
@@ -1,7 +1,7 @@
dnl Process this file with autoconf to produce a configure script.
AC_PREREQ(2.59)
AC_INIT([PROJ], [6.2.0],
AC_INIT([PROJ], [7.0.0],
[https://github.com/OSGeo/PROJ/issues], proj, [https://proj.org])
AC_CONFIG_MACRO_DIR([m4])
AC_LANG(C)
@@ -12,6 +12,7 @@ AM_CONFIG_HEADER(src/proj_config.h)
dnl Checks for programs.
AC_PROG_CC
AC_PROG_CC_C99
AC_PROG_CXX
AX_CXX_COMPILE_STDCXX_11([noext],[mandatory])
AC_PROG_INSTALL
@@ -19,6 +20,8 @@ AC_PROG_LN_S
AC_PROG_MAKE_SET
AM_PROG_LIBTOOL
PKG_PROG_PKG_CONFIG
dnl Enable as much warnings as possible
AX_CFLAGS_WARN_ALL(C_WFLAGS)
AX_CXXFLAGS_WARN_ALL(CXX_WFLAGS)
@@ -82,20 +85,6 @@ AX_CHECK_COMPILE_FLAG([-Wfloat-conversion], [C_WFLAGS="$C_WFLAGS -Wfloat-convers
dnl clang >= 3.2
AX_CHECK_COMPILE_FLAG([-Wdocumentation -Wno-documentation-deprecated-sync], [C_WFLAGS="$C_WFLAGS -Wdocumentation -Wno-documentation-deprecated-sync" CXX_WFLAGS="$CXX_WFLAGS -Wdocumentation -Wno-documentation-deprecated-sync"],,[$ERROR_ON_UNKNOWN_OPTIONS])
dnl gnu89 is a reasonable target to get MSVC compatibility.
dnl but only apply it with gcc, since clang will throw a lot of warnings
SAVED_CFLAGS=$CFLAGS
CFLAGS="$CFLAGS $ERROR_ON_UNKNOWN_OPTIONS -std=gnu89"
AC_MSG_CHECKING([if -std=gnu89 can be enabled])
AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
[[#if defined(__clang__) || !defined(__GNUC__)
#error "not gcc"
#endif]])],
[C_WFLAGS="$C_WFLAGS -std=gnu89"]
[AC_MSG_RESULT([yes])],
[AC_MSG_RESULT([no])])
CFLAGS=$SAVED_CFLAGS
dnl C++ specific stuff
AC_LANG_PUSH([C++])
@@ -182,6 +171,15 @@ AC_SUBST(NO_ZERO_AS_NULL_POINTER_CONSTANT_FLAG,$NO_ZERO_AS_NULL_POINTER_CONSTANT
CFLAGS="${CFLAGS} -fvisibility=hidden"
CXXFLAGS="${CXXFLAGS} -fvisibility=hidden"
case "${host_os}" in
cygwin* | mingw32* | pw32* | beos* | darwin*)
CFLAGS="${CFLAGS} -DNOMINMAX"
CXXFLAGS="${CXXFLAGS} -DNOMINMAX"
;;
*)
;;
esac
dnl Checks for libraries.
save_CFLAGS="$CFLAGS"
CFLAGS=`echo "$CFLAGS" | sed "s/-Werror/ /"`
@@ -197,81 +195,12 @@ dnl like (a + b) + c and from simplifying 0.0 + x to x (which is wrong if
dnl x = -0.0).
AX_CHECK_COMPILE_FLAG([-fp-model precise],
[CFLAGS="$CFLAGS -fp-model precise"],,[-Werror])
dnl Check for C99 math functions
save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -Wall -Werror"
AC_MSG_CHECKING([for C99 math functions])
AC_LINK_IFELSE([AC_LANG_PROGRAM(
[#include <math.h>],
[int q;
return (int)(hypot(3.0, 4.0) + atanh(0.8) + cbrt(8.0) +
remquo(100.0, 90.0, &q) +
remainder(100.0, 90.0) + copysign(1.0, -0.0) +
log1p(0.1) + asinh(0.1)) +
isnan(0.0);])],
[AC_MSG_RESULT([yes]);C99_MATH="-DHAVE_C99_MATH=1"],
[AC_MSG_RESULT([no]);C99_MATH="-DHAVE_C99_MATH=0"])
CFLAGS="$save_CFLAGS $C99_MATH"
AC_SEARCH_LIBS([sqrt], [m])
AC_CHECK_FUNC(localeconv, [AC_DEFINE(HAVE_LOCALECONV,1,[Define to 1 if you have localeconv])])
AC_CHECK_FUNCS([strerror])
dnl ---------------------------------------------------------------------------
dnl Check for JNI support.
dnl ---------------------------------------------------------------------------
JNI_INCLUDE=
export JNI_INCLUDE
AC_ARG_WITH(jni,
[AS_HELP_STRING([--with-jni=dir],
[Include Java/JNI support, add optional include dir])
],,)
if test "$with_jni" = "yes" ; then
AC_DEFINE(JNI_ENABLED,1,[Enabled for Java/JNI Support])
AC_MSG_CHECKING(whether to enable Java/JNI support)
AC_MSG_RESULT([enabled])
elif test "$with_jni" != "no" -a "$with_jni" != "" ; then
AC_MSG_CHECKING(whether to enable Java/JNI support)
if test \! -r "$with_jni/jni.h" ; then
AC_MSG_ERROR(Did not find $with_jni/jni.h)
fi
AC_DEFINE(JNI_ENABLED,1,[Enabled for Java/JNI Support])
AC_MSG_RESULT([enabled])
JNI_INCLUDE="-I$with_jni"
elif test "$with_jni" = "" ; then
AC_CHECK_HEADERS(jni.h)
AC_MSG_CHECKING(whether to enable Java/JNI support)
if test "$ac_cv_header_jni_h" = "no" ; then
AC_MSG_RESULT([disabled])
else
AC_MSG_RESULT([enabled])
AC_DEFINE(JNI_ENABLED,1,[Enabled for Java/JNI Support])
fi
else
AC_MSG_CHECKING(whether to enable Java/JNI support)
AC_MSG_RESULT([disabled])
fi
AC_SUBST(JNI_INCLUDE,$JNI_INCLUDE)
dnl ---------------------------------------------------------------------------
dnl Provide a mechanism to disable real mutex support (if lacking win32 or
dnl posix mutexes for instance).
@@ -307,7 +236,13 @@ dnl ---------------------------------------------------------------------------
dnl Check for sqlite3 library and binary
dnl ---------------------------------------------------------------------------
PKG_CHECK_MODULES([SQLITE3], [sqlite3 >= 3.7])
if test "x$SQLITE3_CFLAGS$SQLITE3_LIBS" = "x" ; then
dnl Would build and run with older versons, but with horrible performance
dnl See https://github.com/OSGeo/PROJ/issues/1718
PKG_CHECK_MODULES([SQLITE3], [sqlite3 >= 3.11])
fi
AC_SUBST(SQLITE3_CFLAGS,$SQLITE3_CFLAGS)
AC_SUBST(SQLITE3_LIBS,$SQLITE3_LIBS)
@@ -316,6 +251,78 @@ if test x"$SQLITE3_CHECK" != x"yes" ; then
AC_MSG_ERROR([Please install sqlite3 binary.])
fi
dnl ---------------------------------------------------------------------------
dnl Check for libtiff
dnl ---------------------------------------------------------------------------
AC_ARG_ENABLE([tiff-is-strongly-discouraged],
AS_HELP_STRING([--disable-tiff-is-strongly-discouraged],
[Disable TIFF support. Strongly discouraged !]),
[enable_tiff=no],
[enable_tiff=yes])
if test "x$enable_tiff" = "xyes" -o "x$enable_tiff" = ""; then
if test "x$TIFF_CFLAGS$TIFF_LIBS" = "x" ; then
if $PKG_CONFIG libtiff; then
PKG_CHECK_MODULES([TIFF], [libtiff])
else
PKG_CHECK_MODULES([TIFF], [libtiff-4])
fi
fi
TIFF_ENABLED_FLAGS=-DTIFF_ENABLED
fi
AC_SUBST(TIFF_CFLAGS,$TIFF_CFLAGS)
AC_SUBST(TIFF_LIBS,$TIFF_LIBS)
AC_SUBST(TIFF_ENABLED_FLAGS,$TIFF_ENABLED_FLAGS)
dnl ---------------------------------------------------------------------------
dnl Check for curl
dnl ---------------------------------------------------------------------------
FOUND_CURL=no
CURL_CFLAGS=
CURL_LIB=
AC_ARG_WITH(curl,
[ --with-curl[=ARG] Enable curl support (ARG=path to curl-config.)],,,)
dnl Clear some cache variables
unset ac_cv_path_LIBCURL
if test "`basename xx/$with_curl`" = "curl-config" ; then
LIBCURL_CONFIG="$with_curl"
elif test "$with_curl" = "no" ; then
LIBCURL_CONFIG=no
else
AC_PATH_PROG(LIBCURL_CONFIG, curl-config, not-found)
fi
if test "$LIBCURL_CONFIG" = "not-found" ; then
AC_MSG_ERROR([curl not found. If wanting to do a build without curl support (and thus without built-in networking capability), explictly disable it with --without-curl])
elif test "$LIBCURL_CONFIG" != "no" ; then
CURL_VERNUM=`$LIBCURL_CONFIG --vernum`
CURL_VER=`$LIBCURL_CONFIG --version | awk '{print $2}'`
AC_MSG_RESULT([ found libcurl version $CURL_VER])
AC_CHECK_LIB(curl,curl_global_init,FOUND_CURL=yes,FOUND_CURL=no,`$LIBCURL_CONFIG --libs`)
if test "$FOUND_CURL" = "no" ; then
AC_MSG_ERROR([curl not found. If wanting to do a build without curl support (and thus without built-in networking capability), explictly disable it with --without-curl])
fi
CURL_ENABLED_FLAGS=-DCURL_ENABLED
fi
if test "$FOUND_CURL" = "yes" ; then
CURL_CFLAGS=`$LIBCURL_CONFIG --cflags`
CURL_LIBS=`$LIBCURL_CONFIG --libs`
fi
AC_SUBST(CURL_CFLAGS,$CURL_CFLAGS)
AC_SUBST(CURL_LIBS,$CURL_LIBS)
AC_SUBST(CURL_ENABLED_FLAGS,$CURL_ENABLED_FLAGS)
dnl ---------------------------------------------------------------------------
dnl Check for external Google Test
dnl ---------------------------------------------------------------------------
@@ -343,8 +350,7 @@ dnl ---------------------------------------------------------------------------
AC_CONFIG_FILES([Makefile cmake/Makefile src/Makefile include/Makefile include/proj/Makefile include/proj/internal/Makefile
include/proj/internal/nlohmann/Makefile
test/Makefile test/cli/Makefile test/gie/Makefile test/gigs/Makefile test/unit/Makefile
man/Makefile man/man1/Makefile man/man3/Makefile data/Makefile
jniwrap/Makefile jniwrap/org.osgeo.proj/Makefile jniwrap/org.osgeo.proj/org/Makefile jniwrap/org.osgeo.proj/org/proj4/Makefile])
man/Makefile man/man1/Makefile man/man3/Makefile data/Makefile])
if ! test "x$with_external_gtest" = "xyes" ; then
AC_CONFIG_FILES([test/googletest/Makefile test/googletest/include/Makefile
test/googletest/include/gtest/Makefile
+40 -1
View File
@@ -2,6 +2,10 @@
# files containing dictionary of useful projection
#
set(CONFIG_FILES
proj.ini
)
set(PROJ_DICTIONARY
null
world
@@ -44,6 +48,7 @@ add_custom_command(
OUTPUT ${PROJ_DB}
COMMAND ${CMAKE_COMMAND} -E remove -f ${PROJ_DB}
COMMAND ${EXE_SQLITE3} -init ${ALL_SQL_IN} ${PROJ_DB} .quit
COMMAND ${CMAKE_COMMAND} -E copy ${PROJ_DB} ${CMAKE_CURRENT_BINARY_DIR}/for_tests
# note: we didn't port yet the foreign_key_check done in Makefile.am
DEPENDS generate_all_sql_in ${ALL_SQL_IN}
COMMENT "Generating proj.db"
@@ -53,15 +58,49 @@ add_custom_command(
add_custom_target(generate_proj_db ALL DEPENDS ${PROJ_DB})
if(NOT "${CMAKE_CURRENT_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_BINARY_DIR}")
foreach(FILE ${PROJ_DICTIONARY} ${GRIDSHIFT_FILES})
foreach(FILE ${CONFIG_FILES} ${PROJ_DICTIONARY} ${GRIDSHIFT_FILES})
configure_file(${FILE} ${FILE} COPYONLY)
endforeach()
endif()
# Copy select resource files in a for_tests subdirectory so that we are not
# influenced by the presence of other grids
# Note: this is done at configure/cmake time, not build time.
# So if you install new grids in the source data/ subdirectory, run cmake again
set(DATA_FOR_TESTS
null
GL27
nad27
nad83
ntv1_can.dat
MD
ntf_r93.gsb
egm96_15.gtx
ntv2_0.gsb
conus
alaska
nzgd2kgrid0005.gsb
ITRF2000
BETA2007.gsb)
file(GLOB DATA_TESTS tests/*)
execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/for_tests)
execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/for_tests/tests)
foreach(FILE ${DATA_FOR_TESTS} ${CONFIG_FILES})
if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${FILE})
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/${FILE} ${CMAKE_CURRENT_BINARY_DIR}/for_tests/${FILE} COPYONLY)
endif()
endforeach()
foreach(FILE ${DATA_TESTS})
get_filename_component(FILENAME ${FILE} NAME)
configure_file(${FILE} ${CMAKE_CURRENT_BINARY_DIR}/for_tests/tests/${FILENAME} COPYONLY)
endforeach()
#
#install
#
set(ALL_DATA_FILE
${CONFIG_FILES}
${PROJ_DICTIONARY}
${GRIDSHIFT_FILES}
${PROJ_DB}
+9 -9
View File
@@ -32,24 +32,24 @@
# Z. Altamimi et al, 2017, ITRF2014 plate motion model,
# doi: 10.1093/gji/ggx136
<ANTA> +proj=helmert +drx=−0.000248 +dry=−0.000324 +drz=0.000675 +convention=position_vector
<ANTA> +proj=helmert +drx=-0.000248 +dry=-0.000324 +drz=0.000675 +convention=position_vector
<ARAB> +proj=helmert +drx=0.001154 +dry=−0.000136 +drz=0.001444 +convention=position_vector
<ARAB> +proj=helmert +drx=0.001154 +dry=-0.000136 +drz=0.001444 +convention=position_vector
<AUST> +proj=helmert +drx=0.001510 +dry=0.001182 +drz=0.001215 +convention=position_vector
<EURA> +proj=helmert +drx=−0.000085 +dry=−0.000531 +drz=0.000770 +convention=position_vector
<EURA> +proj=helmert +drx=-0.000085 +dry=-0.000531 +drz=0.000770 +convention=position_vector
<INDI> +proj=helmert +drx=0.001154 +dry=−0.000005 +drz=0.001454 +convention=position_vector
<INDI> +proj=helmert +drx=0.001154 +dry=-0.000005 +drz=0.001454 +convention=position_vector
<NAZC> +proj=helmert +drx=−0.000333 +dry=−0.001544 +drz=0.001623 +convention=position_vector
<NAZC> +proj=helmert +drx=-0.000333 +dry=-0.001544 +drz=0.001623 +convention=position_vector
<NOAM> +proj=helmert +drx=0.000024 +dry=-0.000694 +drz=-0.000063 +convention=position_vector
<NUBI> +proj=helmert +drx=0.000099 +dry=−0.000614 +drz=0.000733 +convention=position_vector
<NUBI> +proj=helmert +drx=0.000099 +dry=-0.000614 +drz=0.000733 +convention=position_vector
<PCFC> +proj=helmert +drx=−0.000409 +dry=0.001047 +drz=-0.002169 +convention=position_vector
<PCFC> +proj=helmert +drx=-0.000409 +dry=0.001047 +drz=-0.002169 +convention=position_vector
<SOAM> +proj=helmert +drx=−0.000270 +dry=−0.000301 +drz=−0.000140 +convention=position_vector
<SOAM> +proj=helmert +drx=-0.000270 +dry=-0.000301 +drz=-0.000140 +convention=position_vector
<SOMA> +proj=helmert +drx=−0.000121 +dry=−0.000794 +drz=0.000884 +convention=position_vector
<SOMA> +proj=helmert +drx=-0.000121 +dry=-0.000794 +drz=0.000884 +convention=position_vector
+77 -4
View File
@@ -1,6 +1,6 @@
DATAPATH = $(top_srcdir)/data
pkgdata_DATA = GL27 nad.lst nad27 nad83 world other.extra \
pkgdata_DATA = proj.ini GL27 nad.lst nad27 nad83 world other.extra \
CH null \
ITRF2000 ITRF2008 ITRF2014 proj.db \
projjson.schema.json
@@ -27,6 +27,7 @@ SQL_ORDERED_LIST = sql/begin.sql \
sql/grid_transformation_custom.sql \
sql/other_transformation.sql \
sql/concatenated_operation.sql \
sql/concatenated_operation_step.sql \
sql/alias_name.sql \
sql/supersession.sql \
sql/deprecation.sql \
@@ -37,12 +38,55 @@ SQL_ORDERED_LIST = sql/begin.sql \
sql/customizations.sql \
sql/commit.sql
EXTRA_DIST = GL27 nad.lst nad27 nad83 \
EXTRA_DIST = proj.ini GL27 nad.lst nad27 nad83 \
world other.extra \
CH \
ITRF2000 ITRF2008 ITRF2014 \
projjson.schema.json \
CMakeLists.txt tests/test_nodata.gtx null \
CMakeLists.txt \
tests/test_nodata.gtx \
tests/test_vgrid_bigendian_bigtiff.tif \
tests/test_vgrid_bigendian.tif \
tests/test_vgrid_bigtiff.tif \
tests/test_vgrid_bottomup_with_matrix.tif \
tests/test_vgrid_bottomup_with_scale.tif \
tests/test_vgrid_deflate_floatingpointpredictor.tif \
tests/test_vgrid_deflate.tif \
tests/test_vgrid_float64.tif \
tests/test_vgrid_in_second_channel.tif \
tests/test_vgrid_int16.tif \
tests/test_vgrid_int32.tif \
tests/test_vgrid_uint32.tif \
tests/test_vgrid_invalid_channel_type.tif \
tests/test_vgrid_nodata.tif \
tests/test_vgrid_pixelisarea.tif \
tests/test_vgrid_pixelispoint.tif \
tests/test_vgrid_uint16.tif \
tests/test_vgrid_uint16_with_scale_offset.tif \
tests/test_vgrid_unsupported_byte.tif \
tests/test_vgrid_with_overview.tif \
tests/test_vgrid_with_subgrid.tif \
tests/test_hgrid.tif \
tests/test_hgrid_separate.tif \
tests/test_hgrid_tiled.tif \
tests/test_hgrid_tiled_separate.tif \
tests/test_hgrid_strip.tif \
tests/test_hgrid_positive_west.tif \
tests/test_hgrid_lon_shift_first.tif \
tests/test_hgrid_radian.tif \
tests/test_hgrid_degree.tif \
tests/test_hgrid_with_overview.tif \
tests/test_hgrid_extra_ifd_with_other_info.tif \
tests/test_hgrid_with_subgrid.tif \
tests/test_hgrid_with_subgrid_no_grid_name.tif \
tests/subset_of_gr3df97a.tif \
tests/egm96_15_uncompressed_truncated.tif \
tests/test_vgrid_single_strip_truncated.tif \
tests/nkgrf03vel_realigned_extract.tif \
tests/nkgrf03vel_realigned_xy_extract.ct2 \
tests/nkgrf03vel_realigned_z_extract.gtx \
tests/test_hgrid_with_two_level_of_subgrids_no_grid_name.tif \
null \
generate_all_sql_in.cmake sql_filelist.cmake \
$(SQL_ORDERED_LIST)
@@ -95,12 +139,41 @@ proj.db: $(DATAPATH)/sql/*.sql
fi
# For out-of-tree builds, link all file of the source data dir to the generated data
# Also link select resource files in a for_tests subdirectory so that we are not
# influenced by the presence of other grids
check-local:
@if [ ! -f GL27 ]; then \
for x in $(DATAPATH)/*; do \
ln -sf $$x .; \
done \
fi
fi; \
rm -rf for_tests; \
mkdir for_tests; \
for x in $(DATAPATH)/null \
$(DATAPATH)/GL27 \
$(DATAPATH)/nad27 \
$(DATAPATH)/nad83 \
$(DATAPATH)/ntv1_can.dat \
$(DATAPATH)/MD \
$(DATAPATH)/ntf_r93.gsb \
$(DATAPATH)/egm96_15.gtx \
$(DATAPATH)/ntv2_0.gsb \
$(DATAPATH)/conus \
$(DATAPATH)/alaska \
$(DATAPATH)/nzgd2kgrid0005.gsb \
$(DATAPATH)/ITRF2000 \
$(DATAPATH)/BETA2007.gsb; \
do \
if test -f "$$x" ; then \
ln -sf "../$$x" for_tests; \
else \
echo "WARNING: grid $$x missing: some tests will be skipped"; \
fi \
done; \
ln -sf ../$(DATAPATH)/tests for_tests; \
ln -sf ../$(DATAPATH)/proj.ini for_tests; \
ln -sf ../proj.db for_tests
clean-local:
$(RM) proj.db
$(RM) -rf for_tests
+16
View File
@@ -0,0 +1,16 @@
[general]
; Lines starting by ; are commented lines.
;
; Network capabilities disabled by default.
; Can be overriden with the PROJ_NETWORK=ON environment variable.
; network = on
; Can be overriden with the PROJ_NETWORK_ENDPOINT environment variable.
cdn_endpoint = https://cdn.proj.org
cache_enabled = on
cache_size_MB = 300
cache_ttl_sec = 86400
+11 -1
View File
@@ -1,5 +1,5 @@
{
"$id": "https://proj.org/schemas/v0.1/projjson.schema.json",
"$id": "https://proj.org/schemas/v0.2/projjson.schema.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"description": "Schema for PROJJSON",
"$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",
@@ -932,6 +932,16 @@
},
"datum_ensemble": { "$ref": "#/definitions/datum_ensemble" },
"coordinate_system": { "$ref": "#/definitions/coordinate_system" },
"geoid_model": {
"type": "object",
"properties": {
"name": { "type": "string" },
"interpolation_crs": { "$ref": "#/definitions/crs" },
"id": { "$ref": "#/definitions/id" }
},
"required" : [ "name" ],
"additionalProperties": false
},
"$schema" : {},
"scope": {},
"area": {},
+6821 -2
View File
File diff suppressed because it is too large Load Diff
+61 -33
View File
@@ -35,7 +35,7 @@ INSERT INTO "area" VALUES('EPSG','1055','Brunei','Brunei Darussalam - onshore an
INSERT INTO "area" VALUES('EPSG','1056','Bulgaria','Bulgaria - onshore and offshore.',41.24,44.23,22.36,31.35,0);
INSERT INTO "area" VALUES('EPSG','1057','Burkina Faso','Burkina Faso.',9.39,15.09,-5.53,2.4,0);
INSERT INTO "area" VALUES('EPSG','1058','Burundi','Burundi.',-4.45,-2.3,28.98,30.86,0);
INSERT INTO "area" VALUES('EPSG','1059','Cambodia','Cambodia - onshore and offshore.',8.78,14.71,101.33,107.64,0);
INSERT INTO "area" VALUES('EPSG','1059','Cambodia','Cambodia - onshore and offshore.',8.78,14.73,101.33,107.64,0);
INSERT INTO "area" VALUES('EPSG','1060','Cameroon','Cameroon - onshore and offshore.',1.65,13.09,8.32,16.21,0);
INSERT INTO "area" VALUES('EPSG','1061','Canada','Canada - onshore and offshore - Alberta; British Columbia; Manitoba; New Brunswick; Newfoundland and Labrador; Northwest Territories; Nova Scotia; Nunavut; Ontario; Prince Edward Island; Quebec; Saskatchewan; Yukon.',40.04,86.46,-141.01,-47.74,0);
INSERT INTO "area" VALUES('EPSG','1062','Cape Verde','Cape Verde - onshore and offshore. Includes Boa Vista, Brava, Fogo, Maio, Sal, Santo Antao, Sao Nicolau, Sao Tiago, Sao Vicente.',11.47,20.54,-28.85,-19.53,0);
@@ -114,7 +114,7 @@ INSERT INTO "area" VALUES('EPSG','1134','Korea, Democratic People''s Republic of
INSERT INTO "area" VALUES('EPSG','1135','Korea, Republic of (South Korea)','Republic of Korea (South Korea) - onshore and offshore.',28.6,40.27,122.71,134.28,0);
INSERT INTO "area" VALUES('EPSG','1136','Kuwait','Kuwait - onshore and offshore.',28.53,30.09,46.54,49.53,0);
INSERT INTO "area" VALUES('EPSG','1137','Kyrgyzstan','Kyrgyzstan.',39.19,43.22,69.24,80.29,0);
INSERT INTO "area" VALUES('EPSG','1138','Laos','Laos.',13.92,22.5,100.09,107.7,0);
INSERT INTO "area" VALUES('EPSG','1138','Laos','Laos.',13.92,22.5,100.09,107.64,0);
INSERT INTO "area" VALUES('EPSG','1139','Latvia','Latvia - onshore and offshore.',55.67,58.09,19.06,28.24,0);
INSERT INTO "area" VALUES('EPSG','1140','Lebanon','Lebanon - onshore and offshore.',33.06,34.84,33.75,36.63,0);
INSERT INTO "area" VALUES('EPSG','1141','Lesotho','Lesotho.',-30.66,-28.57,27.01,29.46,0);
@@ -228,7 +228,7 @@ INSERT INTO "area" VALUES('EPSG','1248','Uzbekistan','Uzbekistan.',37.18,45.58,5
INSERT INTO "area" VALUES('EPSG','1249','Vanuatu','Vanuatu - onshore and offshore.',-21.65,-12.27,163.16,173.59,0);
INSERT INTO "area" VALUES('EPSG','1250','Holy See (Vatican City State)','Holy See (Vatican City State).',41.9,41.91,12.44,12.46,0);
INSERT INTO "area" VALUES('EPSG','1251','Venezuela','Venezuela - onshore and offshore.',0.64,16.75,-73.38,-58.95,0);
INSERT INTO "area" VALUES('EPSG','1252','Vietnam','Vietnam - onshore and offshore.',5.67,23.33,102.14,112.55,0);
INSERT INTO "area" VALUES('EPSG','1252','Vietnam','Vietnam - onshore and offshore.',5.67,23.4,102.14,112.55,0);
INSERT INTO "area" VALUES('EPSG','1253','Virgin Islands, British','British Virgin Islands - onshore and offshore - Anegada, Jost Van Dyke, Tortola, and Virgin Gorda.',17.96,22.09,-65.85,-63.29,0);
INSERT INTO "area" VALUES('EPSG','1254','Virgin Islands, US','US Virgin Islands - onshore and offshore - St Croix, St John, and St Thomas.',16.22,21.83,-66.05,-63.88,0);
INSERT INTO "area" VALUES('EPSG','1255','Wallis and Futuna','Wallis and Futuna - onshore and offshore - Uvea, Futuna, and Alofi.',-15.94,-9.84,179.49,-174.27,0);
@@ -278,7 +278,7 @@ INSERT INTO "area" VALUES('EPSG','1298','Europe - ETRS89','Europe - onshore and
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);
INSERT INTO "area" VALUES('EPSG','1302','Asia - Cambodia and Vietnam - mainland','Cambodia - mainland onshore; Vietnam - mainland onshore.',8.5,23.33,102.14,109.52,0);
INSERT INTO "area" VALUES('EPSG','1302','Asia - Cambodia and Vietnam - mainland','Cambodia - mainland onshore; Vietnam - mainland onshore.',8.33,23.4,102.14,109.53,0);
INSERT INTO "area" VALUES('EPSG','1303','South America - Tierra del Fuego','Argentina and Chile - Tierra del Fuego, onshore.',-55.96,-51.99,-74.83,-63.73,0);
INSERT INTO "area" VALUES('EPSG','1304','Asia - Myanmar and Thailand onshore','Myanmar (Burma) - onshore; Thailand - onshore.',5.63,28.55,92.2,105.64,0);
INSERT INTO "area" VALUES('EPSG','1305','Europe - Ireland (Republic and Ulster) - onshore','Ireland - onshore. United Kingdom (UK) - Northern Ireland (Ulster) - onshore.',51.39,55.43,-10.56,-5.34,0);
@@ -299,7 +299,7 @@ INSERT INTO "area" VALUES('EPSG','1319','Venezuela - Maracaibo area','Venezuela
INSERT INTO "area" VALUES('EPSG','1320','Venezuela - Maturin','Venezuela - Maturin area.',9.1,10.13,-64.3,-63.0,0);
INSERT INTO "area" VALUES('EPSG','1321','Europe - Austria and former Yugoslavia onshore','Austria. Bosnia and Herzegovina. Croatia - onshore. Kosovo. Montenegro - onshore. North Macedonia. Serbia. Slovenia - onshore.',40.85,49.02,9.53,23.04,0);
INSERT INTO "area" VALUES('EPSG','1322','Trinidad and Tobago - Tobago - onshore','Trinidad and Tobago - Tobago - onshore.',11.08,11.41,-60.9,-60.44,0);
INSERT INTO "area" VALUES('EPSG','1323','USA - CONUS - onshore','United States (USA) - 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.',24.41,49.38,-124.79,-66.91,0);
INSERT INTO "area" VALUES('EPSG','1323','USA - CONUS - onshore','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.',24.41,49.38,-124.79,-66.91,0);
INSERT INTO "area" VALUES('EPSG','1324','USA (all states)','United States (USA) - onshore and offshore - Alabama; Alaska; Arizona; Arkansas; California; Colorado; Connecticut; Delaware; Florida; Georgia; Hawaii; Idaho; Illinois; Indiana; Iowa; Kansas; Kentucky; Louisiana; Maine; Maryland; Massachusetts; Michigan; Minnesota; Mississippi; Missouri; Montana; Nebraska; Nevada; New Hampshire; New Jersey; New Mexico; New York; North Carolina; North Dakota; Ohio; Oklahoma; Oregon; Pennsylvania; Rhode Island; South Carolina; South Dakota; Tennessee; Texas; Utah; Vermont; Virginia; Washington; West Virginia; Wisconsin; Wyoming.',15.56,74.71,167.65,-65.69,0);
INSERT INTO "area" VALUES('EPSG','1325','North America - Canada and USA (CONUS, Alaska mainland)','North America - onshore and offshore: Canada - Alberta; British Columbia; Manitoba; New Brunswick; Newfoundland and Labrador; Northwest Territories; Nova Scotia; Nunavut; Ontario; Prince Edward Island; Quebec; Saskatchewan; Yukon. United States (USA) - 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.',23.81,86.46,-172.54,-47.74,0);
INSERT INTO "area" VALUES('EPSG','1326','France - mainland onshore','France - mainland onshore.',42.33,51.14,-4.87,8.23,0);
@@ -428,8 +428,8 @@ INSERT INTO "area" VALUES('EPSG','1448','Canada - 72°W to 66°W, south of 62°N
INSERT INTO "area" VALUES('EPSG','1449','Canada - 66°W to 60°W, south of 60°N','Canada south of 60°N and between 66°W and 60°W - New Brunswick (NB), Labrador, Nova Scotia (NS), Prince Edward Island (PEI), Quebec.',43.2,60.0,-66.0,-60.0,1);
INSERT INTO "area" VALUES('EPSG','1450','Cote d''Ivoire (Ivory Coast) - east of 6°W','Côte d''Ivoire (Ivory Coast) east of 6°W.',4.92,10.46,-6.0,-2.48,0);
INSERT INTO "area" VALUES('EPSG','1451','Cote d''Ivoire (Ivory Coast) - west of 6°W','Côte d''Ivoire (Ivory Coast) west of 6°W.',4.29,10.74,-8.61,-6.0,0);
INSERT INTO "area" VALUES('EPSG','1452','Vietnam - west of 108°E onshore','Vietnam - onshore west of 108°E.',8.5,23.33,102.14,108.0,0);
INSERT INTO "area" VALUES('EPSG','1453','Vietnam - east of 108°E onshore','Vietnam - onshore east of 108°E.',10.42,21.56,108.0,109.52,0);
INSERT INTO "area" VALUES('EPSG','1452','Vietnam - west of 108°E onshore','Vietnam - onshore west of 108°E.',8.33,23.4,102.14,108.0,0);
INSERT INTO "area" VALUES('EPSG','1453','Vietnam - east of 108°E onshore','Vietnam - onshore east of 108°E.',10.43,21.56,108.0,109.53,0);
INSERT INTO "area" VALUES('EPSG','1454','Namibia - Walvis Bay','Namibia - Walvis Bay.',-23.15,-22.68,14.35,14.6,0);
INSERT INTO "area" VALUES('EPSG','1455','South Africa - west of 18°E','South Africa - onshore west of 18°E.',-33.1,-28.03,16.45,18.0,0);
INSERT INTO "area" VALUES('EPSG','1456','South Africa - 18°E to 20°E','South Africa - onshore between 18°E and 20°E.',-34.88,-28.38,17.99,20.0,0);
@@ -470,7 +470,7 @@ INSERT INTO "area" VALUES('EPSG','1490','Yemen - 42°E to 48°E','Yemen - betwee
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','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.02,11.03,105.49,107.59,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);
INSERT INTO "area" VALUES('EPSG','1496','Korea, Republic of (South Korea) - east of 128°E onshore','Republic of Korea (South Korea) - onshore east of 128°E.',34.49,38.64,128.0,129.65,0);
INSERT INTO "area" VALUES('EPSG','1497','Korea, Republic of (South Korea) - 126°E to 128°E onshore','Republic of Korea (South Korea) - onshore between 126°E and 128°E.',33.14,38.33,126.0,128.0,0);
@@ -514,11 +514,11 @@ INSERT INTO "area" VALUES('EPSG','1534','Canada - Nova Scotia - east of 63°W','
INSERT INTO "area" VALUES('EPSG','1535','Canada - Nova Scotia - west of 63°W','Canada - Nova Scotia - west of 63°W.',43.41,46.02,-66.28,-63.0,0);
INSERT INTO "area" VALUES('EPSG','1536','Finland - 19.5°E to 22.5°E onshore','Finland - onshore between 19°30''E and 22°30''E.',59.76,69.33,19.5,22.5,0);
INSERT INTO "area" VALUES('EPSG','1537','Finland - 22.5°E to 25.5°E onshore','Finland - onshore between 22°30''E and 25°30''E.',59.75,68.9,22.5,25.5,0);
INSERT INTO "area" VALUES('EPSG','1538','Finland - 25.5°E to 28.5°E onshore. Also all country.','Finland - onshore between 25°30''E and 28°30''E for Basic Coordinate System and all onshore Finland for Uniform Coordinate System.',59.75,70.09,19.24,31.59,0);
INSERT INTO "area" VALUES('EPSG','1538','Finland - 25.5°E to 28.5°E onshore.','Finland - onshore between 25°30''E and 28°30''E for Basic Coordinate System and all onshore Finland for Uniform Coordinate System.',60.18,70.09,25.5,28.51,0);
INSERT INTO "area" VALUES('EPSG','1539','Finland - 28.5°E to 31.5°E','Finland - between 28°30''E and 31°30''E.',60.94,69.81,28.5,31.5,0);
INSERT INTO "area" VALUES('EPSG','1540','Mozambique - onshore west of 36°E','Mozambique - onshore west of 36°E.',-26.87,-11.41,30.21,36.0,0);
INSERT INTO "area" VALUES('EPSG','1541','Mozambique - onshore east of 36°E','Mozambique - onshore east of 36°E.',-18.98,-10.42,35.99,40.9,0);
INSERT INTO "area" VALUES('EPSG','1542','Asia - Cambodia and Vietnam - west of 108°E','Cambodia; Vietnam west of 108°E.',8.5,23.33,102.14,108.0,0);
INSERT INTO "area" VALUES('EPSG','1542','Asia - Cambodia and Vietnam - west of 108°E','Cambodia; Vietnam west of 108°E.',8.33,23.4,102.14,108.0,0);
INSERT INTO "area" VALUES('EPSG','1543','Austria - Styria','Austria - Styria.',46.64,47.84,13.58,16.17,0);
INSERT INTO "area" VALUES('EPSG','1544','Oman - onshore west of 54°E','Oman - onshore west of 54°E.',16.59,19.67,51.99,54.0,0);
INSERT INTO "area" VALUES('EPSG','1545','Oman - onshore east of 54°E','Oman - onshore east of 54°E. Includes Musandam and the Kuria Muria (Al Hallaniyah) islands.',16.89,26.58,54.0,59.91,0);
@@ -583,7 +583,7 @@ INSERT INTO "area" VALUES('EPSG','1603','Colombia - offshore Caribbean west of 7
INSERT INTO "area" VALUES('EPSG','1604','Angola - Angola proper - offshore','Angola - Angola proper - offshore.',-17.26,-6.01,8.2,13.86,0);
INSERT INTO "area" VALUES('EPSG','1605','Angola - offshore block 15','Angola - offshore block 15.',-6.59,-6.03,10.83,11.67,0);
INSERT INTO "area" VALUES('EPSG','1606','Angola - Angola proper - offshore - west of 12°E','Angola - Angola proper - offshore - west of 12°E.',-17.26,-6.03,8.2,12.0,0);
INSERT INTO "area" VALUES('EPSG','1607','Angola - 12°E to 18°E','Angola - Angola proper between 12°E and 18°E.',-17.44,-5.82,12.0,18.0,0);
INSERT INTO "area" VALUES('EPSG','1607','Angola - Angola proper - 12°E to 18°E','Angola - Angola proper between 12°E and 18°E.',-17.44,-5.82,12.0,18.0,0);
INSERT INTO "area" VALUES('EPSG','1608','Argentina - west of 70.5°W','Argentina - west of 70°30''W.',-52.0,-36.16,-73.59,-70.5,0);
INSERT INTO "area" VALUES('EPSG','1609','Argentina - 70.5°W to 67.5°W onshore','Argentina - between 70°30''W and 67°30''W, onshore.',-54.9,-24.08,-70.5,-67.49,0);
INSERT INTO "area" VALUES('EPSG','1610','Argentina - 67.5°W to 64.5°W onshore','Argentina - between 67°30''W and 64°30''W, onshore.',-55.11,-21.78,-67.5,-64.49,0);
@@ -1335,8 +1335,8 @@ INSERT INTO "area" VALUES('EPSG','2355','Falkland Islands - East Falkland Island
INSERT INTO "area" VALUES('EPSG','2356','Ecuador - Galapagos onshore','Ecuador - Baltra; Galapagos - onshore.',-1.41,0.18,-91.72,-89.19,0);
INSERT INTO "area" VALUES('EPSG','2357','Argentina - Tierra del Fuego onshore','Argentina - Tierra del Fuego onshore.',-55.11,-52.59,-68.64,-63.73,0);
INSERT INTO "area" VALUES('EPSG','2358','Thailand - Bongkot field','Thailand - Bongkot field.',6.74,8.16,102.16,103.05,0);
INSERT INTO "area" VALUES('EPSG','2359','Vietnam - 14°N to 18°N onshore','Vietnam - onshore between 14°N and 18°N.',14.0,18.0,105.61,109.32,0);
INSERT INTO "area" VALUES('EPSG','2360','Vietnam - Con Son Island','Vietnam - Con Son Island.',8.58,8.83,106.49,106.79,0);
INSERT INTO "area" VALUES('EPSG','2359','Vietnam - 14°N to 18°N onshore','Vietnam - onshore between 14°N and 18°N.',14.0,18.01,105.61,109.36,0);
INSERT INTO "area" VALUES('EPSG','2360','Vietnam - Con Son Island','Vietnam - Con Son Island.',8.57,8.83,106.48,106.8,0);
INSERT INTO "area" VALUES('EPSG','2361','Myanmar (Burma) - Moattama area','Myanmar (Burma) - Moattama area.',9.48,17.87,93.94,99.66,0);
INSERT INTO "area" VALUES('EPSG','2362','Iran - Kangan district','Iran - Kangan district.',27.3,28.2,51.8,53.01,0);
INSERT INTO "area" VALUES('EPSG','2363','Venezuela - east','Venezuela - east - Delta Amacuro; Anzoategui; Bolivar; Monagas; Sucre states.',3.56,10.8,-67.49,-59.8,0);
@@ -1697,8 +1697,8 @@ INSERT INTO "area" VALUES('EPSG','2717','China - 91.5°E to 94.5°E','China - be
INSERT INTO "area" VALUES('EPSG','2718','China - 94.5°E to 97.5°E','China - between 94°30''E and 97°30''E.',28.23,44.5,94.5,97.51,0);
INSERT INTO "area" VALUES('EPSG','2719','China - 97.5°E to 100.5°E','China - between 97°30''E and 100°30''E.',21.43,42.76,97.5,100.5,0);
INSERT INTO "area" VALUES('EPSG','2720','China - 100.5°E to 103.5°E','China - between 100°30''E and 103°30''E.',21.13,42.69,100.5,103.5,0);
INSERT INTO "area" VALUES('EPSG','2721','China - 103.5°E to 106.5°E','China - between 103°30''E and 106°30''E.',22.5,42.21,103.5,106.5,0);
INSERT INTO "area" VALUES('EPSG','2722','China - 106.5°E to 109.5°E onshore','China - onshore between 106°30''E and 109°30''E.',18.19,42.47,106.5,109.5,0);
INSERT INTO "area" VALUES('EPSG','2721','China - 103.5°E to 106.5°E','China - between 103°30''E and 106°30''E.',22.5,42.21,103.5,106.51,0);
INSERT INTO "area" VALUES('EPSG','2722','China - 106.5°E to 109.5°E onshore','China - onshore between 106°30''E and 109°30''E.',18.19,42.47,106.5,109.51,0);
INSERT INTO "area" VALUES('EPSG','2723','China - 109.5°E to 112.5°E onshore','China - onshore between 109°30''E and 112°30''E.',18.11,45.11,109.5,112.5,0);
INSERT INTO "area" VALUES('EPSG','2724','China - 112.5°E to 115.5°E onshore','China - onshore between 112°30''E and 115°30''E.',21.52,45.45,112.5,115.5,0);
INSERT INTO "area" VALUES('EPSG','2725','China - 115.5°E to 118.5°E onshore','China - onshore between 115°30''E and 118°30''E.',22.6,49.88,115.5,118.5,0);
@@ -1949,14 +1949,14 @@ INSERT INTO "area" VALUES('EPSG','2969','Mauritania - east of 6°W','Mauritania
INSERT INTO "area" VALUES('EPSG','2970','Mauritania - 12°W to 6°W','Mauritania - between 12°W and 6°W.',14.75,27.3,-12.0,-6.0,0);
INSERT INTO "area" VALUES('EPSG','2971','Mauritania - west of 12°W onshore','Mauritania - onshore west of 12°W.',14.72,23.46,-17.08,-12.0,0);
INSERT INTO "area" VALUES('EPSG','2972','Mauritania - Nouakchutt','Mauritania - Nouakchutt.',17.89,18.25,-16.11,-15.83,0);
INSERT INTO "area" VALUES('EPSG','2973','USA - CONUS south of 41°N, west of 112°W - onshore','United States (USA) - CONUS south of 41°N and west of 112°W - onshore - Arizona; California; Nevada; Utah.',31.64,41.0,-124.45,-112.0,0);
INSERT INTO "area" VALUES('EPSG','2974','USA - CONUS south of 41°N, 112°W to 95°W - onshore','United States (USA) - CONUS south of 41°N and between 112°W and 95°W - onshore - Arizona; Colorado; Iowa; Kansas; Missouri; Nebraska; New Mexico; Oklahoma; Texas; Utah.',25.83,41.01,-112.0,-94.99,0);
INSERT INTO "area" VALUES('EPSG','2975','USA - CONUS south of 41°N, 95°W to 78°W - onshore','United States (USA) - CONUS south of 41°N and between 95°W and 78°W - onshore - Alabama; Arkansas; Florida; Georgia; Illinois; Indiana; Iowa; Kansas; Kentucky; Louisiana; Maryland; Mississippi; Missouri; North Carolina; Ohio; Oklahoma; Pennsylvania; South Carolina; Tennessee; Texas; Virginia; West Virginia.',24.41,41.01,-95.0,-77.99,0);
INSERT INTO "area" VALUES('EPSG','2976','USA - CONUS south of 41°N, east of 78°W - onshore','United States (USA) - CONUS south of 41°N and east of 78°W - onshore - Delaware; Maryland; New Jersey; New York; North Carolina; Pennsylvania; Virginia; West Virginia.',33.84,41.01,-78.0,-71.9,0);
INSERT INTO "area" VALUES('EPSG','2977','USA - CONUS north of 41°N, west of 112°W - onshore','United States (USA) - CONUS north of 41°N and west of 112°W - onshore - California; Idaho; Montana; Nevada; Oregon; Utah; Washington.',41.0,49.05,-124.79,-112.0,0);
INSERT INTO "area" VALUES('EPSG','2978','USA - CONUS north of 41°N, 112°W to 95°W','United States (USA) - CONUS north of 41°N and between 112°W and 95°W. Idaho; Iowa; Minnesota; Montana; Nebraska; North Dakota; South Dakota; Utah; Wyoming.',41.0,49.38,-112.0,-95.0,0);
INSERT INTO "area" VALUES('EPSG','2979','USA - CONUS north of 41°N, 95°W to 78°W','United States (USA) - CONUS north of 41°N and between 95°W and 78°W. Illinois; Indiana; Iowa; Michigan; Minnesota; New York; Ohio; Pennsylvania; Wisconsin.',41.0,49.37,-95.0,-77.99,0);
INSERT INTO "area" VALUES('EPSG','2980','USA - CONUS north of 41°N, east of 78°W - onshore','United States (USA) - CONUS north of 41°N and east of 78°W - onshore - Connecticut; Maine; Massachusetts; New Hampshire; New Jersey; New York; Pennsylvania; Rhode Island; Vermont.',41.0,47.47,-78.0,-66.91,0);
INSERT INTO "area" VALUES('EPSG','2973','USA - CONUS south of 41°N, west of 112°W - onshore','United States (USA) - CONUS onshore south of 41°N and west of 112°W - Arizona west of 112°W; California and Nevada south of 41°N; Utah south of 41°N and west of 112°W.',31.64,41.0,-124.45,-112.0,0);
INSERT INTO "area" VALUES('EPSG','2974','USA - CONUS south of 41°N, 112°W to 95°W - onshore','United States (USA) - CONUS onshore south of 41°N and between 112°W and 95°W - Colorado and New Mexico; Arizona east of 112°W; Utah south of 41°N and east of 112°W; Nebraska south of 41°N; Iowa south of 41°N and west of 95°W; Kansas, Missouri, Oklahoma and Texas west of 95°W.',25.83,41.01,-112.0,-94.99,0);
INSERT INTO "area" VALUES('EPSG','2975','USA - CONUS south of 41°N, 95°W to 78°W - onshore','United States (USA) - CONUS onshore south of 41°N and between 95°W and 78°W - Alabama, Arkansas, Florida, Georgia, Kentucky, Louisiana, Mississippi, South Carolina and Tennessee; Kansas, Missouri, Oklahoma and Texas east of 95°W; Iowa south of 41°N and east of 95°W; Illinois, Indiana and Ohio south of 41°N; Pennsylvania south of 41°N and west of 78°W; Maryland, North Carolina, Virginia and West Virginia west of 78°W.',24.41,41.01,-95.0,-77.99,0);
INSERT INTO "area" VALUES('EPSG','2976','USA - CONUS south of 41°N, east of 78°W - onshore','United States (USA) - CONUS onshore - south of 41°N and east of 78°W - Delaware; Maryland, North Carolina, Virginia and West Virginia east of 78°W; Pennsylvania south of 41°N and east of 78°W; New Jersey and New York south of 41°N.',33.84,41.01,-78.0,-71.9,0);
INSERT INTO "area" VALUES('EPSG','2977','USA - CONUS north of 41°N, west of 112°W - onshore','United States (USA) - CONUS onshore north of 41°N and west of 112°W - Oregon and Washington; California and Nevada north of 41°N; Utah north of 41°N and west of 112°W; Idaho and Montana west of 112°W.',41.0,49.05,-124.79,-112.0,0);
INSERT INTO "area" VALUES('EPSG','2978','USA - CONUS north of 41°N, 112°W to 95°W','United States (USA) - CONUS north of 41°N and between 112°W and 95°W - North Dakota, South Dakota and Wyoming; Idaho and Montana east of 112°W; Utah north of 41°N and east of 112°W; Nebraska north of 41°N; Iowa north of 41°N and west of 95°W; Minnesota west of 95°W.',41.0,49.38,-112.0,-95.0,0);
INSERT INTO "area" VALUES('EPSG','2979','USA - CONUS north of 41°N, 95°W to 78°W','United States (USA) - CONUS north of 41°N and between 95°W and 78°W - Michigan and Wisconsin; Minnesota east of 95°W; Iowa north of 41°N and east of 95°W; Illinois, Indiana and Ohio north of 41°N; Pennsylvania north of 41°N and west of 78°W; New York west of 78°W.',41.0,49.37,-95.0,-77.99,0);
INSERT INTO "area" VALUES('EPSG','2980','USA - CONUS north of 41°N, east of 78°W - onshore','United States (USA) - CONUS onshore north of 41°N and east of 78°W - Connecticut, Maine, Massachusetts, New Hampshire, Rhode Island and Vermont; New Jersey north of 41°N; New York and Pennsylvania north of 41°N and east of 78°W.',41.0,47.47,-78.0,-66.91,0);
INSERT INTO "area" VALUES('EPSG','2981','Nigeria - offshore','Nigeria - offshore.',1.92,6.38,2.66,8.49,0);
INSERT INTO "area" VALUES('EPSG','2982','Pakistan - Karachi','Pakistan - Karachi licence area.',24.69,25.76,66.83,68.0,0);
INSERT INTO "area" VALUES('EPSG','2983','Pakistan - East Sind','Pakistan - East Sind.',24.16,28.61,68.27,71.14,0);
@@ -2201,7 +2201,7 @@ INSERT INTO "area" VALUES('EPSG','3221','Bermuda - onshore','Bermuda - onshore.'
INSERT INTO "area" VALUES('EPSG','3222','Bouvet Island - onshore','Bouvet Island - onshore.',-54.52,-54.33,3.29,3.54,0);
INSERT INTO "area" VALUES('EPSG','3223','Brazil - onshore','Brazil - onshore.',-33.78,5.28,-74.01,-34.74,0);
INSERT INTO "area" VALUES('EPSG','3224','Bulgaria - onshore','Bulgaria - onshore.',41.24,44.23,22.36,28.68,0);
INSERT INTO "area" VALUES('EPSG','3225','Cambodia - onshore','Cambodia - onshore.',10.39,14.71,102.34,107.64,0);
INSERT INTO "area" VALUES('EPSG','3225','Cambodia - onshore','Cambodia - onshore.',10.39,14.73,102.34,107.64,0);
INSERT INTO "area" VALUES('EPSG','3226','Cameroon - onshore','Cameroon - onshore.',1.65,13.09,8.45,16.21,0);
INSERT INTO "area" VALUES('EPSG','3227','Chile - onshore north of 45°S','Chile - onshore north of 45°S.',-45.0,-17.5,-75.22,-67.0,0);
INSERT INTO "area" VALUES('EPSG','3228','China - onshore','China - onshore.',18.11,53.56,73.62,134.77,0);
@@ -2304,7 +2304,7 @@ INSERT INTO "area" VALUES('EPSG','3324','Ukraine - onshore','Ukraine - onshore.'
INSERT INTO "area" VALUES('EPSG','3325','UAE - onshore','United Arab Emirates (UAE) - onshore. Abu Dhabi, Dubai, Sharjah, Umm al Qaywayn, Al Fujairah, Ras al Khaymah.',22.63,26.1,51.56,56.44,0);
INSERT INTO "area" VALUES('EPSG','3326','Uruguay - onshore','Uruguay - onshore.',-35.0,-30.09,-58.49,-53.09,0);
INSERT INTO "area" VALUES('EPSG','3327','Venezuela - onshore','Venezuela - onshore.',0.64,12.25,-73.38,-59.8,0);
INSERT INTO "area" VALUES('EPSG','3328','Vietnam - onshore','Vietnam - onshore.',8.5,23.33,102.14,109.52,0);
INSERT INTO "area" VALUES('EPSG','3328','Vietnam - onshore','Vietnam - onshore.',8.33,23.4,102.14,109.53,0);
INSERT INTO "area" VALUES('EPSG','3329','Virgin Islands, British - onshore','British Virgin Islands - onshore - Anegada, Jost Van Dyke, Tortola, and Virgin Gorda.',18.28,18.78,-64.88,-64.25,0);
INSERT INTO "area" VALUES('EPSG','3330','Virgin Islands, US - onshore','US Virgin Islands - onshore - St Croix, St John, and St Thomas.',17.62,18.44,-65.09,-64.51,0);
INSERT INTO "area" VALUES('EPSG','3331','Western Sahara - onshore','Western Sahara - onshore.',20.71,27.67,-17.16,-8.66,0);
@@ -2746,7 +2746,7 @@ INSERT INTO "area" VALUES('EPSG','3766','French Guiana - coastal area east of 54
INSERT INTO "area" VALUES('EPSG','3767','Ireland - onshore','Ireland - onshore.',51.39,55.43,-10.56,-5.93,0);
INSERT INTO "area" VALUES('EPSG','3768','New Zealand - North Island - Moturiki vcrs','New Zealand - North Island - Moturiki vertical CRS area.',-40.59,-37.52,174.57,177.26,0);
INSERT INTO "area" VALUES('EPSG','3769','New Zealand - North Island - Taranaki vcrs','New Zealand - North Island - Taranaki vertical CRS area.',-39.92,-38.41,173.68,174.95,0);
INSERT INTO "area" VALUES('EPSG','3770','Vietnam - DBSCL 02 and 03','Vietnam - Mekong delta blocks DBSCL 02 and 03.',9.34,11.03,104.25,107.11,0);
INSERT INTO "area" VALUES('EPSG','3770','Vietnam - DBSCL 02 and 03','Vietnam - Mekong delta blocks DBSCL 02 and 03.',9.35,11.04,104.24,107.11,0);
INSERT INTO "area" VALUES('EPSG','3771','New Zealand - North Island - Gisborne vcrs','New Zealand - North Island - Gisborne vertical CRS area.',-39.04,-37.49,176.41,178.63,0);
INSERT INTO "area" VALUES('EPSG','3772','New Zealand - North Island - Hawkes Bay mc Napier vcrs','New Zealand - North Island - Hawkes Bay meridional circuit and Napier vertical crs area.',-40.57,-38.87,175.8,178.07,0);
INSERT INTO "area" VALUES('EPSG','3773','New Zealand - North Island - Wellington vcrs','New Zealand - North Island - Wellington vertical CRS area.',-41.67,-40.12,174.52,176.56,0);
@@ -2983,7 +2983,7 @@ INSERT INTO "area" VALUES('EPSG','4003','Germany - East Germany - east of 13.5°
INSERT INTO "area" VALUES('EPSG','4004','Australia - Northern Territory mainland','Australia - Northern Territory mainland onshore.',-26.01,-10.92,128.99,138.0,0);
INSERT INTO "area" VALUES('EPSG','4005','Indonesia - Kalimantan W - coastal','Indonesia - west Kalimantan - onshore coastal area.',0.06,2.13,108.79,109.78,0);
INSERT INTO "area" VALUES('EPSG','4006','Yemen - west of 42°E','Yemen - west of 42°E, onshore and offshore.',14.73,16.36,41.08,42.0,0);
INSERT INTO "area" VALUES('EPSG','4007','Asia - Cambodia and Vietnam - onshore & Cuu Long basin','Cambodia - onshore; Vietnam - onshore and offshore Cuu Long basin.',7.99,23.33,102.14,110.0,0);
INSERT INTO "area" VALUES('EPSG','4007','Asia - Cambodia and Vietnam - onshore & Cuu Long basin','Cambodia - onshore; Vietnam - onshore and offshore Cuu Long basin.',7.99,23.4,102.14,110.0,0);
INSERT INTO "area" VALUES('EPSG','4008','Oman - mainland east of 54°E','Oman - mainland onshore east of 54°E.',16.89,26.42,54.0,59.91,0);
INSERT INTO "area" VALUES('EPSG','4009','Oman - mainland','Oman - mainland onshore.',16.59,26.42,51.99,59.91,0);
INSERT INTO "area" VALUES('EPSG','4010','Solomon Islands','Solomon Islands - onshore and offshore.',-16.13,-4.14,154.58,173.58,0);
@@ -2991,7 +2991,7 @@ INSERT INTO "area" VALUES('EPSG','4011','Tuvalu - onshore','Tuvalu - onshore.',-
INSERT INTO "area" VALUES('EPSG','4012','Congo DR (Zaire) - Bas Congo east of 15°E','The Democratic Republic of the Congo (Zaire) - Bas Congo east of 15°E.',-5.87,-4.42,14.99,16.28,0);
INSERT INTO "area" VALUES('EPSG','4013','Papua New Guinea - PFTB','Papua New Guinea - Papuan fold and thrust belt.',-8.28,-5.59,142.24,144.75,0);
INSERT INTO "area" VALUES('EPSG','4014','Australia - Western Australia mainland','Australia - Western Australia mainland.',-35.19,-13.67,112.85,129.01,0);
INSERT INTO "area" VALUES('EPSG','4015','Vietnam - mainland','Vietnam - mainland onshore.',8.5,23.33,102.14,109.52,0);
INSERT INTO "area" VALUES('EPSG','4015','Vietnam - mainland','Vietnam - mainland onshore.',8.33,23.4,102.14,109.53,0);
INSERT INTO "area" VALUES('EPSG','4016','South America - onshore north of 45°S','South America - onshore north of 45°S excluding Amazonia.',-45.0,12.52,-81.41,-34.74,0);
INSERT INTO "area" VALUES('EPSG','4017','Australia - SE Australia (ACT NSW)','Australia - Australian Capital Territory and New South Wales onshore.',-37.53,-28.15,140.99,153.69,0);
INSERT INTO "area" VALUES('EPSG','4018','Congo DR (Zaire) - south and 29°E to 31°E','The Democratic Republic of the Congo (Zaire) - south of a line through Bandundu, Seke and Pweto and east of 29°E.',-13.46,-12.15,29.0,29.81,0);
@@ -3169,7 +3169,7 @@ INSERT INTO "area" VALUES('EPSG','4189','Cocos (Keeling) Islands - west of 96°E
INSERT INTO "area" VALUES('EPSG','4190','Cocos (Keeling) Islands - east of 96°E','Cocos (Keeling) Islands - onshore and offshore east of 96°E.',-15.56,-8.47,96.0,100.34,0);
INSERT INTO "area" VALUES('EPSG','4191','Australasia - Australia and Christmas Island - west of 108°E','Australia - offshore west of 108°E. Christmas Island - onshore and offshore west of 108°E.',-34.68,-8.87,102.14,108.01,0);
INSERT INTO "area" VALUES('EPSG','4192','USA - Oregon - Bend-Klamath Falls','United States (USA) - Oregon - Bend-Klamath Falls area.',41.88,43.89,-122.45,-120.77,0);
INSERT INTO "area" VALUES('EPSG','4193','Vietnam - west of 103°30''E onshore','Vietnam - onshore west of 103°30''E.',9.23,22.8,102.14,103.51,0);
INSERT INTO "area" VALUES('EPSG','4193','Vietnam - west of 103°30''E onshore','Vietnam - onshore west of 103°30''E.',9.2,22.82,102.14,103.51,0);
INSERT INTO "area" VALUES('EPSG','4194','Japan onshore excluding northern main province','Japan - onshore, excluding northern prefectures of ''main province'' (see remarks).',20.37,45.54,122.83,154.05,0);
INSERT INTO "area" VALUES('EPSG','4195','USA - Oregon - Bend-Redmond-Prineville','United States (USA) - Oregon - Bend-Redmond-Prineville area.',43.76,44.98,-121.88,-119.79,0);
INSERT INTO "area" VALUES('EPSG','4196','Australia and Macquarie - 156°E to 162°E','Australia including Lord Howe Island and Macquarie Islands - onshore and offshore between 156°E and 162°E.',-60.56,-14.08,156.0,162.01,0);
@@ -3191,10 +3191,10 @@ INSERT INTO "area" VALUES('EPSG','4211','USA - Oregon - Portland','United States
INSERT INTO "area" VALUES('EPSG','4212','USA - Oregon - Salem','United States (USA) - Oregon - Salem area.',44.32,45.3,-123.73,-121.89,0);
INSERT INTO "area" VALUES('EPSG','4213','USA - Oregon - Sweet Home-Sisters','United States (USA) - Oregon - Sweet Home-Santiam Pass-Sisters area.',44.1,44.66,-122.51,-121.69,0);
INSERT INTO "area" VALUES('EPSG','4214','Papua New Guinea - mainland onshore','Papua New Guinea - mainland onshore.',-10.76,-2.53,140.85,150.96,0);
INSERT INTO "area" VALUES('EPSG','4215','Vietnam - 103.5°E to 106.5°E onshore','Vietnam - between 103°30''E and 106°30''E, onshore.',8.5,23.33,103.5,106.51,0);
INSERT INTO "area" VALUES('EPSG','4215','Vietnam - 103.5°E to 106.5°E onshore','Vietnam - between 103°30''E and 106°30''E, onshore.',8.33,23.4,103.5,106.51,0);
INSERT INTO "area" VALUES('EPSG','4216','Papua New Guinea - North Fly','Papua New Guinea - North Fly area (between 5°04''S and 6°36''S and west of 141°32''E).',-6.6,-5.05,140.89,141.54,0);
INSERT INTO "area" VALUES('EPSG','4217','Vietnam - east of 106.5°E onshore','Vietnam - onshore east of 106°30''E.',8.58,22.94,106.5,109.52,0);
INSERT INTO "area" VALUES('EPSG','4218','Vietnam - Da Nang','Vietnam - Da Nang municipality.',15.9,16.25,107.81,108.4,0);
INSERT INTO "area" VALUES('EPSG','4217','Vietnam - east of 106.5°E onshore','Vietnam - onshore east of 106°30''E.',8.57,22.95,106.5,109.53,0);
INSERT INTO "area" VALUES('EPSG','4218','Vietnam - Quang Ninh; Da Nang, Quang Nam; Ba Ria-Vung Tau, Dong Nai, Lam Dong','Vietnam - Quang Ninh province; Da Nang municipality and Quang Nam province; Ba Ria-Vung Tau, Dong Nai and Lam Dong provinces.',8.57,21.67,106.43,108.76,0);
INSERT INTO "area" VALUES('EPSG','4219','USA - Iowa - Mason City','United States (USA) - Iowa - counties of Cerro Gordo; Chickasaw; Floyd; Hancock; Howard; Mitchell; Winnebago; Winneshiek; Worth.',42.9,43.51,-93.98,-91.6,0);
INSERT INTO "area" VALUES('EPSG','4220','Equatorial Guinea - Bioko','Equatorial Guinea - Bioko onshore.',3.14,3.82,8.37,9.02,0);
INSERT INTO "area" VALUES('EPSG','4221','Chile - onshore 36°S to 43.5°S','Chile - onshore between 36°S and 43°30''S.',-43.5,-35.99,-74.48,-70.39,0);
@@ -3492,7 +3492,7 @@ INSERT INTO "area" VALUES('EPSG','4512','USA - Kansas - Coffeyville','United Sta
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','4516','USA - CONUS and GoM','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).',23.82,49.38,-124.79,-66.91,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);
INSERT INTO "area" VALUES('EPSG','4519','Algeria - 32°N to 34°39''N','Algeria - 35.6 grads to 38.5 grads North (32°N to 34°39''N).',31.99,34.66,-2.95,9.09,0);
@@ -3508,6 +3508,34 @@ INSERT INTO "area" VALUES('EPSG','4528','Saudi Arabia - 48°E to 54°E','Saudi A
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);
INSERT INTO "area" VALUES('EPSG','4533','Canada - British Columbia - CRD','Canada - British Columbia - Vancouver Island - Capital Regional District.',48.25,49.06,-124.52,-123.0,0);
INSERT INTO "area" VALUES('EPSG','4534','Canada - British Columbia - north Vancouver Is','Canada - British Columbia - north Vancouver Island.',48.48,50.93,-128.5,-123.49,0);
INSERT INTO "area" VALUES('EPSG','4535','Canada - British Columbia - mainland','Canada - British Columbia - mainland and Graham Island.',48.99,60.01,-139.04,-114.08,0);
INSERT INTO "area" VALUES('EPSG','4536','Canada - Ontario - Toronto','Canada - Ontario - Toronto.',43.58,43.86,-79.64,-79.11,0);
INSERT INTO "area" VALUES('EPSG','4537','Canada - Ontario ex. Toronto','Canada - Ontario excluding Toronto.',41.67,56.9,-95.16,-74.35,0);
INSERT INTO "area" VALUES('EPSG','4538','Vietnam - Son La','Vietnam - Son La province.',20.57,22.04,103.21,105.03,0);
INSERT INTO "area" VALUES('EPSG','4539','Angola - east of 18°E','Angola - east of 18°E.',-18.02,-6.91,17.99,24.09,0);
INSERT INTO "area" VALUES('EPSG','4540','Africa - South Africa, Lesotho and Eswatini.','Eswatini (Swaziland); Lesotho; South Africa - onshore and offshore.',-50.32,-22.13,13.33,42.85,0);
INSERT INTO "area" VALUES('EPSG','4541','Vietnam - Dien Bien and Lai Chau','Vietnam - Dien Bien and Lai Chau provinces.',20.89,22.82,102.14,103.99,0);
INSERT INTO "area" VALUES('EPSG','4542','Kosovo','Kosovo.',41.85,43.25,19.97,21.8,0);
INSERT INTO "area" VALUES('EPSG','4543','Serbia','Serbia including Vojvodinja.',42.23,46.19,18.81,23.01,0);
INSERT INTO "area" VALUES('EPSG','4544','North America - Canada, US (Conus+AK), PRVI','North America - onshore and offshore: Canada - Alberta; British Columbia; Manitoba; New Brunswick; Newfoundland and Labrador; Northwest Territories; Nova Scotia; Nunavut; Ontario; Prince Edward Island; Quebec; Saskatchewan; Yukon. Puerto Rico. United States (USA) - Alabama; Alaska; Arizona; Arkansas; California; Colorado; Connecticut; Delaware; Florida; Georgia; Idaho; Illinois; Indiana; Iowa; Kansas; Kentucky; Louisiana; Maine; Maryland; Massachusetts; Michigan; Minnesota; Mississippi; Missouri; Montana; Nebraska; Nevada; New Hampshire; New Jersey; New Mexico; New York; North Carolina; North Dakota; Ohio; Oklahoma; Oregon; Pennsylvania; Rhode Island; South Carolina; South Dakota; Tennessee; Texas; Utah; Vermont; Virginia; Washington; West Virginia; Wisconsin; Wyoming. US Virgin Islands.',14.92,86.46,167.65,-47.74,0);
INSERT INTO "area" VALUES('EPSG','4545','Vietnam - Ca Mau and Kien Giang','Vietnam - Ca Mau and Kien Giang provinces.',8.33,10.55,103.4,105.54,0);
INSERT INTO "area" VALUES('EPSG','4546','Vietnam - An Giang, Lao Cai, Nghe An, Phu Tho, Yen Bai','Vietnam - An Giang, Lao Cai, Nghe An, Phu Tho and Yen Bai provinces.',10.18,22.85,103.53,105.86,0);
INSERT INTO "area" VALUES('EPSG','4547','Vietnam - 104°20''E to 106°10''E by province - Hanoi','Vietnam - Ha Noi city, Ha Nam, Ha Tay, Ninh Binh, Thanh Hoa and Vinh Phuc provinces; Can Tho city, Bac Lieu, Dong Thap and Hau Giang provinces.',8.97,21.58,104.37,106.19,0);
INSERT INTO "area" VALUES('EPSG','4548','Vietnam - 104°20''E to 106°40''E by province','Vietnam - Bac Ninh, Ha Giang, Ha Tinh, Hai Duong, Hung Yen, Nam Dinh, Soc Trang, Tay Ninh, Thai Binh, Tra Vinh and Vinh Long provinces.',9.19,23.4,104.33,106.69,0);
INSERT INTO "area" VALUES('EPSG','4549','Vietnam - 105°15''E to 107°50''E by province - HCMC','Vietnam - Hai Phong and Ho Chi Minh cities; Ben Tre, Binh Duong, Cao Bang, Long An and Tien Giang provinces.',9.75,23.12,105.26,107.8,0);
INSERT INTO "area" VALUES('EPSG','4550','Vietnam - Hoa Binh, Quang Binh and Tuyen Quang','Vietnam - Hoa Binh, Quang Binh and Tuyen Quang provinces.',16.92,22.7,104.83,107.03,0);
INSERT INTO "area" VALUES('EPSG','4551','Angola - west of 12°E','Angola - west of 12°E, onshore and offshore.',-17.28,-5.03,8.2,12.01,0);
INSERT INTO "area" VALUES('EPSG','4552','Vietnam - Binh Phuoc and Quang Tri','Vietnam - Binh Phuoc and Quang Tri provinces.',11.3,17.22,106.41,107.43,0);
INSERT INTO "area" VALUES('EPSG','4553','Vietnam - Bac Kan and Thai Nguyen','Vietnam - Bac Kan and Thai Nguyen provinces.',21.32,22.75,105.43,106.25,0);
INSERT INTO "area" VALUES('EPSG','4554','Vietnam - Bac Giang and Thua Thien-Hue','Vietnam - Bac Giang and Thua Thien-Hue provinces.',15.99,21.63,105.88,108.24,0);
INSERT INTO "area" VALUES('EPSG','4555','Angola - 12°E to 18°E','Angola - between 12°E and 18°E, onshore and offshore.',-17.44,-4.38,12.0,18.0,0);
INSERT INTO "area" VALUES('EPSG','4556','Vietnam - Lang Son','Vietnam - Lang Son province.',21.32,22.47,106.09,107.37,0);
INSERT INTO "area" VALUES('EPSG','4557','Vietnam - Kon Tum','Vietnam - Kon Tum province.',13.92,15.42,107.33,108.55,0);
INSERT INTO "area" VALUES('EPSG','4558','Vietnam - Quang Ngai','Vietnam - Quang Ngai province.',14.53,15.49,108.23,109.2,0);
INSERT INTO "area" VALUES('EPSG','4559','Vietnam - Binh Dinh, Khanh Hoa, Ninh Thuan','Vietnam - Binh Dinh, Khanh Hoa and Ninh Thuan provinces.',11.25,14.71,108.55,109.53,0);
INSERT INTO "area" VALUES('EPSG','4560','Vietnam - Binh Thuan, Dak Lak, Dak Nong, Gia Lai, Phu Yen','Vietnam - Binh Thuan, Dak Lak, Dak Nong, Gia Lai and Phu Yen provinces.',10.43,14.61,107.2,109.52,0);
INSERT INTO "area" VALUES('EPSG','4566','Europe - offshore North Sea - Germany and Netherlands east of 5°E','Germany - offshore North Sea. Netherlands - offshore east of 5E.',53.49,55.92,3.34,8.88,0);
INSERT INTO "area" VALUES('EPSG','4567','South Africa - mainland - onshore and offshore','South Africa - mainland - onshore and offshore.',-38.17,-22.13,13.33,36.54,0);
INSERT INTO "area" VALUES('EPSG','4568','South Africa - Prince Edward islands - onshore and offshore','South Africa - Marion Island and Prince Edward Island - onshore and offshore.',-50.32,-43.26,32.71,42.85,0);
+3 -3
View File
@@ -255,9 +255,9 @@ INSERT INTO "axis" VALUES('EPSG','111','Gravity-related height','H','up','EPSG',
INSERT INTO "axis" VALUES('EPSG','112','Gravity-related height','H','up','EPSG','6497',1,'EPSG','9003');
INSERT INTO "axis" VALUES('EPSG','113','Depth','D','down','EPSG','6498',1,'EPSG','9001');
INSERT INTO "axis" VALUES('EPSG','114','Gravity-related height','H','up','EPSG','6499',1,'EPSG','9001');
INSERT INTO "axis" VALUES('EPSG','115','Geocentric X','X','Geocentre > equator/0°E','EPSG','6500',1,'EPSG','9001');
INSERT INTO "axis" VALUES('EPSG','116','Geocentric Y','Y','Geocentre > equator/90°E','EPSG','6500',2,'EPSG','9001');
INSERT INTO "axis" VALUES('EPSG','117','Geocentric Z','Z','Geocentre > north pole','EPSG','6500',3,'EPSG','9001');
INSERT INTO "axis" VALUES('EPSG','115','Geocentric X','X','geocentricX','EPSG','6500',1,'EPSG','9001');
INSERT INTO "axis" VALUES('EPSG','116','Geocentric Y','Y','geocentricY','EPSG','6500',2,'EPSG','9001');
INSERT INTO "axis" VALUES('EPSG','117','Geocentric Z','Z','geocentricZ','EPSG','6500',3,'EPSG','9001');
INSERT INTO "axis" VALUES('EPSG','119','Southing','X','south','EPSG','6501',1,'EPSG','9001');
INSERT INTO "axis" VALUES('EPSG','118','Westing','Y','west','EPSG','6501',2,'EPSG','9001');
INSERT INTO "axis" VALUES('EPSG','120','Westing','Y','west','EPSG','6502',1,'EPSG','9031');
+103
View File
@@ -29,6 +29,109 @@ FOR EACH ROW BEGIN
WHERE (SELECT 1 FROM object_view LIMIT 1) = 0;
SELECT RAISE(ABORT, 'corrupt definition of authority_list')
WHERE (SELECT 1 FROM authority_list LIMIT 1) = 0;
-- 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');
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');
-- check coordinate_operation_view "foreign keys"
SELECT RAISE(ABORT, 'One coordinate_operation has a broken source_crs link')
WHERE EXISTS (SELECT * FROM coordinate_operation_view cov WHERE
cov.source_crs_auth_name || cov.source_crs_code NOT IN
(SELECT auth_name || code FROM crs_view));
SELECT RAISE(ABORT, 'One coordinate_operation has a broken target_crs link')
WHERE EXISTS (SELECT * FROM coordinate_operation_view cov WHERE
cov.target_crs_auth_name || cov.target_crs_code NOT IN
(SELECT auth_name || code FROM crs_view));
-- check that grids with NTv2 method are properly registered
SELECT RAISE(ABORT, 'One grid_transformation with NTv2 has not its source_crs in geodetic_crs table with type = ''geographic 2D''')
WHERE EXISTS (SELECT * FROM grid_transformation g WHERE
g.method_name = 'NTv2' AND
g.source_crs_auth_name || g.source_crs_code NOT IN
(SELECT auth_name || code FROM geodetic_crs
WHERE type = 'geographic 2D'));
SELECT RAISE(ABORT, 'One grid_transformation with NTv2 has not its target_crs in geodetic_crs table with type = ''geographic 2D''')
WHERE EXISTS (SELECT * FROM grid_transformation g WHERE
g.method_name = 'NTv2' AND
g.target_crs_auth_name || g.target_crs_code NOT IN
(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
g.deprecated = 0 AND
g.method_name LIKE 'Geographic3D to GravityRelatedHeight%' AND
g.target_crs_auth_name || g.target_crs_code NOT IN
(SELECT auth_name || code FROM vertical_crs));
SELECT RAISE(ABORT, 'One grid_transformation with Geographic3D to GravityRelatedHeight has not its source_crs in geodetic_crs table with type = ''geographic 3D''')
WHERE EXISTS (SELECT * FROM grid_transformation g WHERE
g.deprecated = 0 AND
g.method_name LIKE 'Geographic3D to GravityRelatedHeight%' AND
NOT (g.auth_name = 'EPSG' AND g.code IN (7648, 7649, 7650)) AND -- those are wrongly registered as they use a geocentric CRS. Reported to EPSG
g.source_crs_auth_name || g.source_crs_code NOT IN
(SELECT auth_name || code FROM geodetic_crs
WHERE type = 'geographic 3D'));
-- check that transformations intersect the area of use of their source/target CRS
-- EPSG, ESRI and IGNF have cases where this does not hold.
SELECT RAISE(ABORT, 'The area of use of at least one coordinate_operation does not intersect the one of its source CRS')
WHERE EXISTS (SELECT * FROM coordinate_operation_view v, crs_view c, area va, area ca WHERE
v.deprecated = 0 AND
v.auth_name NOT IN ('EPSG', 'ESRI', 'IGNF') AND
v.source_crs_auth_name = c.auth_name AND
v.source_crs_code = c.code AND
v.area_of_use_auth_name = va.auth_name AND
v.area_of_use_code = va.code AND
c.area_of_use_auth_name = ca.auth_name AND
c.area_of_use_code = ca.code AND
NOT (ca.south_lat < va.north_lat AND va.south_lat < ca.north_lat));
SELECT RAISE(ABORT, 'The area of use of at least one coordinate_operation does not intersect the one of its target CRS')
WHERE EXISTS (SELECT * FROM coordinate_operation_view v, crs_view c, area va, area ca WHERE
v.deprecated = 0 AND
v.auth_name NOT IN ('EPSG', 'ESRI', 'IGNF') AND
v.target_crs_auth_name = c.auth_name AND
v.target_crs_code = c.code AND
v.area_of_use_auth_name = va.auth_name AND
v.area_of_use_code = va.code AND
c.area_of_use_auth_name = ca.auth_name AND
c.area_of_use_code = ca.code AND
NOT (ca.south_lat < va.north_lat AND va.south_lat < ca.north_lat));
-- check geoid_model table
SELECT RAISE(ABORT, 'missing GEOID99 in geoid_model')
WHERE NOT EXISTS(SELECT 1 FROM geoid_model WHERE name = 'GEOID99');
SELECT RAISE(ABORT, 'missing GEOID03 in geoid_model')
WHERE NOT EXISTS(SELECT 1 FROM geoid_model WHERE name = 'GEOID03');
SELECT RAISE(ABORT, 'missing GEOID06 in geoid_model')
WHERE NOT EXISTS(SELECT 1 FROM geoid_model WHERE name = 'GEOID06');
SELECT RAISE(ABORT, 'missing GEOID09 in geoid_model')
WHERE NOT EXISTS(SELECT 1 FROM geoid_model WHERE name = 'GEOID09');
SELECT RAISE(ABORT, 'missing GEOID12A in geoid_model')
WHERE NOT EXISTS(SELECT 1 FROM geoid_model WHERE name = 'GEOID12A');
SELECT RAISE(ABORT, 'missing GEOID12B in geoid_model')
WHERE NOT EXISTS(SELECT 1 FROM geoid_model WHERE name = 'GEOID12B');
SELECT RAISE(ABORT, 'missing GEOID18 in geoid_model')
WHERE NOT EXISTS(SELECT 1 FROM geoid_model WHERE name = 'GEOID18');
END;
INSERT INTO dummy DEFAULT VALUES;
DROP TRIGGER final_checks;
+210 -209
View File
@@ -1,211 +1,212 @@
--- This file has been generated by scripts/build_db.py. DO NOT EDIT !
INSERT INTO "concatenated_operation" VALUES('EPSG','3896','MGI (Ferro) to WGS 84 (2)','','2m accuracy','EPSG','4805','EPSG','4326','EPSG','1037',NULL,'EPSG','3895','EPSG','1618',NULL,NULL,'BEV-Aut',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','3966','MGI (Ferro) to WGS 84 (1)','Accuracy estimate is not available.','For military purposes only.','EPSG','4805','EPSG','4326','EPSG','2370',NULL,'EPSG','3913','EPSG','3962',NULL,NULL,'DMA-balk',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','4435','Puerto Rico to NAD83(HARN) (1)','May be taken as approximate transformation Puerto Rico to WGS 84 - see code 8583.','Accuracy 0.1m at 67% confidence level.','EPSG','4139','EPSG','4152','EPSG','3634',NULL,'EPSG','1461','EPSG','1495',NULL,NULL,'NGS-PRVI',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','4837','Amersfoort to ED50 (1)','Adopted by NAM in 2006, replacing polynomial tfms 1046, 6304, 1050 and 6306.','Oil and gas exploration and production.','EPSG','4289','EPSG','4230','EPSG','1275',NULL,'EPSG','1672','EPSG','1311',NULL,NULL,'NAM-Nld 2006',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','5190','Tokyo 1892 to Korea 2000 (1)','','Accuracy 10m.','EPSG','5132','EPSG','4737','EPSG','3266',NULL,'EPSG','5134','EPSG','5189',NULL,NULL,'OGP-Kor',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','5192','Tokyo 1892 to WGS 84 (1)','','Accuracy 10m.','EPSG','5132','EPSG','4326','EPSG','3266',NULL,'EPSG','5134','EPSG','5191',NULL,NULL,'OGP-Kor',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','5230','S-JTSK (Ferro) to WGS 84 (2)','','For applications to an accuracy of 1 metre.','EPSG','4818','EPSG','4326','EPSG','1211',NULL,'EPSG','1884','EPSG','4836',NULL,NULL,'OGP-Svk',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','5240','S-JTSK/05 (Ferro) to WGS 84 (1)','Replaces S-JTSK (Ferro) to WGS 84 (1) (CRS code 8642) in Czech Republic.','For applications to an accuracy of 1 metre.','EPSG','5229','EPSG','4326','EPSG','1079',NULL,'EPSG','5238','EPSG','5227',NULL,NULL,'OGP-Cze',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','5242','S-JTSK (Ferro) to WGS 84 (3)','Replaces S-JTSK (Ferro) to WGS 84 (1) (tfm code 8642).','Parameter values from S-JTSK/05 to ETRS89 (1) (code 5226). For applications to an accuracy of 1m.','EPSG','4818','EPSG','4326','EPSG','1079',NULL,'EPSG','1884','EPSG','5239',NULL,NULL,'OGP-Cze R05',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','5838','Lisbon (Lisbon) to WGS 84 (2)','','For applications to an accuracy of 2 metres.','EPSG','4803','EPSG','4326','EPSG','1294',NULL,'EPSG','1756','EPSG','1988',NULL,NULL,'OGP-Prt 2009',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','6714','Tokyo to JGD2011 (1)','See Tokyo to JGD2011 (2) (code 6740) for areas other than northern Honshu.','Surveying, mapping and civil engineering.','EPSG','4301','EPSG','6668','EPSG','4170',NULL,'EPSG','6712','EPSG','6713',NULL,NULL,'OGP-Jpn N Honshu',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','6739','NAD27 to NAD83(HARN) (22)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8622.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','1410',NULL,'EPSG','1241','EPSG','1496',NULL,NULL,'NGS-Usa SD',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','6874','Tananarive (Paris) to WGS 84 (2)','Used by OMV.','For applications with an accuracy of 3m.','EPSG','4810','EPSG','4326','EPSG','3273',NULL,'EPSG','1265','EPSG','6873',NULL,NULL,'OGP-Mdg',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','7811','NTF (Paris) to RGF93 (2)','Second step is an emulation using NTv2 method of geocentric Interpolation method described in tfm code 7810. Note that the grid file parameters are of opposite sign.','Approximation to better than 1m of transformation of coordinates referenced to NTF (Paris) to RGF93.','EPSG','4807','EPSG','4171','EPSG','3694',NULL,'EPSG','1763','EPSG','15958',NULL,NULL,'IOGP-Fra NTv2',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','7965','Poolbeg height (ft(Br36)) to Malin Head height (1)','','Change of height to a different vertical reference surface for topographic mapping. Accuracy 0.1m.','EPSG','5754','EPSG','5731','EPSG','1305',NULL,'EPSG','7963','EPSG','7964',NULL,NULL,'1',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','7967','Poolbeg height (ft(Br36)) to Belfast height (1)','','Change of height to a different vertical reference surface for topographic mapping and engineering survey. Accuracy 0.1m.','EPSG','5754','EPSG','5732','EPSG','1305',NULL,'EPSG','7963','EPSG','7966',NULL,NULL,'1',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','7973','NGVD29 height (ftUS) to NAVD88 height (1)','','Change of height to a different vertical reference surface and unit. Accuracy 2cm.','EPSG','5702','EPSG','5703','EPSG','2950',NULL,'EPSG','7972','EPSG','7969',NULL,NULL,'IOGP - US Conus W',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','7974','NGVD29 height (ftUS) to NAVD88 height (2)','','Change of height to a different vertical reference surface and unit, accuracy 2cm.','EPSG','5702','EPSG','5703','EPSG','2949',NULL,'EPSG','7972','EPSG','7970',NULL,NULL,'IOGP - US Conus C',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','7975','NGVD29 height (ftUS) to NAVD88 height (3)','','Change of height to a different vertical reference surface and unit, accuracy 2cm.','EPSG','5702','EPSG','5703','EPSG','2948',NULL,'EPSG','7972','EPSG','7971',NULL,NULL,'IOGP - US Conus E',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','7983','HKPD height to HKCD depth (1)','','Hydrographic charting.','EPSG','5738','EPSG','5739','EPSG','3335',NULL,'EPSG','7982','EPSG','7977',NULL,NULL,'IOGP-HK',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','7986','KOC CD height to KOC WD depth (1)','','Vertical offset including change of axis positive direction.','EPSG','5790','EPSG','5789','EPSG','3267',NULL,'EPSG','7980','EPSG','7984',NULL,NULL,'IOGP-Kwt',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','7987','KOC CD height to KOC WD depth (ft) (1)','','Vertical offset including change of axis positive direction and change of axis unit.','EPSG','5790','EPSG','5614','EPSG','3267',NULL,'EPSG','7980','EPSG','7984','EPSG','7985','IOGP-Kwt',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8047','ED50 to WGS 84 (15)','Replaced by codes 8569 and 1612 in 1997 and 2001.¶The concatenation of transformations 1147 and 1146 gives the following position vector tfm: dX=-84.491 dY=-100.559 dZ=-114.209 metres rX= -2.4006 rY=-0.5367 rZ=-2.3742 microradians dS=+0.2947 ppm.','Oil exploration before 2001.','EPSG','4230','EPSG','4326','EPSG','2332',NULL,'EPSG','1147','EPSG','1146',NULL,NULL,'NMA-Nor N65 1991',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8094','NTF (Paris) to WGS 84 (1)','','Not known.','EPSG','4807','EPSG','4326','EPSG','3694',NULL,'EPSG','1763','EPSG','1193',NULL,NULL,'EPSG-Fra',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8174','Bogota 1975 (Bogota) to WGS 84 (1)','','For military purposes. Accuracy 6m, 5m and 6m in X, Y and Z axes.','EPSG','4802','EPSG','4326','EPSG','3229',NULL,'EPSG','1755','EPSG','1125',NULL,NULL,'DMA-Col',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8175','Monte Mario (Rome) to WGS 84 (1)','','For military purposes. Accuracy 25m in each axis.','EPSG','4806','EPSG','4326','EPSG','2339',NULL,'EPSG','1262','EPSG','1169',NULL,NULL,'EPSG-Ita',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8176','Tananarive (Paris) to WGS 84 (1)','','For military purposes. Accuracy not available.','EPSG','4810','EPSG','4326','EPSG','3273',NULL,'EPSG','1265','EPSG','1227',NULL,NULL,'EPSG-Mdg',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8178','Batavia (Jakarta) to WGS 84 (1)','','For military purposes. Accuracy 3m in each axis.','EPSG','4813','EPSG','4326','EPSG','1355',NULL,'EPSG','1759','EPSG','1123',NULL,NULL,'EPSG-Idn Sumatra',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8183','HD72 to WGS 84 (1)','Approximation at the +/- 1m level assuming that ETRF89 is equivalent to WGS 84.','Approximation at the +/- 1m level assuming that ETRS89 is equivalent to WGS 84.','EPSG','4237','EPSG','4326','EPSG','1119',NULL,'EPSG','1273','EPSG','1149',NULL,NULL,'EPSG-Hun',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8186','NTF (Paris) to ED50 (1)','','Not known.','EPSG','4807','EPSG','4230','EPSG','3694',NULL,'EPSG','1763','EPSG','1276',NULL,NULL,'EPSG-Fra',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8188','NTF (Paris) to WGS 72 (1)','','Not known.','EPSG','4807','EPSG','4322','EPSG','3694',NULL,'EPSG','1763','EPSG','1277',NULL,NULL,'EPSG-Fra',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8190','AGD66 to WGS 84 (2)','Approximation at the +/- 1m level assuming that GDA94 is equivalent to WGS 84. 0.1m accuracy.','Approximation at the +/- 1m level assuming that GDA94 is equivalent to WGS 84.','EPSG','4202','EPSG','4326','EPSG','2575',NULL,'EPSG','1278','EPSG','1150',NULL,NULL,'EPSG-Aus 5m',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8192','AGD84 to WGS 84 (3)','Approximation assuming that GDA94 is equivalent to WGS 84.','5m accuracy. Approximation assuming that GDA94 is equivalent to WGS 84.','EPSG','4203','EPSG','4326','EPSG','2575',NULL,'EPSG','1279','EPSG','1150',NULL,NULL,'EPSG-Aus 5m',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8194','AGD84 to WGS 84 (4)','Approximation at the +/- 1m level assuming that GDA94 is equivalent to WGS 84.','Approximation at the +/- 1m level assuming that GDA94 is equivalent to WGS 84.','EPSG','4203','EPSG','4326','EPSG','2575',NULL,'EPSG','1280','EPSG','1150',NULL,NULL,'EPSG-Aus 1m',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8195','RT90 to WGS 84 (1)','Approximation at the +/- 1m level assuming that ETRF89 is equivalent to WGS 84.','Approximation at the +/- 1m level assuming that ETRS89 is equivalent to WGS 84.','EPSG','4124','EPSG','4326','EPSG','1225',NULL,'EPSG','1437','EPSG','1149',NULL,NULL,'EPSG-Swe',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8199','Pulkovo 1942 to WGS 84 (2)','Approximation at the +/- 1m level assuming that LKS94(ETRS89) is equivalent to WGS 84.','Approximation at the +/- 1m level assuming that LKS94(ETRS89) is equivalent to WGS 84.','EPSG','4284','EPSG','4326','EPSG','1145',NULL,'EPSG','1274','EPSG','1283',NULL,NULL,'EPSG-Ltu',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8211','Voirol 1875 (Paris) to WGS 84 (1)','','Oil exploration.','EPSG','4811','EPSG','4326','EPSG','1365',NULL,'EPSG','1266','EPSG','1294',NULL,NULL,'EPSG-Dza N',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8215','Tete to WGS 84 (1)','Approximation at the +/- 1m level assuming that Moznet is equivalent to WGS 84.','Approximation at the +/- 1m level assuming that Moznet is equivalent to WGS 84.','EPSG','4127','EPSG','4326','EPSG','1167',NULL,'EPSG','1297','EPSG','1302',NULL,NULL,'EPSG-Moz',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8217','Tete to WGS 84 (2)','Approximation at the +/- 1m level assuming that Moznet is equivalent to WGS 84.','Approximation at the +/- 1m level assuming that Moznet is equivalent to WGS 84.','EPSG','4127','EPSG','4326','EPSG','2350',NULL,'EPSG','1298','EPSG','1302',NULL,NULL,'EPSG-Moz A',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8219','Tete to WGS 84 (3)','Approximation at the +/- 1m level assuming that Moznet is equivalent to WGS 84.','Approximation at the +/- 1m level assuming that Moznet is equivalent to WGS 84.','EPSG','4127','EPSG','4326','EPSG','2351',NULL,'EPSG','1299','EPSG','1302',NULL,NULL,'EPSG-Moz B',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8221','Tete to WGS 84 (4)','Approximation at the +/- 1m level assuming that Moznet is equivalent to WGS 84.','Approximation at the +/- 1m level assuming that Moznet is equivalent to WGS 84.','EPSG','4127','EPSG','4326','EPSG','2352',NULL,'EPSG','1300','EPSG','1302',NULL,NULL,'EPSG-Moz C',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8223','Tete to WGS 84 (5)','Approximation at the +/- 1m level assuming that Moznet is equivalent to WGS 84.','Approximation at the +/- 1m level assuming that Moznet is equivalent to WGS 84.','EPSG','4127','EPSG','4326','EPSG','2353',NULL,'EPSG','1301','EPSG','1302',NULL,NULL,'EPSG-Moz D',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8234','DHDN to WGS 84 (1)','Approximation at the +/- 1m level assuming that ETRF89 is equivalent to WGS 84.','Approximation at the +/- 1m level assuming that ETRS89 is equivalent to WGS 84.','EPSG','4314','EPSG','4326','EPSG','2326',NULL,'EPSG','1309','EPSG','1149',NULL,NULL,'EPSG-Deu W',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8236','Pulkovo 1942 to WGS 84 (11)','Approximation at the +/- 1m level assuming that ETRF89 is equivalent to WGS 84.','Approximation at the +/- 1m level assuming that ETRF89 is equivalent to WGS 84.','EPSG','4284','EPSG','4326','EPSG','1343',NULL,'EPSG','1310','EPSG','1149',NULL,NULL,'EPSG-Deu E',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8243','NAD27 to WGS 84 (25)','Approximation at the +/- 1m level assuming that NAD83 is equivalent to WGS 84. Superseded by NAD27 to WGS 84 (27) (code 8404) in Quebec and NAD27 to WGS 84 (26) (code 8245) elsewhere in Canada.','Approximation at the +/- 1m level assuming that NAD83 is equivalent to WGS 84.','EPSG','4267','EPSG','4326','EPSG','1061',NULL,'EPSG','1312','EPSG','1188',NULL,NULL,'EPSG-Can old',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8245','NAD27 to WGS 84 (26)','Approximation at the +/- 1m level assuming that NAD83 is equivalent to WGS 84.','Approximation at the +/- 1m level assuming that NAD83 is equivalent to WGS 84.','EPSG','4267','EPSG','4326','EPSG','1061',NULL,'EPSG','1313','EPSG','1188',NULL,NULL,'EPSG-Can',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8263','MGI (Ferro) to WGS 84 (1)','Accuracy estimate is not available.','For military purposes only.','EPSG','4805','EPSG','4326','EPSG','2370',NULL,'EPSG','1757','EPSG','1306',NULL,NULL,'DMA-balk',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8363','ETRS89 + Baltic 1957 height to ETRS89 + EVRF2007 height (1)','Compound transformation using two separate quasigeoid models (DVRM05 and DMQSK2014E).','Recommended method for transforming coordinates between Baltic 1957 height and EVRF2007 height and vice-versa in Slovakia.','EPSG','8360','EPSG','7423','EPSG','1211',NULL,'EPSG','8361','EPSG','8362',NULL,NULL,'UGKK-Svk',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8386','Old Hawaiian to WGS 84 (1)','Approximation at the +/- 1m level assuming that NAD83 is equivalent to WGS 84.','Approximation at the +/- 1m level assuming that NAD83 is equivalent to WGS 84.','EPSG','4135','EPSG','4326','EPSG','1334',NULL,'EPSG','1454','EPSG','1188',NULL,NULL,'EPSG-Usa Hi',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8388','St. Lawrence Island to WGS 84 (1)','Approximation at the +/- 1m level assuming that NAD83 is equivalent to WGS 84.','Approximation at the +/- 1m level assuming that NAD83 is equivalent to WGS 84.','EPSG','4136','EPSG','4326','EPSG','1332',NULL,'EPSG','1455','EPSG','1188',NULL,NULL,'EPSG-Usa AK StL',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8390','St. Paul Island to WGS 84 (1)','Approximation at the +/- 1m level assuming that NAD83 is equivalent to WGS 84.','Approximation at the +/- 1m level assuming that NAD83 is equivalent to WGS 84.','EPSG','4137','EPSG','4326','EPSG','1333',NULL,'EPSG','1456','EPSG','1188',NULL,NULL,'EPSG-Usa AK StP',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8392','St. George Island to WGS 84 (1)','Approximation at the +/- 1m level assuming that NAD83 is equivalent to WGS 84.','Approximation at the +/- 1m level assuming that NAD83 is equivalent to WGS 84.','EPSG','4138','EPSG','4326','EPSG','1331',NULL,'EPSG','1457','EPSG','1188',NULL,NULL,'EPSG-Usa AK StG',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8394','NAD27(CGQ77) to WGS 84 (1)','Approximation at the +/- 1m level assuming that NAD83 is equivalent to WGS 84. Superseded by NAD27(CGQ77) to WGS 84 (2) (code 8564).','Approximation at the +/- 1m level assuming that NAD83 is equivalent to WGS 84.','EPSG','4609','EPSG','4326','EPSG','1368',NULL,'EPSG','1451','EPSG','1188',NULL,NULL,'EPSG-Can Qc NT1',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8396','AGD66 to WGS 84 (3)','Approximation at the +/- 1m level assuming that GDA94 is equivalent to WGS 84. Superseded by AGD66 to WGS 84 (11) (code 8581).','Approximation at the +/- 1m level assuming that GDA94 is equivalent to WGS 84.','EPSG','4202','EPSG','4326','EPSG','2283',NULL,'EPSG','1458','EPSG','1150',NULL,NULL,'EPSG-Aus ACT 1m',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8398','AGD66 to WGS 84 (4)','Approximation at the +/- 1m level assuming that GDA94 is equivalent to WGS 84. Superseded by AGD66 to WGS 84 (9) (code 8576).','Approximation at the +/- 1m level assuming that GDA94 is equivalent to WGS 84.','EPSG','4202','EPSG','4326','EPSG','1282',NULL,'EPSG','1459','EPSG','1150',NULL,NULL,'EPSG-Aus Tas 1m',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8400','AGD66 to WGS 84 (5)','Approximation at the +/- 1m level assuming that GDA94 is equivalent to WGS 84.','Approximation at the +/- 1m level assuming that GDA94 is equivalent to WGS 84.','EPSG','4202','EPSG','4326','EPSG','2286',NULL,'EPSG','1460','EPSG','1150',NULL,NULL,'EPSG-Aus NSW Vic 1m',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8402','Puerto Rico to WGS 84 (1)','Approximation at the +/- 1m level assuming that NAD83 is equivalent to WGS 84.','Approximation at the +/- 1m level assuming that NAD83 is equivalent to WGS 84.','EPSG','4139','EPSG','4326','EPSG','1335',NULL,'EPSG','1461','EPSG','1188',NULL,NULL,'EPSG-PRVI',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8404','NAD27 to WGS 84 (27)','Approximation at the +/- 1m level assuming that NAD83 is equivalent to WGS 84. Superseded by NAD27 to WGS 84 (31) (code 8565).','Approximation at the +/- 1m level assuming that NAD83 is equivalent to WGS 84.','EPSG','4267','EPSG','4326','EPSG','1368',NULL,'EPSG','1462','EPSG','1188',NULL,NULL,'EPSG-Can QC',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8406','NAD27(76) to WGS 84 (1)','Approximation at the +/- 1m level assuming that NAD83 is equivalent to WGS 84.','Approximation at the +/- 1m level assuming that NAD83 is equivalent to WGS 84.','EPSG','4608','EPSG','4326','EPSG','1367',NULL,'EPSG','1463','EPSG','1188',NULL,NULL,'EPSG-Can On',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8408','AGD66 to WGS 84 (6)','Approximation at the +/- 1m level assuming that GDA94 is equivalent to WGS 84. Superseded by AGD66 to WGS 84 (11) (code 8578).','Approximation at the +/- 1m level assuming that GDA94 is equivalent to WGS 84.','EPSG','4202','EPSG','4326','EPSG','2285',NULL,'EPSG','1464','EPSG','1150',NULL,NULL,'EPSG-Aus Vic 0.1m',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8418','ATS77 to WGS 84 (1)','Approximation at the +/- 1m level assuming that NAD83(CSRS98) is equivalent to WGS 84.','Approximation at the +/- 1m level assuming that NAD83(CSRS98) is equivalent to WGS 84.','EPSG','4122','EPSG','4326','EPSG','1447',NULL,'EPSG','1472','EPSG','1473',NULL,NULL,'EPSG-Can NB',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8419','ATS77 to WGS 84 (2)','Approximation at the +/- 1m level assuming that NAD83(CSRS98) is equivalent to WGS 84.','Approximation at the +/- 1m level assuming that NAD83(CSRS98) is equivalent to WGS 84.','EPSG','4122','EPSG','4326','EPSG','1533',NULL,'EPSG','1599','EPSG','1473',NULL,NULL,'EPSG-Can PEI',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8420','NAD27 to WGS 84 (32)','','Approximation at the +/- 1m level assuming that NAD83(CSRS98) is equivalent to WGS 84.','EPSG','4267','EPSG','4326','EPSG','2375',NULL,'EPSG','1600','EPSG','1473',NULL,NULL,'SK PMC-Can SK',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8421','NAD83 to WGS 84 (7)','','Approximation at the +/- 1m level assuming that NAD83(CSRS98) is equivalent to WGS 84.','EPSG','4269','EPSG','4326','EPSG','2375',NULL,'EPSG','1601','EPSG','1473',NULL,NULL,'SK PMC-Can SK',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8422','NAD83 to WGS 84 (8)','The gridded difference file AB_CSRS.DAC in STEP 1 will need to be renamed to AB_CSRS.gsb to run in some software suites. Formats identical, but AB file is provincial fit only.','Approximation at the +/- 1m level assuming that NAD83(CSRS98) is equivalent to WGS 84.','EPSG','4269','EPSG','4326','EPSG','2376',NULL,'EPSG','1602','EPSG','1473',NULL,NULL,'Alb Env-Can AB',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8442','ETRS89 to S-JTSK (5)','Recommended method of a transformation from ETRS89 to S-JTSK in Slovakia. For reverse transformation see S-JTSK to ETRS89 (6) (code 8443). Both together replace S-JTSK to ETRS89 (4) (code 4827).','GIS, geodetic survey.','EPSG','4258','EPSG','4156','EPSG','1211',NULL,'EPSG','8365','EPSG','8364',NULL,NULL,'UGKK-Sk JTSK03',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8443','S-JTSK to ETRS89 (6)','Recommended method of a transformation from S-JTSK to ETRS89 in Slovakia. For reverse transformation see ETRS89 to S-JTSK (5) (code 8442). Both together replace S-JTSK to ETRS89 (4) (code 4827).','GIS, geodetic survey.','EPSG','4156','EPSG','4258','EPSG','1211',NULL,'EPSG','8364','EPSG','8367',NULL,NULL,'UGKK-Sk JTSK03',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8453','AGD66 to WGS 84 (7)','Approximation at the +/- 1m level assuming that GDA94 is equivalent to WGS 84.','Approximation at the +/- 1m level assuming that GDA94 is equivalent to WGS 84.','EPSG','4202','EPSG','4326','EPSG','1282',NULL,'EPSG','1506','EPSG','1150',NULL,NULL,'EPSG-Aus Tas 0.1m',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8454','AGD66 to WGS 84 (8)','Approximation at the +/- 1m level assuming that GDA94 is equivalent to WGS 84.','Approximation at the +/- 1m level assuming that GDA94 is equivalent to WGS 84.','EPSG','4202','EPSG','4326','EPSG','2284',NULL,'EPSG','1507','EPSG','1150',NULL,NULL,'EPSG-Aus NT 0.1m',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8457','CH1903+ to WGS 84 (1)','Approximation at the +/- 1m level assuming that CHTRF95 is equivalent to WGS 84.','Approximation at the +/- 1m level assuming that CHTRF95 is equivalent to WGS 84.','EPSG','4150','EPSG','4326','EPSG','1286',NULL,'EPSG','1509','EPSG','1511',NULL,NULL,'EPSG-CH',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8460','NAD27 to NAD83(HARN) (1)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8590.','Accuracy at 67% confidence level is 0.2m onshore, 5m nearshore and undetermined farther offshore.','EPSG','4267','EPSG','4152','EPSG','1372',NULL,'EPSG','1241','EPSG','1474',NULL,NULL,'NGS-Usa AL',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8461','NAD27 to NAD83(HARN) (2)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8591.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','1373',NULL,'EPSG','1241','EPSG','1475',NULL,NULL,'NGS-Usa AZ',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8462','NAD27 to NAD83(HARN) (3)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8593.','Accuracy at 67% confidence level is 0.2m onshore, 5m nearshore and undetermined farther offshore.','EPSG','4267','EPSG','4152','EPSG','2297',NULL,'EPSG','1241','EPSG','1476',NULL,NULL,'NGS-Usa CA n',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8463','NAD27 to NAD83(HARN) (4)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8594.','Accuracy at 67% confidence level is 0.2m onshore, 5m nearshore and undetermined farther offshore.','EPSG','4267','EPSG','4152','EPSG','2298',NULL,'EPSG','1241','EPSG','1477',NULL,NULL,'NGS-Usa CA s',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8464','NAD27 to NAD83(HARN) (5)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8595.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','1376',NULL,'EPSG','1241','EPSG','1478',NULL,NULL,'NGS-Usa CO',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8465','NAD27 to NAD83(HARN) (6)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8597.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','1380',NULL,'EPSG','1241','EPSG','1479',NULL,NULL,'NGS-Usa GA',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8466','NAD27 to NAD83(HARN) (7)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8596.','Accuracy at 67% confidence level is 0.2m onshore, 5m nearshore and undetermined farther offshore.','EPSG','4267','EPSG','4152','EPSG','1379',NULL,'EPSG','1241','EPSG','1480',NULL,NULL,'NGS-Usa FL',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8467','NAD27 to NAD83(HARN) (8)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8611.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','2382',NULL,'EPSG','1241','EPSG','1481',NULL,NULL,'NGS-Usa ID MT e',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8468','NAD27 to NAD83(HARN) (9)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8612.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','2383',NULL,'EPSG','1241','EPSG','1482',NULL,NULL,'NGS-Usa ID MT w',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8469','NAD27 to NAD83(HARN) (10)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8602.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','1386',NULL,'EPSG','1241','EPSG','1483',NULL,NULL,'NGS-Usa KY',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8470','NAD27 to NAD83(HARN) (11)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8603.','Accuracy at 67% confidence level is 0.2m onshore, 5m nearshore and undetermined farther offshore.','EPSG','4267','EPSG','4152','EPSG','1387',NULL,'EPSG','1241','EPSG','1484',NULL,NULL,'NGS-Usa LA',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8471','NAD27 to NAD83(HARN) (12)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8605.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','2377',NULL,'EPSG','1241','EPSG','1485',NULL,NULL,'NGS-Usa DE MD',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8472','NAD27 to NAD83(HARN) (13)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8604.','Accuracy at 67% confidence level is 0.2m onshore, 5m nearshore and undetermined farther offshore.','EPSG','4267','EPSG','4152','EPSG','1388',NULL,'EPSG','1241','EPSG','1486',NULL,NULL,'NGS-Usa ME',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8473','NAD27 to NAD83(HARN) (14)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8607.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','1391',NULL,'EPSG','1241','EPSG','1487',NULL,NULL,'NGS-Usa MI',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8474','NAD27 to NAD83(HARN) (15)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8609.','Accuracy at 67% confidence level is 0.2m onshore, 5m nearshore and undetermined farther offshore.','EPSG','4267','EPSG','4152','EPSG','1393',NULL,'EPSG','1241','EPSG','1488',NULL,NULL,'NGS-Usa MS',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8475','NAD27 to NAD83(HARN) (16)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8613.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','1396',NULL,'EPSG','1241','EPSG','1489',NULL,NULL,'NGS-Usa NE',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8476','NAD27 to NAD83(HARN) (17)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8606.','Accuracy at 67% confidence level is 0.2m onshore, 5m nearshore and undetermined farther offshore.','EPSG','4267','EPSG','4152','EPSG','2378',NULL,'EPSG','1241','EPSG','1490',NULL,NULL,'NGS-Usa NewEng',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8477','NAD27 to NAD83(HARN) (18)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8616.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','1400',NULL,'EPSG','1241','EPSG','1491',NULL,NULL,'NGS-Usa NM',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8478','NAD27 to NAD83(HARN) (19)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8617.','Accuracy at 67% confidence level is 0.2m onshore, 5m nearshore and undetermined farther offshore.','EPSG','4267','EPSG','4152','EPSG','1401',NULL,'EPSG','1241','EPSG','1492',NULL,NULL,'NGS-Usa NY',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8479','NAD27 to NAD83(HARN) (20)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8618.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','1403',NULL,'EPSG','1241','EPSG','1493',NULL,NULL,'NGS-Usa ND',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8480','NAD27 to NAD83(HARN) (21)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8620.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','1405',NULL,'EPSG','1241','EPSG','1494',NULL,NULL,'NGS-Usa OK',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8481','Puerto Rico to NAD83(HARN) (1)','May be taken as approximate transformation Puerto Rico to WGS 84 - see code 8583.','Accuracy 0.1m at 67% confidence level.','EPSG','4139','EPSG','4152','EPSG','1335',NULL,'EPSG','1241','EPSG','1495',NULL,NULL,'NGS-PRVI',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8482','NAD27 to NAD83(HARN) (22)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8622.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','1410',NULL,'EPSG','1747','EPSG','1496',NULL,NULL,'NGS-Usa SD',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8483','NAD27 to NAD83(HARN) (23)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8623.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','1411',NULL,'EPSG','1241','EPSG','1497',NULL,NULL,'NGS-Usa TN',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8484','NAD27 to NAD83(HARN) (24)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8624.','Accuracy at 67% confidence level is 0.2m onshore, 5m nearshore and undetermined farther offshore.','EPSG','4267','EPSG','4152','EPSG','2379',NULL,'EPSG','1241','EPSG','1498',NULL,NULL,'NGS-Usa TX e',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8485','NAD27 to NAD83(HARN) (25)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8625.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','2380',NULL,'EPSG','1241','EPSG','1499',NULL,NULL,'NGS-Usa TX w',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8486','NAD27 to NAD83(HARN) (26)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8627.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','1415',NULL,'EPSG','1241','EPSG','1500',NULL,NULL,'NGS-Usa VA',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8487','NAD27 to NAD83(HARN) (27)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8621.','Accuracy at 67% confidence level is 0.2m onshore, 5m nearshore and undetermined farther offshore.','EPSG','4267','EPSG','4152','EPSG','2381',NULL,'EPSG','1241','EPSG','1501',NULL,NULL,'NGS-Usa OR WA',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8488','NAD27 to NAD83(HARN) (28)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8629.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','1418',NULL,'EPSG','1241','EPSG','1502',NULL,NULL,'NGS-Usa WI',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8489','NAD27 to NAD83(HARN) (29)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8630.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','1419',NULL,'EPSG','1241','EPSG','1503',NULL,NULL,'NGS-Usa WY',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8496','NAD27 to WGS 84 (28)','','Geodetic survey.','EPSG','4267','EPSG','4326','EPSG','2374',NULL,'EPSG','1241','EPSG','1515',NULL,NULL,'NGS-Usa conus',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8497','NAD27 to WGS 84 (29)','','Geodetic survey.','EPSG','4267','EPSG','4326','EPSG','2373',NULL,'EPSG','1243','EPSG','1515',NULL,NULL,'NGS-Usa AK',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8508','Old Hawaiian to NAD83(HARN) (1)','Uses NADCON method which expects longitudes positive west; EPSG GeogCRSs Old Hawaiian (code 4135), NAD83 (code 4269) and NAD83(HARN) have longitudes positive east. May be taken as approximate transformation Old Hawaiin to WGS 84 - see code 8582.','Assumes NAD83 is coincident with NAD83(HARN). Accuracy about 1m.','EPSG','4135','EPSG','4152','EPSG','1334',NULL,'EPSG','1454','EPSG','1520',NULL,NULL,'NGS-Usa HI',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8509','NAD27 to NAD83(HARN) (30)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8599.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','1383',NULL,'EPSG','1241','EPSG','1521',NULL,NULL,'NGS-Usa IN',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8510','NAD27 to NAD83(HARN) (31)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8601.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','1385',NULL,'EPSG','1241','EPSG','1522',NULL,NULL,'NGS-Usa KS',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8511','NAD27 to NAD83(HARN) (32)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8614.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','1397',NULL,'EPSG','1241','EPSG','1523',NULL,NULL,'NGS-Usa NV',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8512','NAD27 to NAD83(HARN) (33)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8619.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','1404',NULL,'EPSG','1241','EPSG','1524',NULL,NULL,'NGS-Usa OH',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8513','NAD27 to NAD83(HARN) (34)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8626.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','1413',NULL,'EPSG','1241','EPSG','1525',NULL,NULL,'NGS-Usa UT',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8514','NAD27 to NAD83(HARN) (35)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8628.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','1417',NULL,'EPSG','1241','EPSG','1526',NULL,NULL,'NGS-Usa WV',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8517','Chos Malal 1914 to WGS 84 (1)','May be implemented using a single step geocentric translations of dx=+5.5m dY=+176.7m dZ=+141.4m.','Oil exploration','EPSG','4160','EPSG','4326','EPSG','2325',NULL,'EPSG','1528','EPSG','1527',NULL,NULL,'TOT-Arg Neu',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8530','South Yemen to WGS 84 (1)','May be implemented as a single transformation using geocentric translations transformation method with parameter values dX=-76m dY=-138m dZ=+67m.','Approximation at the +/- 1m level assuming that NGN96 is equivalent to WGS 84.','EPSG','4164','EPSG','4326','EPSG','1340',NULL,'EPSG','1539','EPSG','1540',NULL,NULL,'IGN-Yem South',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8532','Indian 1960 to WGS 84 (1)','May be implemented as a single transformation using position vector 7-parameter geocentric transformation method with parameter values dX=+199m dY=+931m dZ=+318.9m rX=rY=0 sec rZ=+0.814 sec dS=-0.38 ppm.','Oil exploration.','EPSG','4131','EPSG','4326','EPSG','1495',NULL,'EPSG','1541','EPSG','1240',NULL,NULL,'PV-Vnm',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8537','Egypt 1907 to WGS 84 (2)','Used by Shell. May be implemented as a single transformation using position vector 7-parameter geocentric transformation method with parameter values dX=-121.8m dY=+98.1m dZ=-10.7m rX=rY=0 sec rZ=+0.554 sec dS=+0.2263 ppm.','Oil exploration.','EPSG','4229','EPSG','4326','EPSG','1086',NULL,'EPSG','1545','EPSG','1237',NULL,NULL,'MCE-Egy',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8553','NAD27 to NAD83(HARN) (36)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8598.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','1382',NULL,'EPSG','1241','EPSG','1553',NULL,NULL,'NGS-Usa IL',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8554','NAD27 to NAD83(HARN) (37)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8615.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','1399',NULL,'EPSG','1241','EPSG','1554',NULL,NULL,'NGS-Usa NJ',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8560','AGD84 to WGS 84 (5)','Approximation at the +/- 1m level assuming that GDA94 is equivalent to WGS 84. Superseded by AGD84 to WGS 84 (6) (code 8579).','Approximation at the +/- 1m level assuming that GDA94 is equivalent to WGS 84.','EPSG','4203','EPSG','4326','EPSG','1280',NULL,'EPSG','1559','EPSG','1150',NULL,NULL,'EPSG-Aus WA',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8562','Nord Sahara 1959 to WGS 84 (3)','Derived at IGN monument CFP19 using Transit. Can be implemented as a single 7-param Position Vector transformation with parameter values of dX=-156.5m dY=-87.2m dZ=+287.8m; rX=rY=0 rZ=+0.814sec; dS=-0.38ppm.','Oil exploration.','EPSG','4307','EPSG','4326','EPSG','2393',NULL,'EPSG','1560','EPSG','1240',NULL,NULL,'CGG-Alg HM',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8563','NZGD49 to WGS 84 (3)','Assumes WGS 84 is coincident with NZGD2000. Accuracy about 1m.','Assumes WGS 84 is coincident with NZGD2000. Accuracy about 1m.','EPSG','4272','EPSG','4326','EPSG','1175',NULL,'EPSG','1568','EPSG','1565',NULL,NULL,'OSG-Nzl 1m',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8564','NAD27(CGQ77) to WGS 84 (2)','','Approximation at the +/- 1m level assuming that NAD83(CSRS98) is equivalent to WGS 84.','EPSG','4609','EPSG','4326','EPSG','1368',NULL,'EPSG','1576','EPSG','1473',NULL,NULL,'EPSG-Can Qc NT2',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8565','NAD27 to WGS 84 (31)','','Approximation at the +/- 1m level assuming that NAD83(CSRS98) is equivalent to WGS 84.','EPSG','4267','EPSG','4326','EPSG','1368',NULL,'EPSG','1574','EPSG','1188',NULL,NULL,'EPSG-Can Que',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8566','NAD83 to WGS 84 (6)','','Approximation at the +/- 1m level assuming that NAD83(CSRS98) is equivalent to WGS 84.','EPSG','4269','EPSG','4326','EPSG','1368',NULL,'EPSG','1572','EPSG','1188',NULL,NULL,'EPSG-Can Qc',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8568','Deir ez Zor to WGS 84 (1)','Can be implemented as a position vector tfm with param. values dX=-174.6 dY=-3.1 dZ=238.1m; rX=rY=0 rZ=0.814"; dS=-0.38 ppm.','Oil exploration','EPSG','4227','EPSG','4326','EPSG','2329',NULL,'EPSG','1584','EPSG','1240',NULL,NULL,'EPSG-Syr',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8569','ED50 to WGS 84 (21)','Included in Statens Kartverk programme wsktrans between 1997 (v3.1) and 2001 (v4.0). Replaced by ED50 to WGS 84 (23) (code 1612) in April 2001.','Oil exploration before 1997/2001.','EPSG','4230','EPSG','4326','EPSG','2332',NULL,'EPSG','1588','EPSG','1149',NULL,NULL,'EPSG-Nor N65 1997',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8571','Accra to WGS 84 (2)','Can be implemented as a position vector tfm dX=-171.16 dY=17.29 dZ=325.21m, rX=rY=0 rZ=0.814", dS=-0.38 ppm. See tfm code 15495. Found in use within oil industry erroneously concatenated as dX=-171.16 dY=17.29 dZ=327.81m, rX=rY0 rZ=0.554", dS=0.2263 ppm.','Oil industry.','EPSG','4168','EPSG','4326','EPSG','1505',NULL,'EPSG','1570','EPSG','1240',NULL,NULL,'EPSG-Gha',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8572','Amersfoort to WGS 84 (2)','Parameter values for step 1 from Amersfoort to ETRS89 (2) (code 1751). Step 2 assumes that ETRS89 is equivalent to WGS 84 within the accuracy of the transformation. Supersedes Amersfoort to WGS 84 (1) (code 1112).','Approximation at the +/- 1m level assuming that ETRS89 is equivalent to WGS 84.','EPSG','4289','EPSG','4326','EPSG','1275',NULL,'EPSG','1571','EPSG','1149',NULL,NULL,'EPSG-Nld',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8573','RGF93 to WGS 84 (1)','','Approximation at the +/- 1m level assuming that ETRS89 is equivalent to WGS 84.','EPSG','4171','EPSG','4326','EPSG','1096',NULL,'EPSG','1591','EPSG','1149',NULL,NULL,'EPSG-Fra',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8574','American Samoa 1962 to WGS 84 (2)','Transformation actually to NAD83(HARN), but for many purposes NAD83(HARNS) can be considered to be coincident with WGS 84.','Transformation actually to NAD83(HARN), but for many purposes NAD83(HARN) can be considered to be coincident with WGS 84.','EPSG','4169','EPSG','4326','EPSG','2288',NULL,'EPSG','1578','EPSG','1580',NULL,NULL,'EPSG-Asm',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8575','American Samoa 1962 to WGS 84 (3)','Transformation actually to NAD83(HARN), but for many purposes NAD83(HARNS) can be considered to be coincident with WGS 84.','Transformation actually to NAD83(HARN), but for many purposes NAD83(HARN) can be considered to be coincident with WGS 84.','EPSG','4169','EPSG','4326','EPSG','2289',NULL,'EPSG','1579','EPSG','1580',NULL,NULL,'EPSG-Asm',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8576','AGD66 to WGS 84 (9)','Approximation at the +/- 1m level assuming that GDA94 is equivalent to WGS 84. Supersedes AGD66 to WGS 84 (4) (code 8398).','Approximation at the +/- 1m level assuming that GDA94 is equivalent to WGS 84.','EPSG','4202','EPSG','4326','EPSG','1282',NULL,'EPSG','1594','EPSG','1150',NULL,NULL,'EPSG-Aus Tas 1m',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8577','AGD66 to WGS 84 (10)','Approximation at the +/- 1m level assuming that GDA94 is equivalent to WGS 84.','Approximation at the +/- 1m level assuming that GDA94 is equivalent to WGS 84.','EPSG','4202','EPSG','4326','EPSG','2284',NULL,'EPSG','1595','EPSG','1150',NULL,NULL,'EPSG-Aus NT',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8578','AGD66 to WGS 84 (11)','Approximation at the +/- 1m level assuming that GDA94 is equivalent to WGS 84. Supersedes AGD66 to WGS 84 (3) (code 8396) and AGD66 to WGS 84 (6) (code 8408).','Approximation at the +/- 1m level assuming that GDA94 is equivalent to WGS 84.','EPSG','4202','EPSG','4326','EPSG','2287',NULL,'EPSG','1596','EPSG','1150',NULL,NULL,'EPSG-Aus',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8579','AGD84 to WGS 84 (6)','Approximation at the +/- 1m level assuming that GDA94 is equivalent to WGS 84. Supersedes AGD84 to WGS 84 (5) (code 8560).','Approximation at the +/- 1m level assuming that GDA94 is equivalent to WGS 84.','EPSG','4203','EPSG','4326','EPSG','1280',NULL,'EPSG','1593','EPSG','1150',NULL,NULL,'EPSG-Aus WA',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8580','IRENET95 to WGS 84 (1)','Approximation at the +/- 1m level assuming that ETRS89 is equivalent to WGS 84.','Approximation at the +/- 1m level assuming that ETRS89 is equivalent to WGS 84.','EPSG','4173','EPSG','4326','EPSG','1305',NULL,'EPSG','1611','EPSG','1149',NULL,NULL,'OSI-Ire',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8581','PSD93 to WGS 84 (2)','Replaced by PSD93 to WGS 84 (1) (code 1439) in 1997. Can be implemented as a position vector tfm with parameter values dX= -182.046 dY= -225.604 dZ=+173.384m rX= -0.616 rY= -1.655 rZ=+8.378" dS=16.8673ppm.','Oil exploration.','EPSG','4134','EPSG','4326','EPSG','3288',NULL,'EPSG','1616','EPSG','1237',NULL,NULL,'PDO-Omn 93',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8582','Old Hawaiian to WGS 84 (2)','Transformation steps are from Old Hawaiian to NAD83(HARN) (1) (code 8508) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4135','EPSG','4326','EPSG','1334',NULL,'EPSG','1454','EPSG','1741',NULL,NULL,'EPSG-Usa Hi',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8583','Puerto Rico to WGS 84 (2)','Transformation steps are from Puerto Rico to NAD83(HARN) (1) (code 4435) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4139','EPSG','4326','EPSG','3634',NULL,'EPSG','1461','EPSG','1731',NULL,NULL,'EPSG-PRVI',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8584','NAD27 to NAD83(CSRS98) (3)','Can be taken as an approximate transformation NAD27 to WGS 84 - see code 8585.','Accuracy 1-2 metres.','EPSG','4267','EPSG','4140','EPSG','2376',NULL,'EPSG','1313','EPSG','1752',NULL,NULL,'EPSG-Can AB',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8585','NAD27 to WGS 84 (36)','Steps based on concatenated transformation NAD27 to NAD83(CSRS) (3) (code 8635) assuming that NAD83(CSRS) is equivalent to WGS 84.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','2376',NULL,'EPSG','1313','EPSG','1702',NULL,NULL,'EPSG-Can AB',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8586','NAD27 to NAD83(HARN) (38)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8592.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','1374',NULL,'EPSG','1241','EPSG','1704',NULL,NULL,'NGS-Usa AR',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8587','NAD27 to NAD83(HARN) (39)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8600.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','1384',NULL,'EPSG','1241','EPSG','1705',NULL,NULL,'NGS-Usa IA',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8588','NAD27 to NAD83(HARN) (40)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8608.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','1392',NULL,'EPSG','1241','EPSG','1706',NULL,NULL,'NGS-Usa MN',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8589','NAD27 to NAD83(HARN) (41)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8610.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','1394',NULL,'EPSG','1241','EPSG','1707',NULL,NULL,'NGS-Usa MO',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8590','NAD27 to WGS 84 (37)','Transformation steps are from NAD27 to NAD83(HARN) (1) (code 8460) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1372',NULL,'EPSG','1241','EPSG','1717',NULL,NULL,'EPSG-Usa AL',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8591','NAD27 to WGS 84 (38)','Transformation steps are from NAD27 to NAD83(HARN) (2) (code 8461) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1373',NULL,'EPSG','1241','EPSG','1728',NULL,NULL,'EPSG-Usa AZ',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8592','NAD27 to WGS 84 (39)','Transformation steps are from NAD27 to NAD83(HARN) (38) (code 8586) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1374',NULL,'EPSG','1241','EPSG','1708',NULL,NULL,'EPSG-Usa AR',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8593','NAD27 to WGS 84 (40)','Transformation steps are from NAD27 to NAD83(HARN) (3) (code 8462) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','2297',NULL,'EPSG','1241','EPSG','1739',NULL,NULL,'EPSG-Usa CA n',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8594','NAD27 to WGS 84 (41)','Transformation steps are from NAD27 to NAD83(HARN) (4) (code 8463) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','2298',NULL,'EPSG','1241','EPSG','1750',NULL,NULL,'EPSG-Usa CA s',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8595','NAD27 to WGS 84 (42)','Transformation steps are from NAD27 to NAD83(HARN) (5) (code 8464) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1376',NULL,'EPSG','1241','EPSG','1712',NULL,NULL,'EPSG-Usa CO',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8596','NAD27 to WGS 84 (43)','Transformation steps are from NAD27 to NAD83(HARN) (7) (code 8466) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1379',NULL,'EPSG','1241','EPSG','1714',NULL,NULL,'EPSG-Usa FL',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8597','NAD27 to WGS 84 (44)','Transformation steps are from NAD27 to NAD83(HARN) (6) (code 8465) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1380',NULL,'EPSG','1241','EPSG','1713',NULL,NULL,'EPSG-Usa GA',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8598','NAD27 to WGS 84 (45)','Transformation steps are from NAD27 to NAD83(HARN) (36) (code 8553) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1382',NULL,'EPSG','1241','EPSG','1748',NULL,NULL,'EPSG-Usa IL',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8599','NAD27 to WGS 84 (46)','Transformation steps are from NAD27 to NAD83(HARN) (30) (code 8509) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1383',NULL,'EPSG','1241','EPSG','1742',NULL,NULL,'EPSG-Usa IN',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8600','NAD27 to WGS 84 (47)','Transformation steps are from NAD27 to NAD83(HARN) (39) (code 8587) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1384',NULL,'EPSG','1241','EPSG','1709',NULL,NULL,'EPSG-Usa IA',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8601','NAD27 to WGS 84 (48)','Transformation steps are from NAD27 to NAD83(HARN) (31) (code 8510) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1385',NULL,'EPSG','1241','EPSG','1743',NULL,NULL,'EPSG-Usa KS',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8602','NAD27 to WGS 84 (49)','Transformation steps are from NAD27 to NAD83(HARN) (10) (code 8469) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1386',NULL,'EPSG','1241','EPSG','1718',NULL,NULL,'EPSG-Usa KY',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8603','NAD27 to WGS 84 (50)','Transformation steps are from NAD27 to NAD83(HARN) (11) (code 8470) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1387',NULL,'EPSG','1241','EPSG','1719',NULL,NULL,'EPSG-Usa LA',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8604','NAD27 to WGS 84 (51)','Transformation steps are from NAD27 to NAD83(HARN) (13) (code 8472) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1388',NULL,'EPSG','1241','EPSG','1721',NULL,NULL,'EPSG-Usa ME',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8605','NAD27 to WGS 84 (52)','Transformation steps are from NAD27 to NAD83(HARN) (12) (code 8471) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','2377',NULL,'EPSG','1241','EPSG','1720',NULL,NULL,'EPSG-Usa DE MD',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8606','NAD27 to WGS 84 (53)','Transformation steps are from NAD27 to NAD83(HARN) (17) (code 8476) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','2378',NULL,'EPSG','1241','EPSG','1725',NULL,NULL,'EPSG-Usa NewEng',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8607','NAD27 to WGS 84 (54)','Transformation steps are from NAD27 to NAD83(HARN) (14) (code 8473) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1391',NULL,'EPSG','1241','EPSG','1722',NULL,NULL,'EPSG-Usa MI',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8608','NAD27 to WGS 84 (55)','Transformation steps are from NAD27 to NAD83(HARN) (40) (code 8588) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1392',NULL,'EPSG','1241','EPSG','1710',NULL,NULL,'EPSG-Usa MN',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8609','NAD27 to WGS 84 (56)','Transformation steps are from NAD27 to NAD83(HARN) (15) (code 8474) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1393',NULL,'EPSG','1241','EPSG','1723',NULL,NULL,'EPSG-Usa MS',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8610','NAD27 to WGS 84 (57)','Transformation steps are from NAD27 to NAD83(HARN) (41) (code 8589) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1394',NULL,'EPSG','1241','EPSG','1711',NULL,NULL,'EPSG-Usa MO',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8611','NAD27 to WGS 84 (58)','Transformation steps are from NAD27 to NAD83(HARN) (8) (code 8467) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','2382',NULL,'EPSG','1241','EPSG','1715',NULL,NULL,'EPSG-Usa ID MT e',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8612','NAD27 to WGS 84 (59)','Transformation steps are from NAD27 to NAD83(HARN) (9) (code 8468) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','2383',NULL,'EPSG','1241','EPSG','1716',NULL,NULL,'EPSG-Usa ID MT w',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8613','NAD27 to WGS 84 (60)','Transformation steps are from NAD27 to NAD83(HARN) (16) (code 8475) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1396',NULL,'EPSG','1241','EPSG','1724',NULL,NULL,'EPSG-Usa NE',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8614','NAD27 to WGS 84 (61)','Transformation steps are from NAD27 to NAD83(HARN) (32) (code 8511) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1397',NULL,'EPSG','1241','EPSG','1744',NULL,NULL,'EPSG-Usa NV',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8615','NAD27 to WGS 84 (62)','Transformation steps are from NAD27 to NAD83(HARN) (37) (code 8554) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1399',NULL,'EPSG','1241','EPSG','1749',NULL,NULL,'EPSG-Usa NJ',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8616','NAD27 to WGS 84 (63)','Transformation steps are from NAD27 to NAD83(HARN) (18) (code 8477) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1400',NULL,'EPSG','1241','EPSG','1726',NULL,NULL,'EPSG-Usa NM',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8617','NAD27 to WGS 84 (64)','Transformation steps are from NAD27 to NAD83(HARN) (19) (code 8478) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1401',NULL,'EPSG','1241','EPSG','1727',NULL,NULL,'EPSG-Usa NY',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8618','NAD27 to WGS 84 (65)','Transformation steps are from NAD27 to NAD83(HARN) (20) (code 8479) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1403',NULL,'EPSG','1241','EPSG','1729',NULL,NULL,'EPSG-Usa ND',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8619','NAD27 to WGS 84 (66)','Transformation steps are from NAD27 to NAD83(HARN) (33) (code 8512) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1404',NULL,'EPSG','1241','EPSG','1745',NULL,NULL,'EPSG-Usa OH',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8620','NAD27 to WGS 84 (67)','Transformation steps are from NAD27 to NAD83(HARN) (21) (code 8480) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1405',NULL,'EPSG','1241','EPSG','1730',NULL,NULL,'EPSG-Usa OK',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8621','NAD27 to WGS 84 (68)','Transformation steps are from NAD27 to NAD83(HARN) (27) (code 8487) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','2381',NULL,'EPSG','1241','EPSG','1737',NULL,NULL,'EPSG-Usa OR WA',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8622','NAD27 to WGS 84 (69)','Transformation steps are from NAD27 to NAD83(HARN) (22) (code 6739) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1410',NULL,'EPSG','1241','EPSG','1732',NULL,NULL,'EPSG-Usa SD',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8623','NAD27 to WGS 84 (70)','Transformation steps are from NAD27 to NAD83(HARN) (23) (code 8483) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1411',NULL,'EPSG','1241','EPSG','1733',NULL,NULL,'EPSG-Usa TN',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8624','NAD27 to WGS 84 (71)','Transformation steps are from NAD27 to NAD83(HARN) (24) (code 8484) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','2379',NULL,'EPSG','1241','EPSG','1734',NULL,NULL,'EPSG-Usa TX e',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8625','NAD27 to WGS 84 (72)','Transformation steps are from NAD27 to NAD83(HARN) (25) (code 8485) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','2380',NULL,'EPSG','1241','EPSG','1735',NULL,NULL,'EPSG-Usa TX w',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8626','NAD27 to WGS 84 (73)','Transformation steps are from NAD27 to NAD83(HARN) (34) (code 8513) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1413',NULL,'EPSG','1241','EPSG','1746',NULL,NULL,'EPSG-Usa UT',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8627','NAD27 to WGS 84 (74)','Transformation steps are from NAD27 to NAD83(HARN) (26) (code 8486) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1415',NULL,'EPSG','1241','EPSG','1736',NULL,NULL,'EPSG-Usa VA',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8628','NAD27 to WGS 84 (75)','Transformation steps are from NAD27 to NAD83(HARN) (35) (code 8514) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1417',NULL,'EPSG','1241','EPSG','1747',NULL,NULL,'EPSG-Usa WV',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8629','NAD27 to WGS 84 (76)','Transformation steps are from NAD27 to NAD83(HARN) (28) (code 8488) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1418',NULL,'EPSG','1241','EPSG','1738',NULL,NULL,'EPSG-Usa WI',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8630','NAD27 to WGS 84 (77)','Transformation steps are from NAD27 to NAD83(HARN) (29) (code 8489) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1419',NULL,'EPSG','1241','EPSG','1740',NULL,NULL,'EPSG-Usa WY',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8631','Garoua to WGS 84 (1)','','Oil industry.','EPSG','4197','EPSG','4326','EPSG','2590',NULL,'EPSG','1805','EPSG','1240',NULL,NULL,'EPSG-Cmr',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8632','Kousseri to WGS 84 (1)','','Oil industry.','EPSG','4198','EPSG','4326','EPSG','2591',NULL,'EPSG','1806','EPSG','1240',NULL,NULL,'EPSG-Cmr',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8633','Yoff to WGS 84 (1)','Derived via WGS72. Can be used as a single positon vector transformation with parameter vaues of dX = -37 m, dY = +157 m, dZ = +89.5 m, rX = rY = 0 sec, rZ = 0.554 sec, dS = 0.219 ppm','Military purposes.','EPSG','4310','EPSG','4326','EPSG','1207',NULL,'EPSG','1828','EPSG','1238',NULL,NULL,'EPSG-SEN',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8634','Beduaram to WGS 84 (1)','Derived via WGS72BE. Can be used as a single positon vector transformation with parameter vaues of dX = -101 m, dY = -111 m, dZ = +188.9 m, rX = rY = 0 sec, rZ = 0.814 sec, dS = -0.38 ppm','Oil exploration.','EPSG','4213','EPSG','4326','EPSG','2771',NULL,'EPSG','1839','EPSG','1240',NULL,NULL,'ELF-Ner SE',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8635','NAD27 to NAD83(CSRS) (3)','Can be taken as an approximate transformation NAD27 to WGS 84 - see code 8585.','Accuracy 1-2 metres.','EPSG','4267','EPSG','4617','EPSG','2376',NULL,'EPSG','1313','EPSG','1849',NULL,NULL,'EPSG-Can AB',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8636','Carthage (Paris) to WGS 84 (1)','','For military purposes.','EPSG','4816','EPSG','4326','EPSG','1618',NULL,'EPSG','1881','EPSG','1130',NULL,NULL,'EPSG-Tun',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8637','Lisbon (Lisbon) to WGS 84 (1)','','For applications to an accuracy of 2 metres.','EPSG','4803','EPSG','4326','EPSG','1294',NULL,'EPSG','1756','EPSG','1944',NULL,NULL,'EPSG-Prt',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8638','Makassar (Jakarta) to WGS 84 (1)','','Oil exploration.','EPSG','4804','EPSG','4326','EPSG','1316',NULL,'EPSG','1260','EPSG','1837',NULL,NULL,'EPSG - Idn Sul SW',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8639','NGO 1948 (Oslo) to WGS 84 (1)','','For military purposes.','EPSG','4817','EPSG','4326','EPSG','1352',NULL,'EPSG','1762','EPSG','1654',NULL,NULL,'EPSG-Nor',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8640','Nord Sahara 1959 (Paris) to WGS 84 (1)','','For military purposes.','EPSG','4819','EPSG','4326','EPSG','1026',NULL,'EPSG','1882','EPSG','1253',NULL,NULL,'EPSG-Dza',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8641','Segara (Jakarta) to WGS 84 (1)','','Accuracy estimate not available.','EPSG','4820','EPSG','4326','EPSG','1360',NULL,'EPSG','1883','EPSG','1897',NULL,NULL,'EPSG-Idn Kal SW',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8642','S-JTSK (Ferro) to WGS 84 (1)','Replaced by S-JTSK (Ferro) to WGS 84 (3) (code 5242) in 2009.','For applications to an accuracy of 1 metre.','EPSG','4818','EPSG','4326','EPSG','1079',NULL,'EPSG','1884','EPSG','1623',NULL,NULL,'EPSG-Cze',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8643','Greek to WGS 84 (1)','','5m accuracy','EPSG','4120','EPSG','4326','EPSG','3254',NULL,'EPSG','1891','EPSG','1272',NULL,NULL,'EPSG-Grc',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8644','Greek (Athens) to WGS 84 (1)','','5m accuracy.','EPSG','4815','EPSG','4326','EPSG','3254',NULL,'EPSG','1761','EPSG','1891','EPSG','1272','EPSG-Grc',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8645','MGI (Ferro) to WGS 84 (2)','','2m accuracy','EPSG','4805','EPSG','4326','EPSG','1037',NULL,'EPSG','1757','EPSG','1618',NULL,NULL,'BEV-Aut',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8646','Manoca 1962 to WGS 84 (1)','Derived via WGS72BE. Can be used as a single positon vector transformation with parameter vaues of dX = -56.7 m, dY = -171.8 m, dZ = -40.6 m, rX = rY = 0 sec, rZ = 0.814 sec, dS = -0.38 ppm','Oil exploration','EPSG','4193','EPSG','4326','EPSG','2555',NULL,'EPSG','1902','EPSG','1240',NULL,NULL,'OGP-Cmr',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8647','NAD27 to WGS 84 (78)','','Oil industry operations.','EPSG','4267','EPSG','4326','EPSG','2831',NULL,'EPSG','1313','EPSG','1950','EPSG','1946','EPSG-Can E Off',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8648','Lisbon 1890 (Lisbon) to WGS 84 (1)','','Low accuracy applications.','EPSG','4904','EPSG','4326','EPSG','1294',NULL,'EPSG','1991','EPSG','1986',NULL,NULL,'EPSG-Prt 5m',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8649','Lisbon 1890 (Lisbon) to WGS 84 (2)','','Medium accuracy applications.','EPSG','4904','EPSG','4326','EPSG','1294',NULL,'EPSG','1991','EPSG','1990',NULL,NULL,'EPSG-Prt 1m',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8650','Palestine 1923 to WGS 84 (2)','Can be implemented as a geocentric translation tfm with param. values dX = -229m, dY = -67m, dZ= +277m.','Accuracy: 1m to north and 10m to south of east-west line through Beersheba (31°15''N).','EPSG','4281','EPSG','4326','EPSG','2603',NULL,'EPSG','1071','EPSG','1073',NULL,NULL,'SoI-Isr',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8651','Vientiane 1982 to WGS 84 (1)','Can be implemented as a geocentric translation tfm with param. values dX = 42.358m, dY = -124.688m, dZ= -37.366m.','Accuracy: 5m.','EPSG','4676','EPSG','4326','EPSG','1138',NULL,'EPSG','1063','EPSG','1065',NULL,NULL,'EPSG-Lao',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8652','Lao 1993 to WGS 84 (1)','Can be implemented as a geocentric translation tfm with param. values dX = 43.933m, dY = -129.593m, dZ= -39.331m.','Accuracy: 5m.','EPSG','4677','EPSG','4326','EPSG','1138',NULL,'EPSG','1064','EPSG','1065',NULL,NULL,'EPSG-Lao',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8655','Manoca 1962 to WGS 84 (2)','Derived via WGS 72BE. Can be implemented as a single positon vector transformation with parameter vaues of dX = -56.7 m, dY = -171.8 m, dZ = -38.7 m, rX = rY = 0 sec, rZ = 0.814 sec, dS = -0.38 ppm.','Oil exploration','EPSG','4193','EPSG','4326','EPSG','2555',NULL,'EPSG','1902','EPSG','1240',NULL,NULL,'OGP-Cmr',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8656','Mhast (offshore) to WGS 84 (1)','Derived via WGS 72BE. Can be implemented as a single positon vector transformation with parameter vaues of dX = -255.0 m, dY = -29.0 m, dZ = -103.1 m, rX = rY = 0 sec, rZ = 0.814 sec, dS = -0.38 ppm.','Oil industry exploration and production between 1979 and 1987.','EPSG','4705','EPSG','4326','EPSG','3180',NULL,'EPSG','15790','EPSG','1240',NULL,NULL,'OGP-Ago Cab',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8657','Egypt Gulf of Suez S-650 TL to WGS 84 (1)','Can be implemented as a single positon vector transformation with parameter vaues of dX = -123.0 m, dY = 98.0 m, dZ = 3.9 m, rX = rY = 0 sec, rZ = 0.814 sec, dS = -0.38 ppm. Replaced by Egypt Gulf of Suez S-650 TL to WGS 84 (2) (tfm code 15846).','Oil industry exploration and production between 1980 and 1984.','EPSG','4706','EPSG','4326','EPSG','2341',NULL,'EPSG','15792','EPSG','1240',NULL,NULL,'OGP-Egy GoS',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8659','Kertau (RSO) to WGS 84 (1)','Step 1 is necessary to rescale the grid units before using step 2.','For transformation of MRT68 RSO coordinates.','EPSG','4751','EPSG','4326','EPSG','1309',NULL,'EPSG','15896','EPSG','1158',NULL,NULL,'OGP-Mys',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','3896','MGI (Ferro) to WGS 84 (2)','','2m accuracy','EPSG','4805','EPSG','4326','EPSG','1037',NULL,'BEV-Aut',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','3966','MGI (Ferro) to WGS 84 (1)','Accuracy estimate is not available.','For military purposes only.','EPSG','4805','EPSG','4326','EPSG','2370',NULL,'DMA-balk',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','4435','Puerto Rico to NAD83(HARN) (1)','May be taken as approximate transformation Puerto Rico to WGS 84 - see code 8583.','Accuracy 0.1m at 67% confidence level.','EPSG','4139','EPSG','4152','EPSG','3634',NULL,'NGS-PRVI',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','4837','Amersfoort to ED50 (1)','Adopted by NAM in 2006, replacing polynomial tfms 1046, 6304, 1050 and 6306.','Oil and gas exploration and production.','EPSG','4289','EPSG','4230','EPSG','1275',NULL,'NAM-Nld 2006',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','5190','Tokyo 1892 to Korea 2000 (1)','','Accuracy 10m.','EPSG','5132','EPSG','4737','EPSG','3266',NULL,'OGP-Kor',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','5192','Tokyo 1892 to WGS 84 (1)','','Accuracy 10m.','EPSG','5132','EPSG','4326','EPSG','3266',NULL,'OGP-Kor',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','5230','S-JTSK (Ferro) to WGS 84 (2)','','For applications to an accuracy of 1 metre.','EPSG','4818','EPSG','4326','EPSG','1211',NULL,'OGP-Svk',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','5240','S-JTSK/05 (Ferro) to WGS 84 (1)','Replaces S-JTSK (Ferro) to WGS 84 (1) (CRS code 8642) in Czech Republic.','For applications to an accuracy of 1 metre.','EPSG','5229','EPSG','4326','EPSG','1079',NULL,'OGP-Cze',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','5242','S-JTSK (Ferro) to WGS 84 (3)','Replaces S-JTSK (Ferro) to WGS 84 (1) (tfm code 8642).','Parameter values from S-JTSK/05 to ETRS89 (1) (code 5226). For applications to an accuracy of 1m.','EPSG','4818','EPSG','4326','EPSG','1079',NULL,'OGP-Cze R05',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','5838','Lisbon (Lisbon) to WGS 84 (2)','','For applications to an accuracy of 2 metres.','EPSG','4803','EPSG','4326','EPSG','1294',NULL,'OGP-Prt 2009',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','6714','Tokyo to JGD2011 (1)','See Tokyo to JGD2011 (2) (code 6740) for areas other than northern Honshu.','Surveying, mapping and civil engineering.','EPSG','4301','EPSG','6668','EPSG','4170',NULL,'OGP-Jpn N Honshu',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','6739','NAD27 to NAD83(HARN) (22)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8622.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','1410',NULL,'NGS-Usa SD',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','6874','Tananarive (Paris) to WGS 84 (2)','Used by OMV.','For applications with an accuracy of 3m.','EPSG','4810','EPSG','4326','EPSG','3273',NULL,'OGP-Mdg',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','7811','NTF (Paris) to RGF93 (2)','Second step is an emulation using NTv2 method of geocentric Interpolation method described in tfm code 7810. Note that the grid file parameters are of opposite sign.','Approximation to better than 1m of transformation of coordinates referenced to NTF (Paris) to RGF93.','EPSG','4807','EPSG','4171','EPSG','3694',NULL,'IOGP-Fra NTv2',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','7965','Poolbeg height (ft(Br36)) to Malin Head height (1)','','Change of height to a different vertical reference surface for topographic mapping. Accuracy 0.1m.','EPSG','5754','EPSG','5731','EPSG','1305',NULL,'1',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','7967','Poolbeg height (ft(Br36)) to Belfast height (1)','','Change of height to a different vertical reference surface for topographic mapping and engineering survey. Accuracy 0.1m.','EPSG','5754','EPSG','5732','EPSG','1305',NULL,'1',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','7973','NGVD29 height (ftUS) to NAVD88 height (1)','','Change of height to a different vertical reference surface and unit. Accuracy 2cm.','EPSG','5702','EPSG','5703','EPSG','2950',NULL,'IOGP - US Conus W',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','7974','NGVD29 height (ftUS) to NAVD88 height (2)','','Change of height to a different vertical reference surface and unit, accuracy 2cm.','EPSG','5702','EPSG','5703','EPSG','2949',NULL,'IOGP - US Conus C',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','7975','NGVD29 height (ftUS) to NAVD88 height (3)','','Change of height to a different vertical reference surface and unit, accuracy 2cm.','EPSG','5702','EPSG','5703','EPSG','2948',NULL,'IOGP - US Conus E',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','7983','HKPD height to HKCD depth (1)','','Hydrographic charting.','EPSG','5738','EPSG','5739','EPSG','3335',NULL,'IOGP-HK',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','7986','KOC CD height to KOC WD depth (1)','','Vertical offset including change of axis positive direction.','EPSG','5790','EPSG','5789','EPSG','3267',NULL,'IOGP-Kwt',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','7987','KOC CD height to KOC WD depth (ft) (1)','','Vertical offset including change of axis positive direction and change of axis unit.','EPSG','5790','EPSG','5614','EPSG','3267',NULL,'IOGP-Kwt',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8047','ED50 to WGS 84 (15)','Replaced by codes 8569 and 1612 in 1997 and 2001.¶The concatenation of transformations 1147 and 1146 gives the following position vector tfm: dX=-84.491 dY=-100.559 dZ=-114.209 metres rX= -2.4006 rY=-0.5367 rZ=-2.3742 microradians dS=+0.2947 ppm.','Oil exploration before 2001.','EPSG','4230','EPSG','4326','EPSG','2332',NULL,'NMA-Nor N65 1991',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8094','NTF (Paris) to WGS 84 (1)','','Not known.','EPSG','4807','EPSG','4326','EPSG','3694',NULL,'EPSG-Fra',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8174','Bogota 1975 (Bogota) to WGS 84 (1)','','For military purposes. Accuracy 6m, 5m and 6m in X, Y and Z axes.','EPSG','4802','EPSG','4326','EPSG','3229',NULL,'DMA-Col',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8175','Monte Mario (Rome) to WGS 84 (1)','','For military purposes. Accuracy 25m in each axis.','EPSG','4806','EPSG','4326','EPSG','2339',NULL,'EPSG-Ita',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8176','Tananarive (Paris) to WGS 84 (1)','','For military purposes. Accuracy not available.','EPSG','4810','EPSG','4326','EPSG','3273',NULL,'EPSG-Mdg',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8178','Batavia (Jakarta) to WGS 84 (1)','','For military purposes. Accuracy 3m in each axis.','EPSG','4813','EPSG','4326','EPSG','1355',NULL,'EPSG-Idn Sumatra',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8183','HD72 to WGS 84 (1)','Approximation at the +/- 1m level assuming that ETRF89 is equivalent to WGS 84.','Approximation at the +/- 1m level assuming that ETRS89 is equivalent to WGS 84.','EPSG','4237','EPSG','4326','EPSG','1119',NULL,'EPSG-Hun',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8186','NTF (Paris) to ED50 (1)','','Not known.','EPSG','4807','EPSG','4230','EPSG','3694',NULL,'EPSG-Fra',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8188','NTF (Paris) to WGS 72 (1)','','Not known.','EPSG','4807','EPSG','4322','EPSG','3694',NULL,'EPSG-Fra',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8190','AGD66 to WGS 84 (2)','Approximation at the +/- 1m level assuming that GDA94 is equivalent to WGS 84. 0.1m accuracy.','Approximation at the +/- 1m level assuming that GDA94 is equivalent to WGS 84.','EPSG','4202','EPSG','4326','EPSG','2575',NULL,'EPSG-Aus 5m',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8192','AGD84 to WGS 84 (3)','Approximation assuming that GDA94 is equivalent to WGS 84.','5m accuracy. Approximation assuming that GDA94 is equivalent to WGS 84.','EPSG','4203','EPSG','4326','EPSG','2575',NULL,'EPSG-Aus 5m',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8194','AGD84 to WGS 84 (4)','Approximation at the +/- 1m level assuming that GDA94 is equivalent to WGS 84.','Approximation at the +/- 1m level assuming that GDA94 is equivalent to WGS 84.','EPSG','4203','EPSG','4326','EPSG','2575',NULL,'EPSG-Aus 1m',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8195','RT90 to WGS 84 (1)','Approximation at the +/- 1m level assuming that ETRF89 is equivalent to WGS 84.','Approximation at the +/- 1m level assuming that ETRS89 is equivalent to WGS 84.','EPSG','4124','EPSG','4326','EPSG','1225',NULL,'EPSG-Swe',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8199','Pulkovo 1942 to WGS 84 (2)','Approximation at the +/- 1m level assuming that LKS94(ETRS89) is equivalent to WGS 84.','Approximation at the +/- 1m level assuming that LKS94(ETRS89) is equivalent to WGS 84.','EPSG','4284','EPSG','4326','EPSG','1145',NULL,'EPSG-Ltu',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8211','Voirol 1875 (Paris) to WGS 84 (1)','','Oil exploration.','EPSG','4811','EPSG','4326','EPSG','1365',NULL,'EPSG-Dza N',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8215','Tete to WGS 84 (1)','Approximation at the +/- 1m level assuming that Moznet is equivalent to WGS 84.','Approximation at the +/- 1m level assuming that Moznet is equivalent to WGS 84.','EPSG','4127','EPSG','4326','EPSG','1167',NULL,'EPSG-Moz',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8217','Tete to WGS 84 (2)','Approximation at the +/- 1m level assuming that Moznet is equivalent to WGS 84.','Approximation at the +/- 1m level assuming that Moznet is equivalent to WGS 84.','EPSG','4127','EPSG','4326','EPSG','2350',NULL,'EPSG-Moz A',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8219','Tete to WGS 84 (3)','Approximation at the +/- 1m level assuming that Moznet is equivalent to WGS 84.','Approximation at the +/- 1m level assuming that Moznet is equivalent to WGS 84.','EPSG','4127','EPSG','4326','EPSG','2351',NULL,'EPSG-Moz B',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8221','Tete to WGS 84 (4)','Approximation at the +/- 1m level assuming that Moznet is equivalent to WGS 84.','Approximation at the +/- 1m level assuming that Moznet is equivalent to WGS 84.','EPSG','4127','EPSG','4326','EPSG','2352',NULL,'EPSG-Moz C',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8223','Tete to WGS 84 (5)','Approximation at the +/- 1m level assuming that Moznet is equivalent to WGS 84.','Approximation at the +/- 1m level assuming that Moznet is equivalent to WGS 84.','EPSG','4127','EPSG','4326','EPSG','2353',NULL,'EPSG-Moz D',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8234','DHDN to WGS 84 (1)','Approximation at the +/- 1m level assuming that ETRF89 is equivalent to WGS 84.','Approximation at the +/- 1m level assuming that ETRS89 is equivalent to WGS 84.','EPSG','4314','EPSG','4326','EPSG','2326',NULL,'EPSG-Deu W',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8236','Pulkovo 1942 to WGS 84 (11)','Approximation at the +/- 1m level assuming that ETRF89 is equivalent to WGS 84.','Approximation at the +/- 1m level assuming that ETRF89 is equivalent to WGS 84.','EPSG','4284','EPSG','4326','EPSG','1343',NULL,'EPSG-Deu E',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8243','NAD27 to WGS 84 (25)','Approximation at the +/- 1m level assuming that NAD83 is equivalent to WGS 84. Superseded by NAD27 to WGS 84 (27) (code 8404) in Quebec and NAD27 to WGS 84 (26) (code 8245) elsewhere in Canada.','Approximation at the +/- 1m level assuming that NAD83 is equivalent to WGS 84.','EPSG','4267','EPSG','4326','EPSG','1061',NULL,'EPSG-Can old',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8245','NAD27 to WGS 84 (26)','Approximation at the +/- 1m level assuming that NAD83 is equivalent to WGS 84.','Approximation at the +/- 1m level assuming that NAD83 is equivalent to WGS 84.','EPSG','4267','EPSG','4326','EPSG','1061',NULL,'EPSG-Can',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8263','MGI (Ferro) to WGS 84 (1)','Accuracy estimate is not available.','For military purposes only.','EPSG','4805','EPSG','4326','EPSG','2370',NULL,'DMA-balk',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8363','ETRS89 + Baltic 1957 height to ETRS89 + EVRF2007 height (1)','Compound transformation using two separate quasigeoid models (DVRM05 and DMQSK2014E).','Recommended method for transforming coordinates between Baltic 1957 height and EVRF2007 height and vice-versa in Slovakia.','EPSG','8360','EPSG','7423','EPSG','1211',NULL,'UGKK-Svk',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8386','Old Hawaiian to WGS 84 (1)','Approximation at the +/- 1m level assuming that NAD83 is equivalent to WGS 84.','Approximation at the +/- 1m level assuming that NAD83 is equivalent to WGS 84.','EPSG','4135','EPSG','4326','EPSG','1334',NULL,'EPSG-Usa Hi',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8388','St. Lawrence Island to WGS 84 (1)','Approximation at the +/- 1m level assuming that NAD83 is equivalent to WGS 84.','Approximation at the +/- 1m level assuming that NAD83 is equivalent to WGS 84.','EPSG','4136','EPSG','4326','EPSG','1332',NULL,'EPSG-Usa AK StL',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8390','St. Paul Island to WGS 84 (1)','Approximation at the +/- 1m level assuming that NAD83 is equivalent to WGS 84.','Approximation at the +/- 1m level assuming that NAD83 is equivalent to WGS 84.','EPSG','4137','EPSG','4326','EPSG','1333',NULL,'EPSG-Usa AK StP',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8392','St. George Island to WGS 84 (1)','Approximation at the +/- 1m level assuming that NAD83 is equivalent to WGS 84.','Approximation at the +/- 1m level assuming that NAD83 is equivalent to WGS 84.','EPSG','4138','EPSG','4326','EPSG','1331',NULL,'EPSG-Usa AK StG',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8394','NAD27(CGQ77) to WGS 84 (1)','Approximation at the +/- 1m level assuming that NAD83 is equivalent to WGS 84. Superseded by NAD27(CGQ77) to WGS 84 (2) (code 8564).','Approximation at the +/- 1m level assuming that NAD83 is equivalent to WGS 84.','EPSG','4609','EPSG','4326','EPSG','1368',NULL,'EPSG-Can Qc NT1',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8396','AGD66 to WGS 84 (3)','Approximation at the +/- 1m level assuming that GDA94 is equivalent to WGS 84. Superseded by AGD66 to WGS 84 (11) (code 8581).','Approximation at the +/- 1m level assuming that GDA94 is equivalent to WGS 84.','EPSG','4202','EPSG','4326','EPSG','2283',NULL,'EPSG-Aus ACT 1m',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8398','AGD66 to WGS 84 (4)','Approximation at the +/- 1m level assuming that GDA94 is equivalent to WGS 84. Superseded by AGD66 to WGS 84 (9) (code 8576).','Approximation at the +/- 1m level assuming that GDA94 is equivalent to WGS 84.','EPSG','4202','EPSG','4326','EPSG','1282',NULL,'EPSG-Aus Tas 1m',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8400','AGD66 to WGS 84 (5)','Approximation at the +/- 1m level assuming that GDA94 is equivalent to WGS 84.','Approximation at the +/- 1m level assuming that GDA94 is equivalent to WGS 84.','EPSG','4202','EPSG','4326','EPSG','2286',NULL,'EPSG-Aus NSW Vic 1m',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8402','Puerto Rico to WGS 84 (1)','Approximation at the +/- 1m level assuming that NAD83 is equivalent to WGS 84.','Approximation at the +/- 1m level assuming that NAD83 is equivalent to WGS 84.','EPSG','4139','EPSG','4326','EPSG','1335',NULL,'EPSG-PRVI',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8404','NAD27 to WGS 84 (27)','Approximation at the +/- 1m level assuming that NAD83 is equivalent to WGS 84. Superseded by NAD27 to WGS 84 (31) (code 8565).','Approximation at the +/- 1m level assuming that NAD83 is equivalent to WGS 84.','EPSG','4267','EPSG','4326','EPSG','1368',NULL,'EPSG-Can QC',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8406','NAD27(76) to WGS 84 (1)','Approximation at the +/- 1m level assuming that NAD83 is equivalent to WGS 84.','Approximation at the +/- 1m level assuming that NAD83 is equivalent to WGS 84.','EPSG','4608','EPSG','4326','EPSG','1367',NULL,'EPSG-Can On',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8408','AGD66 to WGS 84 (6)','Approximation at the +/- 1m level assuming that GDA94 is equivalent to WGS 84. Superseded by AGD66 to WGS 84 (11) (code 8578).','Approximation at the +/- 1m level assuming that GDA94 is equivalent to WGS 84.','EPSG','4202','EPSG','4326','EPSG','2285',NULL,'EPSG-Aus Vic 0.1m',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8418','ATS77 to WGS 84 (1)','Approximation at the +/- 1m level assuming that NAD83(CSRS98) is equivalent to WGS 84.','Approximation at the +/- 1m level assuming that NAD83(CSRS98) is equivalent to WGS 84.','EPSG','4122','EPSG','4326','EPSG','1447',NULL,'EPSG-Can NB',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8419','ATS77 to WGS 84 (2)','Approximation at the +/- 1m level assuming that NAD83(CSRS98) is equivalent to WGS 84.','Approximation at the +/- 1m level assuming that NAD83(CSRS98) is equivalent to WGS 84.','EPSG','4122','EPSG','4326','EPSG','1533',NULL,'EPSG-Can PEI',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8420','NAD27 to WGS 84 (32)','','Approximation at the +/- 1m level assuming that NAD83(CSRS98) is equivalent to WGS 84.','EPSG','4267','EPSG','4326','EPSG','2375',NULL,'SK PMC-Can SK',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8421','NAD83 to WGS 84 (7)','','Approximation at the +/- 1m level assuming that NAD83(CSRS98) is equivalent to WGS 84.','EPSG','4269','EPSG','4326','EPSG','2375',NULL,'SK PMC-Can SK',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8422','NAD83 to WGS 84 (8)','The gridded difference file AB_CSRS.DAC in STEP 1 will need to be renamed to AB_CSRS.gsb to run in some software suites. Formats identical, but AB file is provincial fit only.','Approximation at the +/- 1m level assuming that NAD83(CSRS98) is equivalent to WGS 84.','EPSG','4269','EPSG','4326','EPSG','2376',NULL,'Alb Env-Can AB',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8442','ETRS89 to S-JTSK (5)','Recommended method of a transformation from ETRS89 to S-JTSK in Slovakia. For reverse transformation see S-JTSK to ETRS89 (6) (code 8443). Both together replace S-JTSK to ETRS89 (4) (code 4827).','GIS, geodetic survey.','EPSG','4258','EPSG','4156','EPSG','1211',NULL,'UGKK-Sk JTSK03',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8443','S-JTSK to ETRS89 (6)','Recommended method of a transformation from S-JTSK to ETRS89 in Slovakia. For reverse transformation see ETRS89 to S-JTSK (5) (code 8442). Both together replace S-JTSK to ETRS89 (4) (code 4827).','GIS, geodetic survey.','EPSG','4156','EPSG','4258','EPSG','1211',NULL,'UGKK-Sk JTSK03',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8453','AGD66 to WGS 84 (7)','Approximation at the +/- 1m level assuming that GDA94 is equivalent to WGS 84.','Approximation at the +/- 1m level assuming that GDA94 is equivalent to WGS 84.','EPSG','4202','EPSG','4326','EPSG','1282',NULL,'EPSG-Aus Tas 0.1m',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8454','AGD66 to WGS 84 (8)','Approximation at the +/- 1m level assuming that GDA94 is equivalent to WGS 84.','Approximation at the +/- 1m level assuming that GDA94 is equivalent to WGS 84.','EPSG','4202','EPSG','4326','EPSG','2284',NULL,'EPSG-Aus NT 0.1m',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8457','CH1903+ to WGS 84 (1)','Approximation at the +/- 1m level assuming that CHTRF95 is equivalent to WGS 84.','Approximation at the +/- 1m level assuming that CHTRF95 is equivalent to WGS 84.','EPSG','4150','EPSG','4326','EPSG','1286',NULL,'EPSG-CH',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8460','NAD27 to NAD83(HARN) (1)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8590.','Accuracy at 67% confidence level is 0.2m onshore, 5m nearshore and undetermined farther offshore.','EPSG','4267','EPSG','4152','EPSG','1372',NULL,'NGS-Usa AL',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8461','NAD27 to NAD83(HARN) (2)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8591.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','1373',NULL,'NGS-Usa AZ',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8462','NAD27 to NAD83(HARN) (3)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8593.','Accuracy at 67% confidence level is 0.2m onshore, 5m nearshore and undetermined farther offshore.','EPSG','4267','EPSG','4152','EPSG','2297',NULL,'NGS-Usa CA n',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8463','NAD27 to NAD83(HARN) (4)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8594.','Accuracy at 67% confidence level is 0.2m onshore, 5m nearshore and undetermined farther offshore.','EPSG','4267','EPSG','4152','EPSG','2298',NULL,'NGS-Usa CA s',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8464','NAD27 to NAD83(HARN) (5)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8595.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','1376',NULL,'NGS-Usa CO',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8465','NAD27 to NAD83(HARN) (6)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8597.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','1380',NULL,'NGS-Usa GA',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8466','NAD27 to NAD83(HARN) (7)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8596.','Accuracy at 67% confidence level is 0.2m onshore, 5m nearshore and undetermined farther offshore.','EPSG','4267','EPSG','4152','EPSG','1379',NULL,'NGS-Usa FL',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8467','NAD27 to NAD83(HARN) (8)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8611.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','2382',NULL,'NGS-Usa ID MT e',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8468','NAD27 to NAD83(HARN) (9)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8612.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','2383',NULL,'NGS-Usa ID MT w',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8469','NAD27 to NAD83(HARN) (10)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8602.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','1386',NULL,'NGS-Usa KY',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8470','NAD27 to NAD83(HARN) (11)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8603.','Accuracy at 67% confidence level is 0.2m onshore, 5m nearshore and undetermined farther offshore.','EPSG','4267','EPSG','4152','EPSG','1387',NULL,'NGS-Usa LA',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8471','NAD27 to NAD83(HARN) (12)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8605.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','2377',NULL,'NGS-Usa DE MD',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8472','NAD27 to NAD83(HARN) (13)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8604.','Accuracy at 67% confidence level is 0.2m onshore, 5m nearshore and undetermined farther offshore.','EPSG','4267','EPSG','4152','EPSG','1388',NULL,'NGS-Usa ME',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8473','NAD27 to NAD83(HARN) (14)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8607.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','1391',NULL,'NGS-Usa MI',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8474','NAD27 to NAD83(HARN) (15)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8609.','Accuracy at 67% confidence level is 0.2m onshore, 5m nearshore and undetermined farther offshore.','EPSG','4267','EPSG','4152','EPSG','1393',NULL,'NGS-Usa MS',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8475','NAD27 to NAD83(HARN) (16)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8613.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','1396',NULL,'NGS-Usa NE',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8476','NAD27 to NAD83(HARN) (17)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8606.','Accuracy at 67% confidence level is 0.2m onshore, 5m nearshore and undetermined farther offshore.','EPSG','4267','EPSG','4152','EPSG','2378',NULL,'NGS-Usa NewEng',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8477','NAD27 to NAD83(HARN) (18)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8616.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','1400',NULL,'NGS-Usa NM',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8478','NAD27 to NAD83(HARN) (19)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8617.','Accuracy at 67% confidence level is 0.2m onshore, 5m nearshore and undetermined farther offshore.','EPSG','4267','EPSG','4152','EPSG','1401',NULL,'NGS-Usa NY',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8479','NAD27 to NAD83(HARN) (20)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8618.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','1403',NULL,'NGS-Usa ND',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8480','NAD27 to NAD83(HARN) (21)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8620.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','1405',NULL,'NGS-Usa OK',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8481','Puerto Rico to NAD83(HARN) (1)','May be taken as approximate transformation Puerto Rico to WGS 84 - see code 8583.','Accuracy 0.1m at 67% confidence level.','EPSG','4139','EPSG','4152','EPSG','1335',NULL,'NGS-PRVI',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8482','NAD27 to NAD83(HARN) (22)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8622.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','1410',NULL,'NGS-Usa SD',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8483','NAD27 to NAD83(HARN) (23)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8623.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','1411',NULL,'NGS-Usa TN',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8484','NAD27 to NAD83(HARN) (24)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8624.','Accuracy at 67% confidence level is 0.2m onshore, 5m nearshore and undetermined farther offshore.','EPSG','4267','EPSG','4152','EPSG','2379',NULL,'NGS-Usa TX e',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8485','NAD27 to NAD83(HARN) (25)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8625.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','2380',NULL,'NGS-Usa TX w',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8486','NAD27 to NAD83(HARN) (26)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8627.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','1415',NULL,'NGS-Usa VA',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8487','NAD27 to NAD83(HARN) (27)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8621.','Accuracy at 67% confidence level is 0.2m onshore, 5m nearshore and undetermined farther offshore.','EPSG','4267','EPSG','4152','EPSG','2381',NULL,'NGS-Usa OR WA',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8488','NAD27 to NAD83(HARN) (28)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8629.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','1418',NULL,'NGS-Usa WI',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8489','NAD27 to NAD83(HARN) (29)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8630.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','1419',NULL,'NGS-Usa WY',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8496','NAD27 to WGS 84 (28)','','Geodetic survey.','EPSG','4267','EPSG','4326','EPSG','2374',NULL,'NGS-Usa conus',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8497','NAD27 to WGS 84 (29)','','Geodetic survey.','EPSG','4267','EPSG','4326','EPSG','2373',NULL,'NGS-Usa AK',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8508','Old Hawaiian to NAD83(HARN) (1)','Uses NADCON method which expects longitudes positive west; EPSG GeogCRSs Old Hawaiian (code 4135), NAD83 (code 4269) and NAD83(HARN) have longitudes positive east. May be taken as approximate transformation Old Hawaiin to WGS 84 - see code 8582.','Assumes NAD83 is coincident with NAD83(HARN). Accuracy about 1m.','EPSG','4135','EPSG','4152','EPSG','1334',NULL,'NGS-Usa HI',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8509','NAD27 to NAD83(HARN) (30)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8599.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','1383',NULL,'NGS-Usa IN',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8510','NAD27 to NAD83(HARN) (31)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8601.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','1385',NULL,'NGS-Usa KS',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8511','NAD27 to NAD83(HARN) (32)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8614.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','1397',NULL,'NGS-Usa NV',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8512','NAD27 to NAD83(HARN) (33)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8619.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','1404',NULL,'NGS-Usa OH',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8513','NAD27 to NAD83(HARN) (34)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8626.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','1413',NULL,'NGS-Usa UT',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8514','NAD27 to NAD83(HARN) (35)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8628.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','1417',NULL,'NGS-Usa WV',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8517','Chos Malal 1914 to WGS 84 (1)','May be implemented using a single step geocentric translations of dx=+5.5m dY=+176.7m dZ=+141.4m.','Oil exploration','EPSG','4160','EPSG','4326','EPSG','2325',NULL,'TOT-Arg Neu',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8530','South Yemen to WGS 84 (1)','May be implemented as a single transformation using geocentric translations transformation method with parameter values dX=-76m dY=-138m dZ=+67m.','Approximation at the +/- 1m level assuming that NGN96 is equivalent to WGS 84.','EPSG','4164','EPSG','4326','EPSG','1340',NULL,'IGN-Yem South',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8532','Indian 1960 to WGS 84 (1)','May be implemented as a single transformation using position vector 7-parameter geocentric transformation method with parameter values dX=+199m dY=+931m dZ=+318.9m rX=rY=0 sec rZ=+0.814 sec dS=-0.38 ppm.','Oil exploration.','EPSG','4131','EPSG','4326','EPSG','1495',NULL,'PV-Vnm',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8537','Egypt 1907 to WGS 84 (2)','Used by Shell. May be implemented as a single transformation using position vector 7-parameter geocentric transformation method with parameter values dX=-121.8m dY=+98.1m dZ=-10.7m rX=rY=0 sec rZ=+0.554 sec dS=+0.2263 ppm.','Oil exploration.','EPSG','4229','EPSG','4326','EPSG','1086',NULL,'MCE-Egy',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8553','NAD27 to NAD83(HARN) (36)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8598.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','1382',NULL,'NGS-Usa IL',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8554','NAD27 to NAD83(HARN) (37)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8615.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','1399',NULL,'NGS-Usa NJ',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8560','AGD84 to WGS 84 (5)','Approximation at the +/- 1m level assuming that GDA94 is equivalent to WGS 84. Superseded by AGD84 to WGS 84 (6) (code 8579).','Approximation at the +/- 1m level assuming that GDA94 is equivalent to WGS 84.','EPSG','4203','EPSG','4326','EPSG','1280',NULL,'EPSG-Aus WA',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8562','Nord Sahara 1959 to WGS 84 (3)','Derived at IGN monument CFP19 using Transit. Can be implemented as a single 7-param Position Vector transformation with parameter values of dX=-156.5m dY=-87.2m dZ=+287.8m; rX=rY=0 rZ=+0.814sec; dS=-0.38ppm.','Oil exploration.','EPSG','4307','EPSG','4326','EPSG','2393',NULL,'CGG-Alg HM',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8563','NZGD49 to WGS 84 (3)','Assumes WGS 84 is coincident with NZGD2000. Accuracy about 1m.','Assumes WGS 84 is coincident with NZGD2000. Accuracy about 1m.','EPSG','4272','EPSG','4326','EPSG','1175',NULL,'OSG-Nzl 1m',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8564','NAD27(CGQ77) to WGS 84 (2)','','Approximation at the +/- 1m level assuming that NAD83(CSRS98) is equivalent to WGS 84.','EPSG','4609','EPSG','4326','EPSG','1368',NULL,'EPSG-Can Qc NT2',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8565','NAD27 to WGS 84 (31)','','Approximation at the +/- 1m level assuming that NAD83(CSRS98) is equivalent to WGS 84.','EPSG','4267','EPSG','4326','EPSG','1368',NULL,'EPSG-Can Que',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8566','NAD83 to WGS 84 (6)','','Approximation at the +/- 1m level assuming that NAD83(CSRS98) is equivalent to WGS 84.','EPSG','4269','EPSG','4326','EPSG','1368',NULL,'EPSG-Can Qc',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8568','Deir ez Zor to WGS 84 (1)','Can be implemented as a position vector tfm with param. values dX=-174.6 dY=-3.1 dZ=238.1m; rX=rY=0 rZ=0.814"; dS=-0.38 ppm.','Oil exploration','EPSG','4227','EPSG','4326','EPSG','2329',NULL,'EPSG-Syr',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8569','ED50 to WGS 84 (21)','Included in Statens Kartverk programme wsktrans between 1997 (v3.1) and 2001 (v4.0). Replaced by ED50 to WGS 84 (23) (code 1612) in April 2001.','Oil exploration before 1997/2001.','EPSG','4230','EPSG','4326','EPSG','2332',NULL,'EPSG-Nor N65 1997',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8571','Accra to WGS 84 (2)','Can be implemented as a position vector tfm dX=-171.16 dY=17.29 dZ=325.21m, rX=rY=0 rZ=0.814", dS=-0.38 ppm. See tfm code 15495. Found in use within oil industry erroneously concatenated as dX=-171.16 dY=17.29 dZ=327.81m, rX=rY0 rZ=0.554", dS=0.2263 ppm.','Oil industry.','EPSG','4168','EPSG','4326','EPSG','1505',NULL,'EPSG-Gha',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8572','Amersfoort to WGS 84 (2)','Parameter values for step 1 from Amersfoort to ETRS89 (2) (code 1751). Step 2 assumes that ETRS89 is equivalent to WGS 84 within the accuracy of the transformation. Supersedes Amersfoort to WGS 84 (1) (code 1112).','Approximation at the +/- 1m level assuming that ETRS89 is equivalent to WGS 84.','EPSG','4289','EPSG','4326','EPSG','1275',NULL,'EPSG-Nld',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8573','RGF93 to WGS 84 (1)','','Approximation at the +/- 1m level assuming that ETRS89 is equivalent to WGS 84.','EPSG','4171','EPSG','4326','EPSG','1096',NULL,'EPSG-Fra',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8574','American Samoa 1962 to WGS 84 (2)','Transformation actually to NAD83(HARN), but for many purposes NAD83(HARNS) can be considered to be coincident with WGS 84.','Transformation actually to NAD83(HARN), but for many purposes NAD83(HARN) can be considered to be coincident with WGS 84.','EPSG','4169','EPSG','4326','EPSG','2288',NULL,'EPSG-Asm',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8575','American Samoa 1962 to WGS 84 (3)','Transformation actually to NAD83(HARN), but for many purposes NAD83(HARNS) can be considered to be coincident with WGS 84.','Transformation actually to NAD83(HARN), but for many purposes NAD83(HARN) can be considered to be coincident with WGS 84.','EPSG','4169','EPSG','4326','EPSG','2289',NULL,'EPSG-Asm',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8576','AGD66 to WGS 84 (9)','Approximation at the +/- 1m level assuming that GDA94 is equivalent to WGS 84. Supersedes AGD66 to WGS 84 (4) (code 8398).','Approximation at the +/- 1m level assuming that GDA94 is equivalent to WGS 84.','EPSG','4202','EPSG','4326','EPSG','1282',NULL,'EPSG-Aus Tas 1m',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8577','AGD66 to WGS 84 (10)','Approximation at the +/- 1m level assuming that GDA94 is equivalent to WGS 84.','Approximation at the +/- 1m level assuming that GDA94 is equivalent to WGS 84.','EPSG','4202','EPSG','4326','EPSG','2284',NULL,'EPSG-Aus NT',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8578','AGD66 to WGS 84 (11)','Approximation at the +/- 1m level assuming that GDA94 is equivalent to WGS 84. Supersedes AGD66 to WGS 84 (3) (code 8396) and AGD66 to WGS 84 (6) (code 8408).','Approximation at the +/- 1m level assuming that GDA94 is equivalent to WGS 84.','EPSG','4202','EPSG','4326','EPSG','2287',NULL,'EPSG-Aus',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8579','AGD84 to WGS 84 (6)','Approximation at the +/- 1m level assuming that GDA94 is equivalent to WGS 84. Supersedes AGD84 to WGS 84 (5) (code 8560).','Approximation at the +/- 1m level assuming that GDA94 is equivalent to WGS 84.','EPSG','4203','EPSG','4326','EPSG','1280',NULL,'EPSG-Aus WA',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8580','IRENET95 to WGS 84 (1)','Approximation at the +/- 1m level assuming that ETRS89 is equivalent to WGS 84.','Approximation at the +/- 1m level assuming that ETRS89 is equivalent to WGS 84.','EPSG','4173','EPSG','4326','EPSG','1305',NULL,'OSI-Ire',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8581','PSD93 to WGS 84 (2)','Replaced by PSD93 to WGS 84 (1) (code 1439) in 1997. Can be implemented as a position vector tfm with parameter values dX= -182.046 dY= -225.604 dZ=+173.384m rX= -0.616 rY= -1.655 rZ=+8.378" dS=16.8673ppm.','Oil exploration.','EPSG','4134','EPSG','4326','EPSG','3288',NULL,'PDO-Omn 93',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8582','Old Hawaiian to WGS 84 (2)','Transformation steps are from Old Hawaiian to NAD83(HARN) (1) (code 8508) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4135','EPSG','4326','EPSG','1334',NULL,'EPSG-Usa Hi',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8583','Puerto Rico to WGS 84 (2)','Transformation steps are from Puerto Rico to NAD83(HARN) (1) (code 4435) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4139','EPSG','4326','EPSG','3634',NULL,'EPSG-PRVI',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8584','NAD27 to NAD83(CSRS98) (3)','Can be taken as an approximate transformation NAD27 to WGS 84 - see code 8585.','Accuracy 1-2 metres.','EPSG','4267','EPSG','4140','EPSG','2376',NULL,'EPSG-Can AB',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8585','NAD27 to WGS 84 (36)','Steps based on concatenated transformation NAD27 to NAD83(CSRS) (3) (code 8635) assuming that NAD83(CSRS) is equivalent to WGS 84.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','2376',NULL,'EPSG-Can AB',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8586','NAD27 to NAD83(HARN) (38)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8592.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','1374',NULL,'NGS-Usa AR',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8587','NAD27 to NAD83(HARN) (39)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8600.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','1384',NULL,'NGS-Usa IA',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8588','NAD27 to NAD83(HARN) (40)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8608.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','1392',NULL,'NGS-Usa MN',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8589','NAD27 to NAD83(HARN) (41)','May be taken as approximate transformation NAD27 to WGS 84 - see code 8610.','Accuracy at 67% confidence level is 0.2m.','EPSG','4267','EPSG','4152','EPSG','1394',NULL,'NGS-Usa MO',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8590','NAD27 to WGS 84 (37)','Transformation steps are from NAD27 to NAD83(HARN) (1) (code 8460) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1372',NULL,'EPSG-Usa AL',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8591','NAD27 to WGS 84 (38)','Transformation steps are from NAD27 to NAD83(HARN) (2) (code 8461) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1373',NULL,'EPSG-Usa AZ',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8592','NAD27 to WGS 84 (39)','Transformation steps are from NAD27 to NAD83(HARN) (38) (code 8586) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1374',NULL,'EPSG-Usa AR',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8593','NAD27 to WGS 84 (40)','Transformation steps are from NAD27 to NAD83(HARN) (3) (code 8462) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','2297',NULL,'EPSG-Usa CA n',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8594','NAD27 to WGS 84 (41)','Transformation steps are from NAD27 to NAD83(HARN) (4) (code 8463) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','2298',NULL,'EPSG-Usa CA s',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8595','NAD27 to WGS 84 (42)','Transformation steps are from NAD27 to NAD83(HARN) (5) (code 8464) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1376',NULL,'EPSG-Usa CO',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8596','NAD27 to WGS 84 (43)','Transformation steps are from NAD27 to NAD83(HARN) (7) (code 8466) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1379',NULL,'EPSG-Usa FL',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8597','NAD27 to WGS 84 (44)','Transformation steps are from NAD27 to NAD83(HARN) (6) (code 8465) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1380',NULL,'EPSG-Usa GA',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8598','NAD27 to WGS 84 (45)','Transformation steps are from NAD27 to NAD83(HARN) (36) (code 8553) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1382',NULL,'EPSG-Usa IL',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8599','NAD27 to WGS 84 (46)','Transformation steps are from NAD27 to NAD83(HARN) (30) (code 8509) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1383',NULL,'EPSG-Usa IN',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8600','NAD27 to WGS 84 (47)','Transformation steps are from NAD27 to NAD83(HARN) (39) (code 8587) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1384',NULL,'EPSG-Usa IA',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8601','NAD27 to WGS 84 (48)','Transformation steps are from NAD27 to NAD83(HARN) (31) (code 8510) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1385',NULL,'EPSG-Usa KS',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8602','NAD27 to WGS 84 (49)','Transformation steps are from NAD27 to NAD83(HARN) (10) (code 8469) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1386',NULL,'EPSG-Usa KY',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8603','NAD27 to WGS 84 (50)','Transformation steps are from NAD27 to NAD83(HARN) (11) (code 8470) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1387',NULL,'EPSG-Usa LA',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8604','NAD27 to WGS 84 (51)','Transformation steps are from NAD27 to NAD83(HARN) (13) (code 8472) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1388',NULL,'EPSG-Usa ME',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8605','NAD27 to WGS 84 (52)','Transformation steps are from NAD27 to NAD83(HARN) (12) (code 8471) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','2377',NULL,'EPSG-Usa DE MD',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8606','NAD27 to WGS 84 (53)','Transformation steps are from NAD27 to NAD83(HARN) (17) (code 8476) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','2378',NULL,'EPSG-Usa NewEng',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8607','NAD27 to WGS 84 (54)','Transformation steps are from NAD27 to NAD83(HARN) (14) (code 8473) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1391',NULL,'EPSG-Usa MI',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8608','NAD27 to WGS 84 (55)','Transformation steps are from NAD27 to NAD83(HARN) (40) (code 8588) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1392',NULL,'EPSG-Usa MN',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8609','NAD27 to WGS 84 (56)','Transformation steps are from NAD27 to NAD83(HARN) (15) (code 8474) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1393',NULL,'EPSG-Usa MS',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8610','NAD27 to WGS 84 (57)','Transformation steps are from NAD27 to NAD83(HARN) (41) (code 8589) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1394',NULL,'EPSG-Usa MO',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8611','NAD27 to WGS 84 (58)','Transformation steps are from NAD27 to NAD83(HARN) (8) (code 8467) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','2382',NULL,'EPSG-Usa ID MT e',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8612','NAD27 to WGS 84 (59)','Transformation steps are from NAD27 to NAD83(HARN) (9) (code 8468) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','2383',NULL,'EPSG-Usa ID MT w',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8613','NAD27 to WGS 84 (60)','Transformation steps are from NAD27 to NAD83(HARN) (16) (code 8475) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1396',NULL,'EPSG-Usa NE',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8614','NAD27 to WGS 84 (61)','Transformation steps are from NAD27 to NAD83(HARN) (32) (code 8511) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1397',NULL,'EPSG-Usa NV',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8615','NAD27 to WGS 84 (62)','Transformation steps are from NAD27 to NAD83(HARN) (37) (code 8554) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1399',NULL,'EPSG-Usa NJ',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8616','NAD27 to WGS 84 (63)','Transformation steps are from NAD27 to NAD83(HARN) (18) (code 8477) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1400',NULL,'EPSG-Usa NM',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8617','NAD27 to WGS 84 (64)','Transformation steps are from NAD27 to NAD83(HARN) (19) (code 8478) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1401',NULL,'EPSG-Usa NY',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8618','NAD27 to WGS 84 (65)','Transformation steps are from NAD27 to NAD83(HARN) (20) (code 8479) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1403',NULL,'EPSG-Usa ND',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8619','NAD27 to WGS 84 (66)','Transformation steps are from NAD27 to NAD83(HARN) (33) (code 8512) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1404',NULL,'EPSG-Usa OH',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8620','NAD27 to WGS 84 (67)','Transformation steps are from NAD27 to NAD83(HARN) (21) (code 8480) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1405',NULL,'EPSG-Usa OK',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8621','NAD27 to WGS 84 (68)','Transformation steps are from NAD27 to NAD83(HARN) (27) (code 8487) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','2381',NULL,'EPSG-Usa OR WA',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8622','NAD27 to WGS 84 (69)','Transformation steps are from NAD27 to NAD83(HARN) (22) (code 6739) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1410',NULL,'EPSG-Usa SD',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8623','NAD27 to WGS 84 (70)','Transformation steps are from NAD27 to NAD83(HARN) (23) (code 8483) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1411',NULL,'EPSG-Usa TN',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8624','NAD27 to WGS 84 (71)','Transformation steps are from NAD27 to NAD83(HARN) (24) (code 8484) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','2379',NULL,'EPSG-Usa TX e',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8625','NAD27 to WGS 84 (72)','Transformation steps are from NAD27 to NAD83(HARN) (25) (code 8485) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','2380',NULL,'EPSG-Usa TX w',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8626','NAD27 to WGS 84 (73)','Transformation steps are from NAD27 to NAD83(HARN) (34) (code 8513) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1413',NULL,'EPSG-Usa UT',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8627','NAD27 to WGS 84 (74)','Transformation steps are from NAD27 to NAD83(HARN) (26) (code 8486) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1415',NULL,'EPSG-Usa VA',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8628','NAD27 to WGS 84 (75)','Transformation steps are from NAD27 to NAD83(HARN) (35) (code 8514) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1417',NULL,'EPSG-Usa WV',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8629','NAD27 to WGS 84 (76)','Transformation steps are from NAD27 to NAD83(HARN) (28) (code 8488) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1418',NULL,'EPSG-Usa WI',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8630','NAD27 to WGS 84 (77)','Transformation steps are from NAD27 to NAD83(HARN) (29) (code 8489) assuming that NAD83(HARN) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','4267','EPSG','4326','EPSG','1419',NULL,'EPSG-Usa WY',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8631','Garoua to WGS 84 (1)','','Oil industry.','EPSG','4197','EPSG','4326','EPSG','2590',NULL,'EPSG-Cmr',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8632','Kousseri to WGS 84 (1)','','Oil industry.','EPSG','4198','EPSG','4326','EPSG','2591',NULL,'EPSG-Cmr',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8633','Yoff to WGS 84 (1)','Derived via WGS72. Can be used as a single positon vector transformation with parameter vaues of dX = -37 m, dY = +157 m, dZ = +89.5 m, rX = rY = 0 sec, rZ = 0.554 sec, dS = 0.219 ppm','Military purposes.','EPSG','4310','EPSG','4326','EPSG','1207',NULL,'EPSG-SEN',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8634','Beduaram to WGS 84 (1)','Derived via WGS72BE. Can be used as a single positon vector transformation with parameter vaues of dX = -101 m, dY = -111 m, dZ = +188.9 m, rX = rY = 0 sec, rZ = 0.814 sec, dS = -0.38 ppm','Oil exploration.','EPSG','4213','EPSG','4326','EPSG','2771',NULL,'ELF-Ner SE',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8635','NAD27 to NAD83(CSRS) (3)','Can be taken as an approximate transformation NAD27 to WGS 84 - see code 8585.','Accuracy 1-2 metres.','EPSG','4267','EPSG','4617','EPSG','2376',NULL,'EPSG-Can AB',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8636','Carthage (Paris) to WGS 84 (1)','','For military purposes.','EPSG','4816','EPSG','4326','EPSG','1618',NULL,'EPSG-Tun',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8637','Lisbon (Lisbon) to WGS 84 (1)','','For applications to an accuracy of 2 metres.','EPSG','4803','EPSG','4326','EPSG','1294',NULL,'EPSG-Prt',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8638','Makassar (Jakarta) to WGS 84 (1)','','Oil exploration.','EPSG','4804','EPSG','4326','EPSG','1316',NULL,'EPSG - Idn Sul SW',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8639','NGO 1948 (Oslo) to WGS 84 (1)','','For military purposes.','EPSG','4817','EPSG','4326','EPSG','1352',NULL,'EPSG-Nor',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8640','Nord Sahara 1959 (Paris) to WGS 84 (1)','','For military purposes.','EPSG','4819','EPSG','4326','EPSG','1026',NULL,'EPSG-Dza',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8641','Segara (Jakarta) to WGS 84 (1)','','Accuracy estimate not available.','EPSG','4820','EPSG','4326','EPSG','1360',NULL,'EPSG-Idn Kal SW',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8642','S-JTSK (Ferro) to WGS 84 (1)','Replaced by S-JTSK (Ferro) to WGS 84 (3) (code 5242) in 2009.','For applications to an accuracy of 1 metre.','EPSG','4818','EPSG','4326','EPSG','1079',NULL,'EPSG-Cze',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8643','Greek to WGS 84 (1)','','5m accuracy','EPSG','4120','EPSG','4326','EPSG','3254',NULL,'EPSG-Grc',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8644','Greek (Athens) to WGS 84 (1)','','5m accuracy.','EPSG','4815','EPSG','4326','EPSG','3254',NULL,'EPSG-Grc',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8645','MGI (Ferro) to WGS 84 (2)','','2m accuracy','EPSG','4805','EPSG','4326','EPSG','1037',NULL,'BEV-Aut',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8646','Manoca 1962 to WGS 84 (1)','Derived via WGS72BE. Can be used as a single positon vector transformation with parameter vaues of dX = -56.7 m, dY = -171.8 m, dZ = -40.6 m, rX = rY = 0 sec, rZ = 0.814 sec, dS = -0.38 ppm','Oil exploration','EPSG','4193','EPSG','4326','EPSG','2555',NULL,'OGP-Cmr',1);
INSERT INTO "concatenated_operation" VALUES('EPSG','8647','NAD27 to WGS 84 (78)','','Oil industry operations.','EPSG','4267','EPSG','4326','EPSG','2831',NULL,'EPSG-Can E Off',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8648','Lisbon 1890 (Lisbon) to WGS 84 (1)','','Low accuracy applications.','EPSG','4904','EPSG','4326','EPSG','1294',NULL,'EPSG-Prt 5m',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8649','Lisbon 1890 (Lisbon) to WGS 84 (2)','','Medium accuracy applications.','EPSG','4904','EPSG','4326','EPSG','1294',NULL,'EPSG-Prt 1m',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8650','Palestine 1923 to WGS 84 (2)','Can be implemented as a geocentric translation tfm with param. values dX = -229m, dY = -67m, dZ= +277m.','Accuracy: 1m to north and 10m to south of east-west line through Beersheba (31°15''N).','EPSG','4281','EPSG','4326','EPSG','2603',NULL,'SoI-Isr',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8651','Vientiane 1982 to WGS 84 (1)','Can be implemented as a geocentric translation tfm with param. values dX = 42.358m, dY = -124.688m, dZ= -37.366m.','Accuracy: 5m.','EPSG','4676','EPSG','4326','EPSG','1138',NULL,'EPSG-Lao',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8652','Lao 1993 to WGS 84 (1)','Can be implemented as a geocentric translation tfm with param. values dX = 43.933m, dY = -129.593m, dZ= -39.331m.','Accuracy: 5m.','EPSG','4677','EPSG','4326','EPSG','1138',NULL,'EPSG-Lao',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8655','Manoca 1962 to WGS 84 (2)','Derived via WGS 72BE. Can be implemented as a single positon vector transformation with parameter vaues of dX = -56.7 m, dY = -171.8 m, dZ = -38.7 m, rX = rY = 0 sec, rZ = 0.814 sec, dS = -0.38 ppm.','Oil exploration','EPSG','4193','EPSG','4326','EPSG','2555',NULL,'OGP-Cmr',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8656','Mhast (offshore) to WGS 84 (1)','Derived via WGS 72BE. Can be implemented as a single positon vector transformation with parameter vaues of dX = -255.0 m, dY = -29.0 m, dZ = -103.1 m, rX = rY = 0 sec, rZ = 0.814 sec, dS = -0.38 ppm.','Oil industry exploration and production between 1979 and 1987.','EPSG','4705','EPSG','4326','EPSG','3180',NULL,'OGP-Ago Cab',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8657','Egypt Gulf of Suez S-650 TL to WGS 84 (1)','Can be implemented as a single positon vector transformation with parameter vaues of dX = -123.0 m, dY = 98.0 m, dZ = 3.9 m, rX = rY = 0 sec, rZ = 0.814 sec, dS = -0.38 ppm. Replaced by Egypt Gulf of Suez S-650 TL to WGS 84 (2) (tfm code 15846).','Oil industry exploration and production between 1980 and 1984.','EPSG','4706','EPSG','4326','EPSG','2341',NULL,'OGP-Egy GoS',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','8659','Kertau (RSO) to WGS 84 (1)','Step 1 is necessary to rescale the grid units before using step 2.','For transformation of MRT68 RSO coordinates.','EPSG','4751','EPSG','4326','EPSG','1309',NULL,'OGP-Mys',0);
INSERT INTO "concatenated_operation" VALUES('EPSG','9103','NAD27 to ITRF2014 (1)','For use with legacy data - see CT code 9104 for alternative for new areas. Note that steps 1 and 2 are documented in the geog2D domain, steps 3 and 4 in the geocentric domain. Steps 3 and 4 may be implemented in one operation using CT code 8970.','Oil and gas exploration and production.','EPSG','4267','EPSG','7789','EPSG','3357',NULL,'IOGP-Usa GoM legacy',0);
+427
View File
@@ -0,0 +1,427 @@
--- This file has been generated by scripts/build_db.py. DO NOT EDIT !
INSERT INTO "concatenated_operation_step" VALUES('EPSG','3896',1,'EPSG','3895');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','3896',2,'EPSG','1618');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','3966',1,'EPSG','3913');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','3966',2,'EPSG','3962');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','4435',1,'EPSG','1461');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','4435',2,'EPSG','1495');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','4837',1,'EPSG','1672');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','4837',2,'EPSG','1311');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','5190',1,'EPSG','5134');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','5190',2,'EPSG','5189');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','5192',1,'EPSG','5134');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','5192',2,'EPSG','5191');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','5230',1,'EPSG','1884');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','5230',2,'EPSG','4836');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','5240',1,'EPSG','5238');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','5240',2,'EPSG','5227');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','5242',1,'EPSG','1884');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','5242',2,'EPSG','5239');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','5838',1,'EPSG','1756');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','5838',2,'EPSG','1988');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','6714',1,'EPSG','6712');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','6714',2,'EPSG','6713');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','6739',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','6739',2,'EPSG','1496');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','6874',1,'EPSG','1265');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','6874',2,'EPSG','6873');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','7811',1,'EPSG','1763');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','7811',2,'EPSG','15958');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','7965',1,'EPSG','7963');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','7965',2,'EPSG','7964');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','7967',1,'EPSG','7963');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','7967',2,'EPSG','7966');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','7973',1,'EPSG','7972');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','7973',2,'EPSG','7969');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','7974',1,'EPSG','7972');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','7974',2,'EPSG','7970');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','7975',1,'EPSG','7972');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','7975',2,'EPSG','7971');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','7983',1,'EPSG','7982');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','7983',2,'EPSG','7977');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','7986',1,'EPSG','7980');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','7986',2,'EPSG','7984');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','7987',1,'EPSG','7980');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','7987',2,'EPSG','7984');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','7987',3,'EPSG','7985');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8047',1,'EPSG','1147');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8047',2,'EPSG','1146');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8094',1,'EPSG','1763');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8094',2,'EPSG','1193');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8174',1,'EPSG','1755');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8174',2,'EPSG','1125');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8175',1,'EPSG','1262');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8175',2,'EPSG','1169');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8176',1,'EPSG','1265');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8176',2,'EPSG','1227');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8178',1,'EPSG','1759');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8178',2,'EPSG','1123');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8183',1,'EPSG','1273');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8183',2,'EPSG','1149');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8186',1,'EPSG','1763');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8186',2,'EPSG','1276');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8188',1,'EPSG','1763');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8188',2,'EPSG','1277');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8190',1,'EPSG','1278');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8190',2,'EPSG','1150');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8192',1,'EPSG','1279');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8192',2,'EPSG','1150');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8194',1,'EPSG','1280');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8194',2,'EPSG','1150');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8195',1,'EPSG','1437');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8195',2,'EPSG','1149');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8199',1,'EPSG','1274');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8199',2,'EPSG','1283');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8211',1,'EPSG','1266');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8211',2,'EPSG','1294');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8215',1,'EPSG','1297');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8215',2,'EPSG','1302');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8217',1,'EPSG','1298');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8217',2,'EPSG','1302');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8219',1,'EPSG','1299');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8219',2,'EPSG','1302');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8221',1,'EPSG','1300');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8221',2,'EPSG','1302');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8223',1,'EPSG','1301');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8223',2,'EPSG','1302');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8234',1,'EPSG','1309');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8234',2,'EPSG','1149');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8236',1,'EPSG','1310');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8236',2,'EPSG','1149');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8243',1,'EPSG','1312');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8243',2,'EPSG','1188');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8245',1,'EPSG','1313');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8245',2,'EPSG','1188');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8263',1,'EPSG','1757');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8263',2,'EPSG','1306');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8363',1,'EPSG','8361');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8363',2,'EPSG','8362');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8386',1,'EPSG','1454');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8386',2,'EPSG','1188');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8388',1,'EPSG','1455');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8388',2,'EPSG','1188');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8390',1,'EPSG','1456');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8390',2,'EPSG','1188');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8392',1,'EPSG','1457');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8392',2,'EPSG','1188');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8394',1,'EPSG','1451');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8394',2,'EPSG','1188');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8396',1,'EPSG','1458');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8396',2,'EPSG','1150');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8398',1,'EPSG','1459');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8398',2,'EPSG','1150');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8400',1,'EPSG','1460');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8400',2,'EPSG','1150');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8402',1,'EPSG','1461');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8402',2,'EPSG','1188');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8404',1,'EPSG','1462');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8404',2,'EPSG','1188');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8406',1,'EPSG','1463');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8406',2,'EPSG','1188');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8408',1,'EPSG','1464');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8408',2,'EPSG','1150');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8418',1,'EPSG','1472');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8418',2,'EPSG','1473');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8419',1,'EPSG','1599');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8419',2,'EPSG','1473');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8420',1,'EPSG','1600');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8420',2,'EPSG','1473');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8421',1,'EPSG','1601');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8421',2,'EPSG','1473');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8422',1,'EPSG','1602');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8422',2,'EPSG','1473');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8442',1,'EPSG','8365');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8442',2,'EPSG','8364');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8443',1,'EPSG','8364');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8443',2,'EPSG','8367');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8453',1,'EPSG','1506');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8453',2,'EPSG','1150');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8454',1,'EPSG','1507');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8454',2,'EPSG','1150');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8457',1,'EPSG','1509');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8457',2,'EPSG','1511');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8460',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8460',2,'EPSG','1474');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8461',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8461',2,'EPSG','1475');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8462',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8462',2,'EPSG','1476');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8463',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8463',2,'EPSG','1477');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8464',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8464',2,'EPSG','1478');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8465',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8465',2,'EPSG','1479');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8466',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8466',2,'EPSG','1480');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8467',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8467',2,'EPSG','1481');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8468',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8468',2,'EPSG','1482');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8469',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8469',2,'EPSG','1483');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8470',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8470',2,'EPSG','1484');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8471',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8471',2,'EPSG','1485');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8472',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8472',2,'EPSG','1486');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8473',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8473',2,'EPSG','1487');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8474',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8474',2,'EPSG','1488');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8475',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8475',2,'EPSG','1489');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8476',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8476',2,'EPSG','1490');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8477',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8477',2,'EPSG','1491');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8478',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8478',2,'EPSG','1492');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8479',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8479',2,'EPSG','1493');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8480',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8480',2,'EPSG','1494');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8481',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8481',2,'EPSG','1495');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8482',1,'EPSG','1747');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8482',2,'EPSG','1496');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8483',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8483',2,'EPSG','1497');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8484',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8484',2,'EPSG','1498');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8485',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8485',2,'EPSG','1499');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8486',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8486',2,'EPSG','1500');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8487',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8487',2,'EPSG','1501');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8488',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8488',2,'EPSG','1502');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8489',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8489',2,'EPSG','1503');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8496',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8496',2,'EPSG','1515');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8497',1,'EPSG','1243');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8497',2,'EPSG','1515');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8508',1,'EPSG','1454');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8508',2,'EPSG','1520');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8509',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8509',2,'EPSG','1521');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8510',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8510',2,'EPSG','1522');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8511',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8511',2,'EPSG','1523');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8512',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8512',2,'EPSG','1524');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8513',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8513',2,'EPSG','1525');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8514',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8514',2,'EPSG','1526');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8517',1,'EPSG','1528');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8517',2,'EPSG','1527');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8530',1,'EPSG','1539');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8530',2,'EPSG','1540');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8532',1,'EPSG','1541');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8532',2,'EPSG','1240');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8537',1,'EPSG','1545');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8537',2,'EPSG','1237');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8553',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8553',2,'EPSG','1553');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8554',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8554',2,'EPSG','1554');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8560',1,'EPSG','1559');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8560',2,'EPSG','1150');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8562',1,'EPSG','1560');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8562',2,'EPSG','1240');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8563',1,'EPSG','1568');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8563',2,'EPSG','1565');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8564',1,'EPSG','1576');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8564',2,'EPSG','1473');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8565',1,'EPSG','1574');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8565',2,'EPSG','1188');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8566',1,'EPSG','1572');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8566',2,'EPSG','1188');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8568',1,'EPSG','1584');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8568',2,'EPSG','1240');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8569',1,'EPSG','1588');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8569',2,'EPSG','1149');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8571',1,'EPSG','1570');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8571',2,'EPSG','1240');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8572',1,'EPSG','1571');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8572',2,'EPSG','1149');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8573',1,'EPSG','1591');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8573',2,'EPSG','1149');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8574',1,'EPSG','1578');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8574',2,'EPSG','1580');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8575',1,'EPSG','1579');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8575',2,'EPSG','1580');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8576',1,'EPSG','1594');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8576',2,'EPSG','1150');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8577',1,'EPSG','1595');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8577',2,'EPSG','1150');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8578',1,'EPSG','1596');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8578',2,'EPSG','1150');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8579',1,'EPSG','1593');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8579',2,'EPSG','1150');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8580',1,'EPSG','1611');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8580',2,'EPSG','1149');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8581',1,'EPSG','1616');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8581',2,'EPSG','1237');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8582',1,'EPSG','1454');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8582',2,'EPSG','1741');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8583',1,'EPSG','1461');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8583',2,'EPSG','1731');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8584',1,'EPSG','1313');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8584',2,'EPSG','1752');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8585',1,'EPSG','1313');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8585',2,'EPSG','1702');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8586',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8586',2,'EPSG','1704');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8587',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8587',2,'EPSG','1705');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8588',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8588',2,'EPSG','1706');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8589',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8589',2,'EPSG','1707');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8590',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8590',2,'EPSG','1717');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8591',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8591',2,'EPSG','1728');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8592',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8592',2,'EPSG','1708');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8593',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8593',2,'EPSG','1739');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8594',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8594',2,'EPSG','1750');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8595',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8595',2,'EPSG','1712');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8596',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8596',2,'EPSG','1714');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8597',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8597',2,'EPSG','1713');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8598',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8598',2,'EPSG','1748');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8599',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8599',2,'EPSG','1742');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8600',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8600',2,'EPSG','1709');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8601',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8601',2,'EPSG','1743');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8602',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8602',2,'EPSG','1718');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8603',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8603',2,'EPSG','1719');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8604',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8604',2,'EPSG','1721');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8605',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8605',2,'EPSG','1720');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8606',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8606',2,'EPSG','1725');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8607',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8607',2,'EPSG','1722');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8608',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8608',2,'EPSG','1710');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8609',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8609',2,'EPSG','1723');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8610',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8610',2,'EPSG','1711');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8611',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8611',2,'EPSG','1715');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8612',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8612',2,'EPSG','1716');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8613',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8613',2,'EPSG','1724');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8614',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8614',2,'EPSG','1744');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8615',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8615',2,'EPSG','1749');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8616',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8616',2,'EPSG','1726');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8617',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8617',2,'EPSG','1727');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8618',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8618',2,'EPSG','1729');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8619',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8619',2,'EPSG','1745');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8620',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8620',2,'EPSG','1730');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8621',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8621',2,'EPSG','1737');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8622',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8622',2,'EPSG','1732');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8623',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8623',2,'EPSG','1733');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8624',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8624',2,'EPSG','1734');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8625',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8625',2,'EPSG','1735');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8626',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8626',2,'EPSG','1746');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8627',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8627',2,'EPSG','1736');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8628',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8628',2,'EPSG','1747');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8629',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8629',2,'EPSG','1738');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8630',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8630',2,'EPSG','1740');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8631',1,'EPSG','1805');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8631',2,'EPSG','1240');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8632',1,'EPSG','1806');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8632',2,'EPSG','1240');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8633',1,'EPSG','1828');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8633',2,'EPSG','1238');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8634',1,'EPSG','1839');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8634',2,'EPSG','1240');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8635',1,'EPSG','1313');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8635',2,'EPSG','1849');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8636',1,'EPSG','1881');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8636',2,'EPSG','1130');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8637',1,'EPSG','1756');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8637',2,'EPSG','1944');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8638',1,'EPSG','1260');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8638',2,'EPSG','1837');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8639',1,'EPSG','1762');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8639',2,'EPSG','1654');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8640',1,'EPSG','1882');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8640',2,'EPSG','1253');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8641',1,'EPSG','1883');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8641',2,'EPSG','1897');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8642',1,'EPSG','1884');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8642',2,'EPSG','1623');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8643',1,'EPSG','1891');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8643',2,'EPSG','1272');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8644',1,'EPSG','1761');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8644',2,'EPSG','1891');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8644',3,'EPSG','1272');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8645',1,'EPSG','1757');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8645',2,'EPSG','1618');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8646',1,'EPSG','1902');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8646',2,'EPSG','1240');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8647',1,'EPSG','1313');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8647',2,'EPSG','1950');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8647',3,'EPSG','1946');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8648',1,'EPSG','1991');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8648',2,'EPSG','1986');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8649',1,'EPSG','1991');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8649',2,'EPSG','1990');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8650',1,'EPSG','1071');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8650',2,'EPSG','1073');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8651',1,'EPSG','1063');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8651',2,'EPSG','1065');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8652',1,'EPSG','1064');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8652',2,'EPSG','1065');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8655',1,'EPSG','1902');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8655',2,'EPSG','1240');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8656',1,'EPSG','15790');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8656',2,'EPSG','1240');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8657',1,'EPSG','15792');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8657',2,'EPSG','1240');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8659',1,'EPSG','15896');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','8659',2,'EPSG','1158');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','9103',1,'EPSG','1241');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','9103',2,'EPSG','8971');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','9103',3,'EPSG','7807');
INSERT INTO "concatenated_operation_step" VALUES('EPSG','9103',4,'EPSG','7790');
+18 -22
View File
@@ -207,7 +207,7 @@ INSERT INTO "conversion" VALUES('EPSG','5889','JAXA Snow Depth Polar Stereograph
INSERT INTO "conversion" VALUES('EPSG','5892','Vietnam TM-3 zone 481',NULL,NULL,'EPSG','4193','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',102.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',0.9999,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "conversion" VALUES('EPSG','5893','Vietnam TM-3 zone 482',NULL,NULL,'EPSG','4215','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',105.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',0.9999,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "conversion" VALUES('EPSG','5894','Vietnam TM-3 zone 491',NULL,NULL,'EPSG','4217','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',108.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',0.9999,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "conversion" VALUES('EPSG','5895','Vietnam TM-3 Da Nang zone',NULL,NULL,'EPSG','4218','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9110','EPSG','8802','Longitude of natural origin',107.45,'EPSG','9110','EPSG','8805','Scale factor at natural origin',0.9999,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "conversion" VALUES('EPSG','5895','Vietnam TM-3 107-45',NULL,NULL,'EPSG','4218','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9110','EPSG','8802','Longitude of natural origin',107.45,'EPSG','9110','EPSG','8805','Scale factor at natural origin',0.9999,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "conversion" VALUES('EPSG','5901','EPSG Alaska Polar Stereographic',NULL,NULL,'EPSG','1996','EPSG','9810','Polar Stereographic (variant A)','EPSG','8801','Latitude of natural origin',90.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',-150.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',0.994,'EPSG','9201','EPSG','8806','False easting',2000000.0,'EPSG','9001','EPSG','8807','False northing',2000000.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "conversion" VALUES('EPSG','5902','EPSG Canada Polar Stereographic',NULL,NULL,'EPSG','1996','EPSG','9810','Polar Stereographic (variant A)','EPSG','8801','Latitude of natural origin',90.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',-100.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',0.994,'EPSG','9201','EPSG','8806','False easting',2000000.0,'EPSG','9001','EPSG','8807','False northing',2000000.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "conversion" VALUES('EPSG','5903','EPSG Greenland Polar Stereographic',NULL,NULL,'EPSG','1996','EPSG','9810','Polar Stereographic (variant A)','EPSG','8801','Latitude of natural origin',90.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',-33.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',0.994,'EPSG','9201','EPSG','8806','False easting',2000000.0,'EPSG','9001','EPSG','8807','False northing',2000000.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
@@ -739,15 +739,6 @@ INSERT INTO "conversion" VALUES('EPSG','7823','CS63 zone X6',NULL,NULL,'EPSG','4
INSERT INTO "conversion" VALUES('EPSG','7824','CS63 zone X7',NULL,NULL,'EPSG','4434','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.05,'EPSG','9110','EPSG','8802','Longitude of natural origin',41.3,'EPSG','9110','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',7300000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "conversion" VALUES('EPSG','7875','St. Helena Local Grid 1971',NULL,NULL,'EPSG','3183','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',-15.58,'EPSG','9110','EPSG','8802','Longitude of natural origin',-5.43,'EPSG','9110','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',300000.0,'EPSG','9001','EPSG','8807','False northing',2000000.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "conversion" VALUES('EPSG','7876','St. Helena Local Grid (Tritan)',NULL,NULL,'EPSG','3183','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',-15.58,'EPSG','9110','EPSG','8802','Longitude of natural origin',-5.43,'EPSG','9110','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',299483.737,'EPSG','9001','EPSG','8807','False northing',2000527.879,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "conversion" VALUES('EPSG','7963','Poolbeg height (ft(Br36)) to Poolbeg height (m)',NULL,NULL,'EPSG','1305','EPSG','1069','Change of Vertical Unit','EPSG','1051','Unit conversion scalar',0.3048007491,'EPSG','9201',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,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 "conversion" VALUES('EPSG','7972','NGVD29 height (ftUS) to NGVD29 height (m)',NULL,NULL,'EPSG','1323','EPSG','1069','Change of Vertical Unit','EPSG','1051','Unit conversion scalar',0.304800609601219,'EPSG','9201',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,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 "conversion" VALUES('EPSG','7978','NGVD29 height (ftUS) to NGVD29 depth (ftUS)',NULL,NULL,'EPSG','1323','EPSG','1068','Height Depth Reversal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,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 "conversion" VALUES('EPSG','7982','HKPD height to HKPD depth',NULL,NULL,'EPSG','3334','EPSG','1068','Height Depth Reversal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,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 "conversion" VALUES('EPSG','7984','KOC WD height to KOC WD depth',NULL,NULL,'EPSG','3267','EPSG','1068','Height Depth Reversal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,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 "conversion" VALUES('EPSG','7985','KOC WD depth to KOC WD depth (ft)',NULL,NULL,'EPSG','3267','EPSG','1069','Change of Vertical Unit','EPSG','1051','Unit conversion scalar',3.28083989501312,'EPSG','9201',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,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 "conversion" VALUES('EPSG','7988','NAVD88 height to NAVD88 height (ftUS)',NULL,NULL,'EPSG','3664','EPSG','1069','Change of Vertical Unit','EPSG','1051','Unit conversion scalar',3.28083333333333,'EPSG','9201',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,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 "conversion" VALUES('EPSG','7989','NAVD88 height to NAVD88 depth',NULL,NULL,'EPSG','4161','EPSG','1068','Height Depth Reversal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,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 "conversion" VALUES('EPSG','7990','NAVD88 height (ftUS) to NAVD88 depth (ftUS)',NULL,NULL,'EPSG','3664','EPSG','1068','Height Depth Reversal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,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 "conversion" VALUES('EPSG','7993','Albany Grid 2020',NULL,NULL,'EPSG','4439','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9110','EPSG','8802','Longitude of natural origin',117.53,'EPSG','9110','EPSG','8805','Scale factor at natural origin',1.0000044,'EPSG','9201','EPSG','8806','False easting',50000.0,'EPSG','9001','EPSG','8807','False northing',4100000.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "conversion" VALUES('EPSG','7994','Barrow Island Grid 2020',NULL,NULL,'EPSG','4438','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9110','EPSG','8802','Longitude of natural origin',115.15,'EPSG','9110','EPSG','8805','Scale factor at natural origin',1.0000022,'EPSG','9201','EPSG','8806','False easting',60000.0,'EPSG','9001','EPSG','8807','False northing',2700000.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "conversion" VALUES('EPSG','7995','Broome Grid 2020',NULL,NULL,'EPSG','4441','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9110','EPSG','8802','Longitude of natural origin',122.2,'EPSG','9110','EPSG','8805','Scale factor at natural origin',1.00000298,'EPSG','9201','EPSG','8806','False easting',50000.0,'EPSG','9001','EPSG','8807','False northing',2300000.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
@@ -770,15 +761,8 @@ INSERT INTO "conversion" VALUES('EPSG','8011','Perth Coastal Grid',NULL,NULL,'EP
INSERT INTO "conversion" VALUES('EPSG','8012','Port Hedland Grid 2020',NULL,NULL,'EPSG','4466','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9110','EPSG','8802','Longitude of natural origin',118.36,'EPSG','9110','EPSG','8805','Scale factor at natural origin',1.00000135,'EPSG','9201','EPSG','8806','False easting',50000.0,'EPSG','9001','EPSG','8807','False northing',2500000.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "conversion" VALUES('EPSG','8033','TM Zone 20N (US survey feet)',NULL,NULL,'EPSG','4467','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',-63.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',0.9996,'EPSG','9201','EPSG','8806','False easting',1640416.667,'EPSG','9003','EPSG','8807','False northing',0.0,'EPSG','9003',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "conversion" VALUES('EPSG','8034','TM Zone 21N (US survey feet)',NULL,NULL,'EPSG','4468','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',-57.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',0.9996,'EPSG','9201','EPSG','8806','False easting',1640416.667,'EPSG','9003','EPSG','8807','False northing',0.0,'EPSG','9003',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "conversion" VALUES('EPSG','8038','Instantaneous Water Level height to Instantaneous Water Level depth',NULL,NULL,'EPSG','1262','EPSG','1068','Height Depth Reversal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,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 "conversion" VALUES('EPSG','8039','MSL height to MSL depth',NULL,NULL,'EPSG','1262','EPSG','1068','Height Depth Reversal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,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 "conversion" VALUES('EPSG','8040','Gusterberg Grid',NULL,NULL,'EPSG','4455','EPSG','9806','Cassini-Soldner','EPSG','8801','Latitude of natural origin',48.021847,'EPSG','9110','EPSG','8802','Longitude of natural origin',31.481505,'EPSG','9110','EPSG','8806','False easting',0.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "conversion" VALUES('EPSG','8041','St. Stephen Grid',NULL,NULL,'EPSG','4456','EPSG','9806','Cassini-Soldner','EPSG','8801','Latitude of natural origin',48.123154,'EPSG','9110','EPSG','8802','Longitude of natural origin',34.022732,'EPSG','9110','EPSG','8806','False easting',0.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "conversion" VALUES('EPSG','8054','MSL height to MSL height (ft)',NULL,NULL,'EPSG','1262','EPSG','1069','Change of Vertical Unit','EPSG','1051','Unit conversion scalar',3.28083989501312,'EPSG','9201',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,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 "conversion" VALUES('EPSG','8055','MSL height to MSL height (ftUS)',NULL,NULL,'EPSG','1245','EPSG','1069','Change of Vertical Unit','EPSG','1051','Unit conversion scalar',3.28083333333333,'EPSG','9201',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,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 "conversion" VALUES('EPSG','8056','MSL depth to MSL depth (ft)',NULL,NULL,'EPSG','1262','EPSG','1069','Change of Vertical Unit','EPSG','1051','Unit conversion scalar',3.28083989501312,'EPSG','9201',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,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 "conversion" VALUES('EPSG','8057','MSL depth to MSL depth (ftUS)',NULL,NULL,'EPSG','1245','EPSG','1069','Change of Vertical Unit','EPSG','1051','Unit conversion scalar',3.28083333333333,'EPSG','9201',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,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 "conversion" VALUES('EPSG','8060','Baltic 1977 height to Baltic 1977 depth',NULL,NULL,'EPSG','2423','EPSG','1068','Height Depth Reversal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,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 "conversion" VALUES('EPSG','8061','Pima County zone 1 East (ft)',NULL,NULL,'EPSG','4472','EPSG','9815','Hotine Oblique Mercator (variant B)','EPSG','8811','Latitude of projection centre',32.15,'EPSG','9110','EPSG','8812','Longitude of projection centre',-111.24,'EPSG','9110','EPSG','8813','Azimuth of initial line',45.0,'EPSG','9102','EPSG','8814','Angle from Rectified to Skew Grid',45.0,'EPSG','9102','EPSG','8815','Scale factor on initial line',1.00011,'EPSG','9201','EPSG','8816','Easting at projection centre',160000.0,'EPSG','9002','EPSG','8817','Northing at projection centre',800000.0,'EPSG','9002',0);
INSERT INTO "conversion" VALUES('EPSG','8062','Pima County zone 2 Central (ft)',NULL,NULL,'EPSG','4460','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',31.15,'EPSG','9110','EPSG','8802','Longitude of natural origin',-112.1,'EPSG','9110','EPSG','8805','Scale factor at natural origin',1.00009,'EPSG','9201','EPSG','8806','False easting',1800000.0,'EPSG','9002','EPSG','8807','False northing',1000000.0,'EPSG','9002',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "conversion" VALUES('EPSG','8063','Pima County zone 3 West (ft)',NULL,NULL,'EPSG','4450','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',31.3,'EPSG','9110','EPSG','8802','Longitude of natural origin',-113.1,'EPSG','9110','EPSG','8805','Scale factor at natural origin',1.000055,'EPSG','9201','EPSG','8806','False easting',600000.0,'EPSG','9002','EPSG','8807','False northing',0.0,'EPSG','9002',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
@@ -786,7 +770,6 @@ INSERT INTO "conversion" VALUES('EPSG','8064','Pima County zone 4 Mt. Lemmon (ft
INSERT INTO "conversion" VALUES('EPSG','8080','MTM Nova Scotia zone 4 v2',NULL,NULL,'EPSG','1534','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9110','EPSG','8802','Longitude of natural origin',-61.3,'EPSG','9110','EPSG','8805','Scale factor at natural origin',0.9999,'EPSG','9201','EPSG','8806','False easting',24500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "conversion" VALUES('EPSG','8081','MTM Nova Scotia zone 5 v2',NULL,NULL,'EPSG','1535','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9110','EPSG','8802','Longitude of natural origin',-64.3,'EPSG','9110','EPSG','8805','Scale factor at natural origin',0.9999,'EPSG','9201','EPSG','8806','False easting',25500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "conversion" VALUES('EPSG','8087','Iceland Lambert 2016',NULL,NULL,'EPSG','1120','EPSG','9802','Lambert Conic Conformal (2SP)','EPSG','8821','Latitude of false origin',65.0,'EPSG','9110','EPSG','8822','Longitude of false origin',-19.0,'EPSG','9110','EPSG','8823','Latitude of 1st standard parallel',64.15,'EPSG','9110','EPSG','8824','Latitude of 2nd standard parallel',65.45,'EPSG','9110','EPSG','8826','Easting at false origin',2700000.0,'EPSG','9001','EPSG','8827','Northing at false origin',300000.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "conversion" VALUES('EPSG','8229','NAVD88 height to NAVD88 height (ft)',NULL,NULL,'EPSG','4464','EPSG','1069','Change of Vertical Unit','EPSG','1051','Unit conversion scalar',3.28083989501312,'EPSG','9201',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,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 "conversion" VALUES('EPSG','8273','Oregon Burns-Harper zone (meters)',NULL,NULL,'EPSG','4459','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',43.3,'EPSG','9110','EPSG','8802','Longitude of natural origin',-117.4,'EPSG','9110','EPSG','8805','Scale factor at natural origin',1.00014,'EPSG','9201','EPSG','8806','False easting',90000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "conversion" VALUES('EPSG','8274','Oregon Burns-Harper zone (International feet)',NULL,NULL,'EPSG','4459','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',43.3,'EPSG','9110','EPSG','8802','Longitude of natural origin',-117.4,'EPSG','9110','EPSG','8805','Scale factor at natural origin',1.00014,'EPSG','9201','EPSG','8806','False easting',295275.5906,'EPSG','9002','EPSG','8807','False northing',0.0,'EPSG','9002',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "conversion" VALUES('EPSG','8275','Oregon Canyon City-Burns zone (meters)',NULL,NULL,'EPSG','4465','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',43.3,'EPSG','9110','EPSG','8802','Longitude of natural origin',-119.0,'EPSG','9110','EPSG','8805','Scale factor at natural origin',1.00022,'EPSG','9201','EPSG','8806','False easting',20000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
@@ -825,10 +808,6 @@ INSERT INTO "conversion" VALUES('EPSG','8307','Oregon Warner Highway zone (meter
INSERT INTO "conversion" VALUES('EPSG','8308','Oregon Warner Highway zone (International feet)',NULL,NULL,'EPSG','4486','EPSG','9801','Lambert Conic Conformal (1SP)','EPSG','8801','Latitude of natural origin',42.3,'EPSG','9110','EPSG','8802','Longitude of natural origin',-120.0,'EPSG','9110','EPSG','8805','Scale factor at natural origin',1.000245,'EPSG','9201','EPSG','8806','False easting',131233.5958,'EPSG','9002','EPSG','8807','False northing',196850.3937,'EPSG','9002',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "conversion" VALUES('EPSG','8309','Oregon Willamette Pass zone (meters)',NULL,NULL,'EPSG','4488','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',43.0,'EPSG','9110','EPSG','8802','Longitude of natural origin',-122.0,'EPSG','9110','EPSG','8805','Scale factor at natural origin',1.000223,'EPSG','9201','EPSG','8806','False easting',20000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "conversion" VALUES('EPSG','8310','Oregon Willamette Pass zone (International feet)',NULL,NULL,'EPSG','4488','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',43.0,'EPSG','9110','EPSG','8802','Longitude of natural origin',-122.0,'EPSG','9110','EPSG','8805','Scale factor at natural origin',1.000223,'EPSG','9201','EPSG','8806','False easting',65616.7979,'EPSG','9002','EPSG','8807','False northing',0.0,'EPSG','9002',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "conversion" VALUES('EPSG','8354','Black Sea height to Black Sea depth',NULL,NULL,'EPSG','3251','EPSG','1068','Height Depth Reversal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,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 "conversion" VALUES('EPSG','8355','AIOC95 height to AIOC95 depth',NULL,NULL,'EPSG','2592','EPSG','1068','Height Depth Reversal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,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 "conversion" VALUES('EPSG','8356','Caspian height to Caspian depth',NULL,NULL,'EPSG','1291','EPSG','1068','Height Depth Reversal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,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 "conversion" VALUES('EPSG','8359','Baltic 1957 height to Baltic 1957 depth',NULL,NULL,'EPSG','1306','EPSG','1068','Height Depth Reversal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,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 "conversion" VALUES('EPSG','8373','NCRS Las Vegas zone (m)',NULL,NULL,'EPSG','4485','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',36.15,'EPSG','9110','EPSG','8802','Longitude of natural origin',-114.58,'EPSG','9110','EPSG','8805','Scale factor at natural origin',1.0001,'EPSG','9201','EPSG','8806','False easting',100000.0,'EPSG','9001','EPSG','8807','False northing',200000.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "conversion" VALUES('EPSG','8374','NCRS Las Vegas zone (ftUS)',NULL,NULL,'EPSG','4485','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',36.15,'EPSG','9110','EPSG','8802','Longitude of natural origin',-114.58,'EPSG','9110','EPSG','8805','Scale factor at natural origin',1.0001,'EPSG','9201','EPSG','8806','False easting',328083.3333,'EPSG','9003','EPSG','8807','False northing',656166.6667,'EPSG','9003',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "conversion" VALUES('EPSG','8375','NCRS Las Vegas high elevation zone (m)',NULL,NULL,'EPSG','4487','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',36.15,'EPSG','9110','EPSG','8802','Longitude of natural origin',-114.58,'EPSG','9110','EPSG','8805','Scale factor at natural origin',1.000135,'EPSG','9201','EPSG','8806','False easting',300000.0,'EPSG','9001','EPSG','8807','False northing',400000.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
@@ -860,6 +839,23 @@ INSERT INTO "conversion" VALUES('EPSG','8825','Idaho Transverse Mercator',NULL,N
INSERT INTO "conversion" VALUES('EPSG','8854','Equal Earth Greenwich',NULL,NULL,'EPSG','1262','EPSG','1078','Equal Earth','EPSG','8802','Longitude of natural origin',0.0,'EPSG','9102','EPSG','8806','False easting',0.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "conversion" VALUES('EPSG','8855','Equal Earth Americas',NULL,NULL,'EPSG','1262','EPSG','1078','Equal Earth','EPSG','8802','Longitude of natural origin',-90.0,'EPSG','9102','EPSG','8806','False easting',0.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "conversion" VALUES('EPSG','8856','Equal Earth Asia-Pacific',NULL,NULL,'EPSG','1262','EPSG','1078','Equal Earth','EPSG','8802','Longitude of natural origin',150.0,'EPSG','9102','EPSG','8806','False easting',0.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "conversion" VALUES('EPSG','9058','Vietnam TM-3 103-00',NULL,NULL,'EPSG','4541','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9110','EPSG','8802','Longitude of natural origin',103.0,'EPSG','9110','EPSG','8805','Scale factor at natural origin',0.9999,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "conversion" VALUES('EPSG','9190','NIWA Albers',NULL,NULL,'EPSG','3508','EPSG','9822','Albers Equal Area','EPSG','8821','Latitude of false origin',-40.0,'EPSG','9102','EPSG','8822','Longitude of false origin',175.0,'EPSG','9102','EPSG','8823','Latitude of 1st standard parallel',-30.0,'EPSG','9102','EPSG','8824','Latitude of 2nd standard parallel',-50.0,'EPSG','9102','EPSG','8826','Easting at false origin',0.0,'EPSG','9001','EPSG','8827','Northing at false origin',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "conversion" VALUES('EPSG','9192','Vietnam TM-3 104-00',NULL,NULL,'EPSG','4538','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9110','EPSG','8802','Longitude of natural origin',104.0,'EPSG','9110','EPSG','8805','Scale factor at natural origin',0.9999,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "conversion" VALUES('EPSG','9193','Vietnam TM-3 104-30',NULL,NULL,'EPSG','4545','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9110','EPSG','8802','Longitude of natural origin',104.3,'EPSG','9110','EPSG','8805','Scale factor at natural origin',0.9999,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "conversion" VALUES('EPSG','9194','Vietnam TM-3 104-45',NULL,NULL,'EPSG','4546','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9110','EPSG','8802','Longitude of natural origin',104.45,'EPSG','9110','EPSG','8805','Scale factor at natural origin',0.9999,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "conversion" VALUES('EPSG','9195','Vietnam TM-3 105-30',NULL,NULL,'EPSG','4548','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9110','EPSG','8802','Longitude of natural origin',105.3,'EPSG','9110','EPSG','8805','Scale factor at natural origin',0.9999,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "conversion" VALUES('EPSG','9196','Vietnam TM-3 105-45',NULL,NULL,'EPSG','4549','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9110','EPSG','8802','Longitude of natural origin',105.45,'EPSG','9110','EPSG','8805','Scale factor at natural origin',0.9999,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "conversion" VALUES('EPSG','9197','Vietnam TM-3 106-00',NULL,NULL,'EPSG','4550','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9110','EPSG','8802','Longitude of natural origin',106.0,'EPSG','9110','EPSG','8805','Scale factor at natural origin',0.9999,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "conversion" VALUES('EPSG','9198','Vietnam TM-3 106-15',NULL,NULL,'EPSG','4552','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9110','EPSG','8802','Longitude of natural origin',106.15,'EPSG','9110','EPSG','8805','Scale factor at natural origin',0.9999,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "conversion" VALUES('EPSG','9199','Vietnam TM-3 106-30',NULL,NULL,'EPSG','4553','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9110','EPSG','8802','Longitude of natural origin',106.3,'EPSG','9110','EPSG','8805','Scale factor at natural origin',0.9999,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "conversion" VALUES('EPSG','9200','Vietnam TM-3 107-00',NULL,NULL,'EPSG','4554','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9110','EPSG','8802','Longitude of natural origin',107.0,'EPSG','9110','EPSG','8805','Scale factor at natural origin',0.9999,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "conversion" VALUES('EPSG','9201','Vietnam TM-3 107-15',NULL,NULL,'EPSG','4556','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9110','EPSG','8802','Longitude of natural origin',107.15,'EPSG','9110','EPSG','8805','Scale factor at natural origin',0.9999,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "conversion" VALUES('EPSG','9202','Vietnam TM-3 107-30',NULL,NULL,'EPSG','4557','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9110','EPSG','8802','Longitude of natural origin',107.3,'EPSG','9110','EPSG','8805','Scale factor at natural origin',0.9999,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "conversion" VALUES('EPSG','9203','Vietnam TM-3 108-15',NULL,NULL,'EPSG','4559','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9110','EPSG','8802','Longitude of natural origin',108.15,'EPSG','9110','EPSG','8805','Scale factor at natural origin',0.9999,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "conversion" VALUES('EPSG','9204','Vietnam TM-3 108-30',NULL,NULL,'EPSG','4560','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9110','EPSG','8802','Longitude of natural origin',108.3,'EPSG','9110','EPSG','8805','Scale factor at natural origin',0.9999,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "conversion" VALUES('EPSG','9219','South Africa Basic Survey Unit Albers 25E',NULL,NULL,'EPSG','4567','EPSG','9822','Albers Equal Area','EPSG','8821','Latitude of false origin',-30.0,'EPSG','9102','EPSG','8822','Longitude of false origin',25.0,'EPSG','9102','EPSG','8823','Latitude of 1st standard parallel',-22.0,'EPSG','9102','EPSG','8824','Latitude of 2nd standard parallel',-38.0,'EPSG','9102','EPSG','8826','Easting at false origin',1400000.0,'EPSG','9001','EPSG','8827','Northing at false origin',1300000.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "conversion" VALUES('EPSG','9220','South Africa Basic Survey Unit Albers 44E',NULL,NULL,'EPSG','4568','EPSG','9822','Albers Equal Area','EPSG','8821','Latitude of false origin',-42.0,'EPSG','9102','EPSG','8822','Longitude of false origin',44.0,'EPSG','9102','EPSG','8823','Latitude of 1st standard parallel',-34.0,'EPSG','9102','EPSG','8824','Latitude of 2nd standard parallel',-50.0,'EPSG','9102','EPSG','8826','Easting at false origin',1200000.0,'EPSG','9001','EPSG','8827','Northing at false origin',1300000.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "conversion" VALUES('EPSG','10101','Alabama CS27 East zone',NULL,NULL,'EPSG','2154','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',30.3,'EPSG','9110','EPSG','8802','Longitude of natural origin',-85.5,'EPSG','9110','EPSG','8805','Scale factor at natural origin',0.99996,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9003','EPSG','8807','False northing',0.0,'EPSG','9003',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "conversion" VALUES('EPSG','10102','Alabama CS27 West zone',NULL,NULL,'EPSG','2155','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',30.0,'EPSG','9110','EPSG','8802','Longitude of natural origin',-87.3,'EPSG','9110','EPSG','8805','Scale factor at natural origin',0.999933333,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9003','EPSG','8807','False northing',0.0,'EPSG','9003',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "conversion" VALUES('EPSG','10131','SPCS83 Alabama East zone (meters)',NULL,NULL,'EPSG','2154','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',30.3,'EPSG','9110','EPSG','8802','Longitude of natural origin',-85.5,'EPSG','9110','EPSG','8805','Scale factor at natural origin',0.99996,'EPSG','9201','EPSG','8806','False easting',200000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
+49
View File
@@ -26,6 +26,17 @@ UPDATE grid_transformation SET interpolation_crs_auth_name = 'EPSG',
interpolation_crs_code = '4289'
WHERE auth_name = 'EPSG' AND code = '7001';
-- EPSG:1312 'NAD27 to NAD83 (3)' / NTv1_0.gsb has a accuracy of 1m whereas
-- EPSG:1313 'NAD27 to NAD83 (4)' / NTv2_0.gsb has a accuracy of 1.5m
-- so we will never select automatically NTv2_0.gsb. Worse the advertize
-- accuracy of the NTv1 method
UPDATE grid_transformation SET accuracy = 2.0 WHERE auth_name = 'EPSG' AND code = '1312';
-- Same for EPSG:1462 vs EPSG:1573
UPDATE grid_transformation SET accuracy = 2.0 WHERE auth_name = 'EPSG' AND code = '1462';
-- Define the allowed authorities, and their precedence, when researching a
-- coordinate operation
@@ -65,3 +76,41 @@ INSERT INTO "coordinate_system" VALUES('PROJ','ENh','Cartesian',3);
INSERT INTO "axis" VALUES('PROJ','1','Easting','E','east','PROJ','ENh',1,'EPSG','9001');
INSERT INTO "axis" VALUES('PROJ','2','Northing','N','north','PROJ','ENh',2,'EPSG','9001');
INSERT INTO "axis" VALUES('PROJ','3','Ellipsoidal height','h','up','PROJ','ENh',2,'EPSG','9001');
-- Consider all WGS84 related CRS are equivalent with an accuracy of 2m
INSERT INTO "helmert_transformation" VALUES('PROJ','WGS84_TO_WGS84_G730','WGS 84 to WGS 84 (G730)','','Accuracy 2m','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4326','EPSG','9053','EPSG','1262',2.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,'',0);
INSERT INTO "helmert_transformation" VALUES('PROJ','WGS84_TO_WGS84_G873','WGS 84 to WGS 84 (G873)','','Accuracy 2m','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4326','EPSG','9054','EPSG','1262',2.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,'',0);
INSERT INTO "helmert_transformation" VALUES('PROJ','WGS84_TO_WGS84_G1150','WGS 84 to WGS 84 (G1150)','','Accuracy 2m','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4326','EPSG','9055','EPSG','1262',2.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,'',0);
INSERT INTO "helmert_transformation" VALUES('PROJ','WGS84_TO_WGS84_G1674','WGS 84 to WGS 84 (G1674)','','Accuracy 2m','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4326','EPSG','9056','EPSG','1262',2.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,'',0);
INSERT INTO "helmert_transformation" VALUES('PROJ','WGS84_TO_WGS84_G1762','WGS 84 to WGS 84 (G1762)','','Accuracy 2m','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4326','EPSG','9057','EPSG','1262',2.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,'',0);
INSERT INTO "helmert_transformation" VALUES('PROJ','WGS84_TO_WGS84_TRANSIT','WGS 84 to WGS 84 (Transit)','','Accuracy 2m','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4326','EPSG','8888','EPSG','1262',2.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,'',0);
---- Geoid models -----
INSERT INTO "geoid_model" SELECT 'GEOID99', auth_name, code FROM grid_transformation WHERE auth_name = 'EPSG' AND grid_name LIKE 'g1999%' AND deprecated = 0;
INSERT INTO "geoid_model" SELECT 'GEOID03', auth_name, code FROM grid_transformation WHERE auth_name = 'EPSG' AND grid_name LIKE 'geoid03%' AND deprecated = 0;
INSERT INTO "geoid_model" SELECT 'GEOID06', auth_name, code FROM grid_transformation WHERE auth_name = 'EPSG' AND grid_name LIKE 'geoid06%' AND deprecated = 0;
INSERT INTO "geoid_model" SELECT 'GEOID09', auth_name, code FROM grid_transformation WHERE auth_name = 'EPSG' AND grid_name LIKE 'geoid09%' AND deprecated = 0;
-- Geoid12A and Geoid12B are identical
INSERT INTO "geoid_model" SELECT 'GEOID12A', auth_name, code FROM grid_transformation WHERE auth_name = 'EPSG' AND grid_name LIKE 'g2012b%' AND deprecated = 0;
INSERT INTO "geoid_model" SELECT 'GEOID12B', auth_name, code FROM grid_transformation WHERE auth_name = 'EPSG' AND grid_name LIKE 'g2012b%' AND deprecated = 0;
INSERT INTO "geoid_model" SELECT 'GEOID18', auth_name, code FROM grid_transformation WHERE auth_name = 'EPSG' AND grid_name LIKE 'g2018%' AND deprecated = 0;
---- PROJ historic +datum aliases -----
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','6326','WGS84','PROJ');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','6121','GGRS87','PROJ');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','6269','NAD83','PROJ');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','6267','NAD27','PROJ');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','6314','potsdam','PROJ');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','6223','carthage','PROJ');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','6312','hermannskogel','PROJ');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','6299','ire65','PROJ');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','6272','nzgd49','PROJ');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','6277','OSGB36','PROJ');
+1066 -564
View File
File diff suppressed because it is too large Load Diff
+26 -4
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',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','6220','EPSG','1288',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','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);
@@ -664,9 +664,9 @@ INSERT INTO "geodetic_crs" VALUES('EPSG','5342','POSGAR 2007',NULL,NULL,'geograp
INSERT INTO "geodetic_crs" VALUES('EPSG','5352','MARGEN',NULL,NULL,'geocentric','EPSG','6500','EPSG','1063','EPSG','1049',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','5353','MARGEN',NULL,NULL,'geographic 3D','EPSG','6423','EPSG','1063','EPSG','1049',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','5354','MARGEN',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','1063','EPSG','1049',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','5358','SIRGAS-Chile',NULL,NULL,'geocentric','EPSG','6500','EPSG','1064','EPSG','1066',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','5359','SIRGAS-Chile',NULL,NULL,'geographic 3D','EPSG','6423','EPSG','1064','EPSG','1066',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','5360','SIRGAS-Chile',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','1064','EPSG','1066',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','5358','SIRGAS-Chile 2002',NULL,NULL,'geocentric','EPSG','6500','EPSG','1064','EPSG','1066',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','5359','SIRGAS-Chile 2002',NULL,NULL,'geographic 3D','EPSG','6423','EPSG','1064','EPSG','1066',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','5360','SIRGAS-Chile 2002',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','1064','EPSG','1066',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','5363','CR05',NULL,NULL,'geocentric','EPSG','6500','EPSG','1065','EPSG','1074',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','5364','CR05',NULL,NULL,'geographic 3D','EPSG','6423','EPSG','1065','EPSG','1074',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','5365','CR05',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','1065','EPSG','1074',NULL,0);
@@ -892,6 +892,10 @@ INSERT INTO "geodetic_crs" VALUES('EPSG','8545','NAD83(HARN Corrected)',NULL,NUL
INSERT INTO "geodetic_crs" VALUES('EPSG','8683','SRB_ETRS89',NULL,NULL,'geocentric','EPSG','6500','EPSG','1214','EPSG','4543',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','8684','SRB_ETRS89',NULL,NULL,'geographic 3D','EPSG','6423','EPSG','1214','EPSG','4543',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','8685','SRB_ETRS89',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','1214','EPSG','4543',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','8694','Camacupa 2015',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','1217','EPSG','1029',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','8697','RSAO13',NULL,NULL,'geocentric','EPSG','6500','EPSG','1220','EPSG','1029',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','8698','RSAO13',NULL,NULL,'geographic 3D','EPSG','6423','EPSG','1220','EPSG','1029',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','8699','RSAO13',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','1220','EPSG','1029',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','8816','MTRF-2000',NULL,NULL,'geocentric','EPSG','6500','EPSG','1218','EPSG','1206',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','8817','MTRF-2000',NULL,NULL,'geographic 3D','EPSG','6423','EPSG','1218','EPSG','1206',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','8818','MTRF-2000',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','1218','EPSG','1206',NULL,0);
@@ -937,6 +941,9 @@ INSERT INTO "geodetic_crs" VALUES('EPSG','8943','SIRGAS-CON SIR15P01',NULL,NULL,
INSERT INTO "geodetic_crs" VALUES('EPSG','8944','SIRGAS-CON SIR15P01',NULL,NULL,'geographic 3D','EPSG','6423','EPSG','1241','EPSG','4530',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','8945','SIRGAS-CON SIR17P01',NULL,NULL,'geocentric','EPSG','6500','EPSG','1242','EPSG','4530',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','8946','SIRGAS-CON SIR17P01',NULL,NULL,'geographic 3D','EPSG','6423','EPSG','1242','EPSG','4530',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','8947','SIRGAS-Chile 2010',NULL,NULL,'geocentric','EPSG','6500','EPSG','1243','EPSG','1066',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','8948','SIRGAS-Chile 2010',NULL,NULL,'geographic 3D','EPSG','6423','EPSG','1243','EPSG','1066',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','8949','SIRGAS-Chile 2010',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','1243','EPSG','1066',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','8972','SIRGAS-CON DGF00P01',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','1227','EPSG','4530',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','8973','SIRGAS-CON DGF01P01',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','1228','EPSG','4530',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','8974','SIRGAS-CON DGF01P02',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','1229','EPSG','4530',NULL,0);
@@ -1001,6 +1008,21 @@ INSERT INTO "geodetic_crs" VALUES('EPSG','9066','ETRF97',NULL,NULL,'geographic 2
INSERT INTO "geodetic_crs" VALUES('EPSG','9067','ETRF2000',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','1186','EPSG','1298',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','9068','ETRF2005',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','1204','EPSG','1298',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','9069','ETRF2014',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','1206','EPSG','1298',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','9070','NAD83(MARP00)',NULL,NULL,'geocentric','EPSG','6500','EPSG','1221','EPSG','4167',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','9071','NAD83(MARP00)',NULL,NULL,'geographic 3D','EPSG','6423','EPSG','1221','EPSG','4167',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','9072','NAD83(MARP00)',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','1221','EPSG','4167',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','9073','NAD83(PACP00)',NULL,NULL,'geocentric','EPSG','6500','EPSG','1249','EPSG','4162',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','9074','NAD83(PACP00)',NULL,NULL,'geographic 3D','EPSG','6423','EPSG','1249','EPSG','4162',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','9075','NAD83(PACP00)',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','1249','EPSG','4162',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','9138','KOSOVAREF01',NULL,NULL,'geocentric','EPSG','6500','EPSG','1251','EPSG','4542',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','9139','KOSOVAREF01',NULL,NULL,'geographic 3D','EPSG','6423','EPSG','1251','EPSG','4542',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','9140','KOSOVAREF01',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','1251','EPSG','4542',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','9146','SIRGAS-Chile 2013',NULL,NULL,'geocentric','EPSG','6500','EPSG','1252','EPSG','1066',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','9147','SIRGAS-Chile 2013',NULL,NULL,'geographic 3D','EPSG','6423','EPSG','1252','EPSG','1066',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','9148','SIRGAS-Chile 2013',NULL,NULL,'geographic 2D','EPSG','6422','EPSG','1252','EPSG','1066',NULL,0);
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);
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+110 -41
View File
@@ -61,9 +61,9 @@ INSERT INTO "grid_transformation" VALUES('EPSG','1554','NAD83 to NAD83(HARN) (39
INSERT INTO "grid_transformation" VALUES('EPSG','1559','AGD84 to GDA94 (3)','Withdrawn and replaced by AGD84 to GDA94 (4) (code 1593) due to binary file format error. Input expects longitudes to be positive west; EPSG GeogCRS AGD84 (code 4203) and GDA94 (code 4283) have longitudes positive east.','0.1m accuracy.','EPSG','9615','NTv2','EPSG','4203','EPSG','4283','EPSG','1280',0.1,'EPSG','8656','Latitude and longitude difference file','wa_0400.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'DOLA-Aus WA 0.1m old',1);
INSERT INTO "grid_transformation" VALUES('EPSG','1568','NZGD49 to NZGD2000 (3)','These same parameter values may be used to transform to WGS 84 - see NZGD49 to WGS 84 (4) (code 1670).','0.2m accuracy.','EPSG','9615','NTv2','EPSG','4272','EPSG','4167','EPSG','3285',0.2,'EPSG','8656','Latitude and longitude difference file','nzgd2kgrid0005.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'OSG-Nzl 1m',0);
INSERT INTO "grid_transformation" VALUES('EPSG','1572','NAD83 to NAD83(CSRS98) (1)','Uses NT method which expects longitudes positive west; EPSG GeogCRSs NAD83 (code 4269) and NAD83(CSRS98) (code 4140) have longitudes positive east. Can be taken as an approximate transformation NAD83 to WGS 84 - see code 1696.','Accuracy 1-2 metres.','EPSG','9615','NTv2','EPSG','4269','EPSG','4140','EPSG','1368',NULL,'EPSG','8656','Latitude and longitude difference file','NAD83-98.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'SGQ-Can QC',1);
INSERT INTO "grid_transformation" VALUES('EPSG','1573','NAD27 to NAD83 (6)','Replaces NAD27 to NAD83 (5) (code 1462). Uses NT method which expects longitudes positive west; EPSG GeogCRSs NAD27 (code 4267) and NAD83 (code 4269) have longitudes positive east.','Accuracy 1-2 metres.','EPSG','9615','NTv2','EPSG','4267','EPSG','4269','EPSG','1368',1.5,'EPSG','8656','Latitude and longitude difference file','QUE27-83.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'SGQ-Can QC NT2',0);
INSERT INTO "grid_transformation" VALUES('EPSG','1573','NAD27 to NAD83 (6)','Also distributed with file name QUE27-83.gsb. Replaces NAD27 to NAD83 (5) (code 1462). Uses NT method which expects longitudes positive west; EPSG GeogCRSs NAD27 (code 4267) and NAD83 (code 4269) have longitudes positive east.','Accuracy 1-2 metres.','EPSG','9615','NTv2','EPSG','4267','EPSG','4269','EPSG','1368',1.5,'EPSG','8656','Latitude and longitude difference file','NA27NA83.GSB',NULL,NULL,NULL,NULL,NULL,NULL,'SGQ-Can QC NT2',0);
INSERT INTO "grid_transformation" VALUES('EPSG','1574','NAD27 to NAD83(CSRS98) (1)','Uses NT method which expects longitudes positive west; EPSG GeogCRSs NAD27 (code 4267) and NAD83(CSRS98) (code 4140) have longitudes positive east. Can be taken as an approximate transformation NAD27 to WGS 84 - see code 1692.','Accuracy 1-2 metres.','EPSG','9615','NTv2','EPSG','4267','EPSG','4140','EPSG','1368',NULL,'EPSG','8656','Latitude and longitude difference file','QUE27-98.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'SGQ-Can QC',1);
INSERT INTO "grid_transformation" VALUES('EPSG','1575','NAD27(CGQ77) to NAD83 (2)','Replaces NAD27(CGQ77) to NAD83 (1) (code 1451). Uses NT method which expects longitudes positive west; EPSG GeogCRSs CGQ77 and NAD83 (codes 4609 and 4269) have longitudes positive east. Can be taken as approx transformation to WGS 84 - see code 1691.','Accuracy 1-2 metres.','EPSG','9615','NTv2','EPSG','4609','EPSG','4269','EPSG','1368',1.5,'EPSG','8656','Latitude and longitude difference file','CGQ77-83.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'SGQ-Can QC NT2',0);
INSERT INTO "grid_transformation" VALUES('EPSG','1575','NAD27(CGQ77) to NAD83 (2)','Also distributed with file name CGQ77-83.gsb. Replaces NAD27(CGQ77) to NAD83 (1) (code 1451). Can be taken as approx transformation to WGS 84 - see code 1691.','Spatial referencing.','EPSG','9615','NTv2','EPSG','4609','EPSG','4269','EPSG','1368',1.5,'EPSG','8656','Latitude and longitude difference file','CQ77NA83.GSB',NULL,NULL,NULL,NULL,NULL,NULL,'SGQ-Can QC NT2',0);
INSERT INTO "grid_transformation" VALUES('EPSG','1576','NAD27(CGQ77) to NAD83(CSRS98) (1)','Uses NT method which expects longitudes positive west; EPSG GeogCRSs NAD27(CGQ77) (code 4609) and NAD83(CSRS98) (code 4140) have 1691longitudes positive east. Can be taken as an approximate transformation NAD27(CGQ77) to WGS 84 - see code 1691.','Accuracy 1-2 metres.','EPSG','9615','NTv2','EPSG','4609','EPSG','4140','EPSG','1368',NULL,'EPSG','8656','Latitude and longitude difference file','CGQ77-98.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'SGQ-Can QC',1);
INSERT INTO "grid_transformation" VALUES('EPSG','1578','American Samoa 1962 to NAD83(HARN) (1)','NADCON method which expects longitudes positive west; EPSG GeogCRSs American Samoa 1962 and NAD83(HARN) (codes 4169 and 4152) have longitudes positive east. NADCON expects latitudes in northern hemisphere and values must be made positive prior to input.','Geodetic survey. No accuracy stated.','EPSG','9613','NADCON','EPSG','4169','EPSG','4152','EPSG','2288',5.0,'EPSG','8657','Latitude difference file','wshpgn.las','EPSG','8658','Longitude difference file','wshpgn.los',NULL,NULL,'NGS-Asm W',0);
INSERT INTO "grid_transformation" VALUES('EPSG','1579','American Samoa 1962 to NAD83(HARN) (2)','NADCON method which expects longitudes positive west; EPSG GeogCRSs American Samoa 1962 and NAD83(HARN) (codes 4169 and 4152) have longitudes positive east. NADCON expects latitudes in northern hemisphere and values must be made positive prior to input.','Geodetic survey. No accuracy stated.','EPSG','9613','NADCON','EPSG','4169','EPSG','4152','EPSG','2289',5.0,'EPSG','8657','Latitude difference file','eshpgn.las','EPSG','8658','Longitude difference file','eshpgn.los',NULL,NULL,'NGS-Asm E',0);
@@ -74,21 +74,21 @@ INSERT INTO "grid_transformation" VALUES('EPSG','1600','NAD27 to NAD83(CSRS98) (
INSERT INTO "grid_transformation" VALUES('EPSG','1601','NAD83 to NAD83(CSRS98) (2)','Can be taken as an approximate transformation NAD83 to WGS 84 - see code 1697.','Accuracy 1-2 metres.','EPSG','9615','NTv2','EPSG','4269','EPSG','4140','EPSG','2375',NULL,'EPSG','8656','Latitude and longitude difference file','SK83-98.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'SK PMC-Can SK',1);
INSERT INTO "grid_transformation" VALUES('EPSG','1602','NAD83 to NAD83(CSRS98) (3)','This gridded difference file AB_CSRS.DAC will need to be renamed to AB_CSRS.gsb to run in some software suites. Formats identical, but AB file is provincial fit only.','Accuracy 1-2 metres.','EPSG','9615','NTv2','EPSG','4267','EPSG','4140','EPSG','2376',NULL,'EPSG','8656','Latitude and longitude difference file','AB_CSRS.DAC',NULL,NULL,NULL,NULL,NULL,NULL,'AB Env-Can AB',1);
INSERT INTO "grid_transformation" VALUES('EPSG','1670','NZGD49 to WGS 84 (3)','Parameter file is from NZGD49 to NZGD2000 (3) (code 1568) and assumes WGS 84 is coincident with NZGD2000 to the accuracy of the transformation.','Accuracy about 1m.','EPSG','9615','NTv2','EPSG','4272','EPSG','4326','EPSG','3285',1.0,'EPSG','8656','Latitude and longitude difference file','nzgd2kgrid0005.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Nzl 1m',0);
INSERT INTO "grid_transformation" VALUES('EPSG','1688','ATS77 to WGS 84 (1)','Parameter file is from ATS77 to NAD83(CSRS) (1) (code 1841) assuming that NAD83(CSRS) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','9615','NTv2','EPSG','4122','EPSG','4326','EPSG','1447',1.0,'EPSG','8656','Latitude and longitude difference file','NB7783v2.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Can NB',0);
INSERT INTO "grid_transformation" VALUES('EPSG','1689','ATS77 to WGS 84 (2)','Parameter file is from ATS77 to NAD83(CSRS) (2) (code 1846) assuming that NAD83(CSRS) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','9615','NTv2','EPSG','4122','EPSG','4326','EPSG','1533',1.0,'EPSG','8656','Latitude and longitude difference file','PE7783V2.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Can PEI',0);
INSERT INTO "grid_transformation" VALUES('EPSG','1688','ATS77 to WGS 84 (1)','Parameter file is from ATS77 to NAD83(CSRS)v2 (1) (code 9237) assuming that NAD83(CSRS)v2 is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1-2m level.','EPSG','9615','NTv2','EPSG','4122','EPSG','4326','EPSG','1447',1.5,'EPSG','8656','Latitude and longitude difference file','NB7783v2.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Can NB',0);
INSERT INTO "grid_transformation" VALUES('EPSG','1689','ATS77 to WGS 84 (2)','Parameter file is from ATS77 to NAD83(CSRS)v2 (2) (code 9236) assuming that NAD83(CSRS)v2 is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1-2m level.','EPSG','9615','NTv2','EPSG','4122','EPSG','4326','EPSG','1533',1.5,'EPSG','8656','Latitude and longitude difference file','PE7783V2.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Can PEI',0);
INSERT INTO "grid_transformation" VALUES('EPSG','1690','NAD27(76) to WGS 84 (1)','Parameter file is from NAD27(76) to NAD83 (1) (code 1463) assuming that NAD83 is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','9615','NTv2','EPSG','4608','EPSG','4326','EPSG','1367',1.0,'EPSG','8656','Latitude and longitude difference file','May76v20.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Can On',0);
INSERT INTO "grid_transformation" VALUES('EPSG','1691','NAD27(CGQ77) to WGS 84 (3)','Parameter file is from NAD27(CGQ77) to NAD83(CSRS) (1) (code 1845) assuming that NAD83(CSRS98) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','9615','NTv2','EPSG','4609','EPSG','4326','EPSG','1368',1.0,'EPSG','8656','Latitude and longitude difference file','CGQ77-98.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Can Qc NT2',0);
INSERT INTO "grid_transformation" VALUES('EPSG','1692','NAD27 to WGS 84 (34)','Parameter file is from NAD27 to NAD83(CSRS) (1) (code 1844) assuming that NAD83(CSRS) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','9615','NTv2','EPSG','4267','EPSG','4326','EPSG','1368',1.0,'EPSG','8656','Latitude and longitude difference file','QUE27-98.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Can QC',0);
INSERT INTO "grid_transformation" VALUES('EPSG','1691','NAD27(CGQ77) to WGS 84 (3)','Parameter file is from NAD27(CGQ77) to NAD83(CSRS)v2 (1) (code 9240) assuming that NAD83(CSRS)v2 is equivalent to WGS 84 within the accuracy of the transformation. Also distributed with file name CGQ77-98.gsb.','Approximation at the +/- 1-2m level.','EPSG','9615','NTv2','EPSG','4609','EPSG','4326','EPSG','1368',1.5,'EPSG','8656','Latitude and longitude difference file','CQ77NA83.GSB',NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Can Qc NT2',0);
INSERT INTO "grid_transformation" VALUES('EPSG','1692','NAD27 to WGS 84 (34)','Parameter file is from NAD27 to NAD83(CSRS)v2 (1) (code 9239) assuming that NAD83(CSRS)v2 is equivalent to WGS 84 within the accuracy of the transformation. Also distributed as QUE27-98.gsb.','Approximation at the +/- 1-2m level.','EPSG','9615','NTv2','EPSG','4267','EPSG','4326','EPSG','1368',1.5,'EPSG','8656','Latitude and longitude difference file','NA27SCRS.GSB',NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Can QC',0);
INSERT INTO "grid_transformation" VALUES('EPSG','1693','NAD27 to WGS 84 (33)','Parameter file is from NAD27 to NAD83 (4) (code 1313) assuming that NAD83 is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','9615','NTv2','EPSG','4267','EPSG','4326','EPSG','4517',1.0,'EPSG','8656','Latitude and longitude difference file','NTv2_0.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Can',0);
INSERT INTO "grid_transformation" VALUES('EPSG','1694','American Samoa 1962 to WGS 84 (2)','Parameter files are from American Samoa 1962 to NAD83(HARN) (1) (code 1578), but for many purposes NAD83(HARN) can be considered to be coincident with WGS 84 within the accuracy of the transformation.','No accuracy stated for source transformation.','EPSG','9613','NADCON','EPSG','4169','EPSG','4326','EPSG','2288',5.0,'EPSG','8657','Latitude difference file','wshpgn.las','EPSG','8658','Longitude difference file','wshpgn.los',NULL,NULL,'EPSG-Asm W',0);
INSERT INTO "grid_transformation" VALUES('EPSG','1695','American Samoa 1962 to WGS 84 (3)','Parameter files are from American Samoa 1962 to NAD83(HARN) (2) (code 1579), but for many purposes NAD83(HARN) can be considered to be coincident with WGS 84 within the accuracy of the transformation.','No accuracy stated for source transformation.','EPSG','9613','NADCON','EPSG','4169','EPSG','4326','EPSG','2289',5.0,'EPSG','8657','Latitude difference file','eshpgn.las','EPSG','8658','Longitude difference file','eshpgn.los',NULL,NULL,'EPSG-Asm E',0);
INSERT INTO "grid_transformation" VALUES('EPSG','1696','NAD83 to WGS 84 (6)','Parameter file is from NAD83 to NAD83(CSRS) (1) (code 1843) assuming that NAD83(CSRS) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','9615','NTv2','EPSG','4269','EPSG','4326','EPSG','1368',1.0,'EPSG','8656','Latitude and longitude difference file','NAD83-98.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Can QC',0);
INSERT INTO "grid_transformation" VALUES('EPSG','1697','NAD83 to WGS 84 (7)','Parameter file is from NAD83 to NAD83(CSRS8) (2) (code 1848) assuming that NAD83(CSRS) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','9615','NTv2','EPSG','4269','EPSG','4326','EPSG','2375',1.0,'EPSG','8656','Latitude and longitude difference file','SK83-98.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Can SK',0);
INSERT INTO "grid_transformation" VALUES('EPSG','1696','NAD83 to WGS 84 (6)','Parameter file is from NAD83 to NAD83(CSRS)v2 (1) (code 9241) assuming that NAD83(CSRS)v2 is equivalent to WGS 84 within the accuracy of the transformation. Also distributed with file name NAD83-98.gsb.','Approximation at the +/- 1-2m level.','EPSG','9615','NTv2','EPSG','4269','EPSG','4326','EPSG','1368',1.5,'EPSG','8656','Latitude and longitude difference file','NA83SCRS.GSB',NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Can QC',0);
INSERT INTO "grid_transformation" VALUES('EPSG','1697','NAD83 to WGS 84 (7)','Parameter file is from NAD83 to NAD83(CSRS8)v3 (2) (code 9243) assuming that NAD83(CSRS)v3 is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1-2m level.','EPSG','9615','NTv2','EPSG','4269','EPSG','4326','EPSG','2375',1.5,'EPSG','8656','Latitude and longitude difference file','SK83-98.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Can SK',0);
INSERT INTO "grid_transformation" VALUES('EPSG','1698','St. George Island to WGS 84 (1)','Parameter files are from St. George Island to NAD83 (1) (code 1457) assuming that NAD83 is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1 to 2m level.','EPSG','9613','NADCON','EPSG','4138','EPSG','4326','EPSG','1331',1.5,'EPSG','8657','Latitude difference file','stgeorge.las','EPSG','8658','Longitude difference file','stgeorge.los',NULL,NULL,'EPSG-Usa AK StG',0);
INSERT INTO "grid_transformation" VALUES('EPSG','1699','St. Lawrence Island to WGS 84 (1)','Parameter files are from St. Lawrence Island to NAD83 (1) (code 1455) assuming that NAD83 is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1 to 2m level.','EPSG','9613','NADCON','EPSG','4136','EPSG','4326','EPSG','1332',1.5,'EPSG','8657','Latitude difference file','stlrnc.las','EPSG','8658','Longitude difference file','stlrnc.los',NULL,NULL,'EPSG-Usa AK StL',0);
INSERT INTO "grid_transformation" VALUES('EPSG','1700','St. Paul Island to WGS 84 (1)','Parameter files are from St. Paul Island to NAD83 (1) (code 1456) assuming that NAD83 is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1 to 2m level.','EPSG','9613','NADCON','EPSG','4137','EPSG','4326','EPSG','1333',1.5,'EPSG','8657','Latitude difference file','stpaul.las','EPSG','8658','Longitude difference file','stpaul.los',NULL,NULL,'EPSG-Usa AK StP',0);
INSERT INTO "grid_transformation" VALUES('EPSG','1702','NAD83 to WGS 84 (8)','Parameter file is from NAD83 to NAD83(CSRS) (3) (code 1849) assuming that NAD83(CSRS) is equivalent to WGS 84 within the accuracy of the transformation. This file AB_CSRS.DAC will need to be renamed to AB_CSRS.gsb to run in some sodtware.','Approximation at the +/- 1m level.','EPSG','9615','NTv2','EPSG','4269','EPSG','4326','EPSG','2376',1.0,'EPSG','8656','Latitude and longitude difference file','AB_CSRS.DAC',NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Can AB',0);
INSERT INTO "grid_transformation" VALUES('EPSG','1703','NAD27 to WGS 84 (32)','Parameter file is from NAD27 to NAD83(CSRS) (1) (code 1847) assuming that NAD83(CSRS) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','9615','NTv2','EPSG','4267','EPSG','4326','EPSG','2375',1.0,'EPSG','8656','Latitude and longitude difference file','SK27-98.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Can SK',0);
INSERT INTO "grid_transformation" VALUES('EPSG','1702','NAD83 to WGS 84 (8)','Parameter file is from NAD83 to NAD83(CSRS)v4 (3) (code 9244) assuming that NAD83(CSRS)v4 is equivalent to WGS 84 within the accuracy of the transformation. This file AB_CSRS.DAC will need to be renamed to AB_CSRS.gsb to run in some sodtware.','Approximation at the +/- 1-2m level.','EPSG','9615','NTv2','EPSG','4269','EPSG','4326','EPSG','2376',1.5,'EPSG','8656','Latitude and longitude difference file','AB_CSRS.DAC',NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Can AB',0);
INSERT INTO "grid_transformation" VALUES('EPSG','1703','NAD27 to WGS 84 (32)','Parameter file is from NAD27 to NAD83(CSRS)v3 (2) (code 9242) assuming that NAD83(CSRS)v3 is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1-2m level.','EPSG','9615','NTv2','EPSG','4267','EPSG','4326','EPSG','2375',1.5,'EPSG','8656','Latitude and longitude difference file','SK27-98.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Can SK',0);
INSERT INTO "grid_transformation" VALUES('EPSG','1704','NAD83 to NAD83(HARN) (40)','Uses NADCON method which expects longitudes positive west; EPSG GeogCRSs NAD83 (code 4269) and NAD83(HARN) (code 4152) have longitudes positive east. May be taken as approximate transformation NAD83-WGS 84 - see code 1708.','Geodetic survey. Accuracy 0.05m at 67% confidence level.','EPSG','9613','NADCON','EPSG','4269','EPSG','4152','EPSG','1374',0.05,'EPSG','8657','Latitude difference file','arhpgn.las','EPSG','8658','Longitude difference file','arhpgn.los',NULL,NULL,'NGS-Usa AR',0);
INSERT INTO "grid_transformation" VALUES('EPSG','1705','NAD83 to NAD83(HARN) (41)','Uses NADCON method which expects longitudes positive west; EPSG GeogCRSs NAD83 (code 4269) and NAD83(HARN) (code 4152) have longitudes positive east. May be taken as approximate transformation NAD83-WGS 84 - see code 1709.','Geodetic survey. Accuracy 0.05m at 67% confidence level.','EPSG','9613','NADCON','EPSG','4269','EPSG','4152','EPSG','1384',0.05,'EPSG','8657','Latitude difference file','iahpgn.las','EPSG','8658','Longitude difference file','iahpgn.los',NULL,NULL,'NGS-Usa IA',0);
INSERT INTO "grid_transformation" VALUES('EPSG','1706','NAD83 to NAD83(HARN) (42)','Uses NADCON method which expects longitudes positive west; EPSG GeogCRSs NAD83 (code 4269) and NAD83(HARN) (code 4152) have longitudes positive east. May be taken as approximate transformation NAD83-WGS 84 - see code 1710.','Geodetic survey. Accuracy 0.05m at 67% confidence level.','EPSG','9613','NADCON','EPSG','4269','EPSG','4152','EPSG','1392',0.05,'EPSG','8657','Latitude difference file','mnhpgn.las','EPSG','8658','Longitude difference file','mnhpgn.los',NULL,NULL,'NGS-Usa MN',0);
@@ -139,16 +139,16 @@ INSERT INTO "grid_transformation" VALUES('EPSG','1750','NAD83 to WGS 84 (54)','P
INSERT INTO "grid_transformation" VALUES('EPSG','1752','NAD83 to NAD83(CSRS98) (3)','This gridded difference file AB_CSRS.DAC will need to be renamed to AB_CSRS.gsb to run in some software suites. Formats identical, but AB file is provincial fit only. Can be taken as an approximate transformation NAD83 to WGS 84 - see code 1702.','?','EPSG','9615','NTv2','EPSG','4269','EPSG','4140','EPSG','2376',NULL,'EPSG','8656','Latitude and longitude difference file','AB_CSRS.DAC',NULL,NULL,NULL,NULL,NULL,NULL,'AB Env-Can AB',1);
INSERT INTO "grid_transformation" VALUES('EPSG','1803','AGD66 to GDA94 (11)','Replaces AGD66 to GDA94 variants 6, 7 and 10 (codes 1506 1507 1596). Input expects longitudes to be positive west; EPSG GeogCRS AGD66 (code 4202) and GDA94 (code 4283) both have longitudes positive east. May be used as tfm to WGS 84 - see code 15786.','0.1m accuracy.','EPSG','9615','NTv2','EPSG','4202','EPSG','4283','EPSG','2575',0.1,'EPSG','8656','Latitude and longitude difference file','A66 National (13.09.01).gsb',NULL,NULL,NULL,NULL,NULL,NULL,'ICSM-Aus 0.1m',0);
INSERT INTO "grid_transformation" VALUES('EPSG','1804','AGD84 to GDA94 (5)','Replaces AGD84 to GDA94 (4) (code 1593) which itself replaced variant 3 (code 1559). Input expects longitudes to be + west; EPSG GeogCRS AGD84 (code 4203) and GDA94 (code 4283) both have longitudes positive east. May be used as tfm to WGS 84 - see 15785','0.1m accuracy.','EPSG','9615','NTv2','EPSG','4203','EPSG','4283','EPSG','2576',0.1,'EPSG','8656','Latitude and longitude difference file','National 84 (02.07.01).gsb',NULL,NULL,NULL,NULL,NULL,NULL,'Auslig-Aus 0.1m',0);
INSERT INTO "grid_transformation" VALUES('EPSG','1841','ATS77 to NAD83(CSRS) (1)','Introduced in 1999. Can be taken as an approximate transformation ATS77 to WGS 84 - see code 1688.','Used in the GeoNB Coordinate Transformation Service. Accuracy 1-2 metres.','EPSG','9615','NTv2','EPSG','4122','EPSG','4617','EPSG','1447',1.5,'EPSG','8656','Latitude and longitude difference file','NB7783v2.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'GIC-Can NB',0);
INSERT INTO "grid_transformation" VALUES('EPSG','1843','NAD83 to NAD83(CSRS) (1)','Uses NT method which expects longitudes positive west; EPSG GeogCRSs NAD83 (code 4269) and NAD83(CSRS) (code 4617) have longitudes positive east. Can be taken as an approximate transformation NAD83 to WGS 84 - see code 1696.','Accuracy 1-2 metres.','EPSG','9615','NTv2','EPSG','4269','EPSG','4617','EPSG','1368',1.5,'EPSG','8656','Latitude and longitude difference file','NAD83-98.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'SGQ-Can QC',0);
INSERT INTO "grid_transformation" VALUES('EPSG','1844','NAD27 to NAD83(CSRS) (1)','Uses NT method which expects longitudes positive west; EPSG GeogCRSs NAD27 (code 4267) and NAD83(CSRS) (code 4617) have longitudes positive east. Can be taken as an approximate transformation NAD27 to WGS 84 - see code 1692.','Accuracy 1-2 metres.','EPSG','9615','NTv2','EPSG','4267','EPSG','4617','EPSG','1368',1.5,'EPSG','8656','Latitude and longitude difference file','QUE27-98.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'SGQ-Can QC',0);
INSERT INTO "grid_transformation" VALUES('EPSG','1845','NAD27(CGQ77) to NAD83(CSRS) (1)','Uses NT method which expects longitudes positive west; EPSG GeogCRSs NAD27(CGQ77) (code 4609) and NAD83(CSRS) (code 4617) have longitudes positive east. Can be taken as an approximate transformation NAD27(CGQ77) to WGS 84 - see code 1691.','Accuracy 1-2 metres.','EPSG','9615','NTv2','EPSG','4609','EPSG','4617','EPSG','1368',1.5,'EPSG','8656','Latitude and longitude difference file','CGQ77-98.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'SGQ-Can QC',0);
INSERT INTO "grid_transformation" VALUES('EPSG','1846','ATS77 to NAD83(CSRS) (2)','Can be taken as an approximate transformation ATS77 to WGS 84 - see code 1689.','Accuracy 1-2 metres.','EPSG','9615','NTv2','EPSG','4122','EPSG','4617','EPSG','1533',1.5,'EPSG','8656','Latitude and longitude difference file','PE7783V2.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'PEI DOT-Can PEI',0);
INSERT INTO "grid_transformation" VALUES('EPSG','1847','NAD27 to NAD83(CSRS) (2)','Can be taken as an approximate transformation NAD27 to WGS 84 - see code 1703.','Accuracy 1-2 metres.','EPSG','9615','NTv2','EPSG','4267','EPSG','4617','EPSG','2375',1.5,'EPSG','8656','Latitude and longitude difference file','SK27-98.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'SK PMC-Can SK',0);
INSERT INTO "grid_transformation" VALUES('EPSG','1848','NAD83 to NAD83(CSRS) (2)','Can be taken as an approximate transformation NAD83 to WGS 84 - see code 1697.','Accuracy 1-2 metres.','EPSG','9615','NTv2','EPSG','4269','EPSG','4617','EPSG','2375',1.5,'EPSG','8656','Latitude and longitude difference file','SK83-98.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'SK PMC-Can SK',0);
INSERT INTO "grid_transformation" VALUES('EPSG','1849','NAD83 to NAD83(CSRS) (3)','This gridded difference file AB_CSRS.DAC will need to be renamed to AB_CSRS.gsb to run in some software suites. Formats identical, but AB file is provincial fit only. Can be taken as an approximate transformation NAD83 to WGS 84 - see code 1702.','Accuracy 1-2 metres.','EPSG','9615','NTv2','EPSG','4269','EPSG','4617','EPSG','2376',1.5,'EPSG','8656','Latitude and longitude difference file','AB_CSRS.DAC',NULL,NULL,NULL,NULL,NULL,NULL,'AB Env-Can AB',0);
INSERT INTO "grid_transformation" VALUES('EPSG','1850','ATS77 to NAD83(CSRS) (3)','Can be taken as an approximate transformation ATS77 to WGS 84 - see code 1851.','Accuracy 1-2 metres.','EPSG','9615','NTv2','EPSG','4122','EPSG','4617','EPSG','2313',1.5,'EPSG','8656','Latitude and longitude difference file','NS778301.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'NSGC-Can NS',0);
INSERT INTO "grid_transformation" VALUES('EPSG','1851','ATS77 to WGS 84 (3)','Parameter file is from ATS77 to NAD83(CSRS) (3) (code 1850) assuming that NAD83(CSRS) is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1m level.','EPSG','9615','NTv2','EPSG','4122','EPSG','4326','EPSG','2313',1.0,'EPSG','8656','Latitude and longitude difference file','NS778301.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Can NS',0);
INSERT INTO "grid_transformation" VALUES('EPSG','1841','ATS77 to NAD83(CSRS) (1)','Introduced in 1999. Can be taken as an approximate transformation ATS77 to WGS 84 - see code 1688.','Used in the GeoNB Coordinate Transformation Service. Accuracy 1-2 metres.','EPSG','9615','NTv2','EPSG','4122','EPSG','4617','EPSG','1447',1.5,'EPSG','8656','Latitude and longitude difference file','NB7783v2.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'GIC-Can NB',1);
INSERT INTO "grid_transformation" VALUES('EPSG','1843','NAD83 to NAD83(CSRS) (1)','Uses NT method which expects longitudes positive west; EPSG GeogCRSs NAD83 (code 4269) and NAD83(CSRS) (code 4617) have longitudes positive east. Can be taken as an approximate transformation NAD83 to WGS 84 - see code 1696.','Accuracy 1-2 metres.','EPSG','9615','NTv2','EPSG','4269','EPSG','4617','EPSG','1368',1.5,'EPSG','8656','Latitude and longitude difference file','NAD83-98.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'SGQ-Can QC',1);
INSERT INTO "grid_transformation" VALUES('EPSG','1844','NAD27 to NAD83(CSRS) (1)','Uses NT method which expects longitudes positive west; EPSG GeogCRSs NAD27 (code 4267) and NAD83(CSRS) (code 4617) have longitudes positive east. Can be taken as an approximate transformation NAD27 to WGS 84 - see code 1692.','Accuracy 1-2 metres.','EPSG','9615','NTv2','EPSG','4267','EPSG','4617','EPSG','1368',1.5,'EPSG','8656','Latitude and longitude difference file','QUE27-98.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'SGQ-Can QC',1);
INSERT INTO "grid_transformation" VALUES('EPSG','1845','NAD27(CGQ77) to NAD83(CSRS) (1)','Uses NT method which expects longitudes positive west; EPSG GeogCRSs NAD27(CGQ77) (code 4609) and NAD83(CSRS) (code 4617) have longitudes positive east. Can be taken as an approximate transformation NAD27(CGQ77) to WGS 84 - see code 1691.','Accuracy 1-2 metres.','EPSG','9615','NTv2','EPSG','4609','EPSG','4617','EPSG','1368',1.5,'EPSG','8656','Latitude and longitude difference file','CGQ77-98.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'SGQ-Can QC',1);
INSERT INTO "grid_transformation" VALUES('EPSG','1846','ATS77 to NAD83(CSRS) (2)','Can be taken as an approximate transformation ATS77 to WGS 84 - see code 1689.','Accuracy 1-2 metres.','EPSG','9615','NTv2','EPSG','4122','EPSG','4617','EPSG','1533',1.5,'EPSG','8656','Latitude and longitude difference file','PE7783V2.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'PEI DOT-Can PEI',1);
INSERT INTO "grid_transformation" VALUES('EPSG','1847','NAD27 to NAD83(CSRS) (2)','Can be taken as an approximate transformation NAD27 to WGS 84 - see code 1703.','Accuracy 1-2 metres.','EPSG','9615','NTv2','EPSG','4267','EPSG','4617','EPSG','2375',1.5,'EPSG','8656','Latitude and longitude difference file','SK27-98.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'SK PMC-Can SK',1);
INSERT INTO "grid_transformation" VALUES('EPSG','1848','NAD83 to NAD83(CSRS) (2)','Can be taken as an approximate transformation NAD83 to WGS 84 - see code 1697.','Accuracy 1-2 metres.','EPSG','9615','NTv2','EPSG','4269','EPSG','4617','EPSG','2375',1.5,'EPSG','8656','Latitude and longitude difference file','SK83-98.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'SK PMC-Can SK',1);
INSERT INTO "grid_transformation" VALUES('EPSG','1849','NAD83 to NAD83(CSRS) (3)','This gridded difference file AB_CSRS.DAC will need to be renamed to AB_CSRS.gsb to run in some software suites. Formats identical, but AB file is provincial fit only. Can be taken as an approximate transformation NAD83 to WGS 84 - see code 1702.','Accuracy 1-2 metres.','EPSG','9615','NTv2','EPSG','4269','EPSG','4617','EPSG','2376',1.5,'EPSG','8656','Latitude and longitude difference file','AB_CSRS.DAC',NULL,NULL,NULL,NULL,NULL,NULL,'AB Env-Can AB',1);
INSERT INTO "grid_transformation" VALUES('EPSG','1850','ATS77 to NAD83(CSRS) (3)','Can be taken as an approximate transformation ATS77 to WGS 84 - see code 1851.','Accuracy 1-2 metres.','EPSG','9615','NTv2','EPSG','4122','EPSG','4617','EPSG','2313',1.5,'EPSG','8656','Latitude and longitude difference file','NS778301.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'NSGC-Can NS',1);
INSERT INTO "grid_transformation" VALUES('EPSG','1851','ATS77 to WGS 84 (3)','Parameter file is from ATS77 to NAD83(CSRS)v3 (3) (code 9235) assuming that NAD83(CSRS)v3 is equivalent to WGS 84 within the accuracy of the transformation.','Approximation at the +/- 1-2m level.','EPSG','9615','NTv2','EPSG','4122','EPSG','4326','EPSG','2313',1.5,'EPSG','8656','Latitude and longitude difference file','NS778301.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Can NS',0);
INSERT INTO "grid_transformation" VALUES('EPSG','3858','WGS 84 to EGM2008 height (1)','Replaces WGS 84 to EGM96 height (1) (CT code 15781). Grid spacing is 2.5 arc-minutes. For a smaller spacing (in principle more exact but requiring greater computing resources) see CT code 3859. An executable using spherical harmonics is also available.','Derivation of gravity-related heights from GPS observations.','EPSG','1025','Geographic3D to GravityRelatedHeight (EGM2008)','EPSG','4979','EPSG','3855','EPSG','1262',1.0,'EPSG','8666','Geoid (height correction) model file','Und_min2.5x2.5_egm2008_isw=82_WGS84_TideFree.gz',NULL,NULL,NULL,NULL,NULL,NULL,'NGA-World',0);
INSERT INTO "grid_transformation" VALUES('EPSG','3859','WGS 84 to EGM2008 height (2)','Replaces WGS 84 to EGM96 height (1) (CT code 15781). Grid spacing is 1 arc-minute. For a larger grid spacing (in principle less exact but requiring less computing resources) see CT code 3858. An executable using spherical harmonics is also available.','Derivation of gravity-related heights from GPS observations.','EPSG','1025','Geographic3D to GravityRelatedHeight (EGM2008)','EPSG','4979','EPSG','3855','EPSG','1262',0.5,'EPSG','8666','Geoid (height correction) model file','Und_min1x1_egm2008_isw=82_WGS84_TideFree.gz',NULL,NULL,NULL,NULL,NULL,NULL,'NGA-World',0);
INSERT INTO "grid_transformation" VALUES('EPSG','4459','NZGD2000 to NZVD2009 height (1)','Defines NZVD2009 vertical datum (datum code 1039, CRS code 4440).','Derivation of gravity-related heights from GPS observations.','EPSG','1030','Geographic3D to GravityRelatedHeight (NZgeoid)','EPSG','4959','EPSG','4440','EPSG','1175',0.1,'EPSG','8666','Geoid (height correction) model file','nzgeoid09.sid',NULL,NULL,NULL,NULL,NULL,NULL,'LINZ-NZ 2009',0);
@@ -192,10 +192,10 @@ INSERT INTO "grid_transformation" VALUES('EPSG','6139','CIGD11 to LCVD61 height
INSERT INTO "grid_transformation" VALUES('EPSG','6140','CIGD11 to CBVD61 height (ft) (1)','Care: source CRS heights are in metres, transformation file parameter values and target CRS heights are in feet.','Derivation of gravity-related heights from GPS observations.','EPSG','1050','Geographic3D to GravityRelatedHeight (CI)','EPSG','6134','EPSG','6132','EPSG','3207',0.03,'EPSG','8666','Geoid (height correction) model file','CBGM0811.TXT',NULL,NULL,NULL,NULL,NULL,NULL,'LSD-Cym',0);
INSERT INTO "grid_transformation" VALUES('EPSG','6188','Lisbon to ETRS89 (4)','Derived from 1129 common stations in the national geodetic network. Residuals at 130 further test points average 0.09m, maximum 0.30m.','Decimetre accuracy.','EPSG','9615','NTv2','EPSG','4207','EPSG','4258','EPSG','1294',0.1,'EPSG','8656','Latitude and longitude difference file','DLx_ETRS89_geo.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'IGP-Prt 0.1m',0);
INSERT INTO "grid_transformation" VALUES('EPSG','6189','Datum 73 to ETRS89 (6)','Derived from 1129 common stations in the national geodetic network. Residuals at 130 further test points average 0.06m, maximum 0.16m.','Decimetre accuracy.','EPSG','9615','NTv2','EPSG','4274','EPSG','4258','EPSG','1294',0.1,'EPSG','8656','Latitude and longitude difference file','D73_ETRS89_geo.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'IGP-Prt 0.1m',0);
INSERT INTO "grid_transformation" VALUES('EPSG','6209','NAD27 to NAD83(CSRS) (4)','Introduced in 2011. Precision of 20 cm in area covered by the input data set and 40 cm anywhere else, with the exception of the northwest area of the province (near the border with Quebec) where the precision deteriorates to 80 cm.','Used in the GeoNB Coordinate Transformation Service.','EPSG','9615','NTv2','EPSG','4267','EPSG','4617','EPSG','1447',0.8,'EPSG','8656','Latitude and longitude difference file','NB2783v2.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'SNB-Can NB',0);
INSERT INTO "grid_transformation" VALUES('EPSG','6326','NAD83(2011) to NAVD88 height (1)','Uses Geoid12B hybrid model. Renamed from Geoid12A but with no data changes. See information source for further information.','Derivation of approximate gravity-related heights from GPS observations.','EPSG','9665','Geographic3D to GravityRelatedHeight (US .gtx)','EPSG','6319','EPSG','5703','EPSG','1323',0.1,'EPSG','8666','Geoid (height correction) model file','g2012Bu0.bin',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-US Conus',0);
INSERT INTO "grid_transformation" VALUES('EPSG','6327','NAD83(2011) to NAVD88 height (2)','Uses Geoid12B hybrid model. Renamed from Geoid12A but with no data changes. See information source for further information.','Derivation of approximate gravity-related heights from GPS observations.','EPSG','9665','Geographic3D to GravityRelatedHeight (US .gtx)','EPSG','6319','EPSG','5703','EPSG','1330',0.2,'EPSG','8666','Geoid (height correction) model file','g2012Ba0.bin',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-US AK',0);
INSERT INTO "grid_transformation" VALUES('EPSG','6648','NAD83(CSRS) to CGVD2013 height (1)','Uses CGG2013 model which uses bi-quadratic interpolation; bi-linear interpolation of the grid file will give results agreeing to within 1cm 99.97% of the time.','Derivation of gravity-related heights from GPS observations.','EPSG','1060','Geographic3D to GravityRelatedHeight (CGG2013)','EPSG','4955','EPSG','6647','EPSG','1061',0.03,'EPSG','8666','Geoid (height correction) model file','CGG2013n83.byn',NULL,NULL,NULL,NULL,NULL,NULL,'NRC Can CGG2013',0);
INSERT INTO "grid_transformation" VALUES('EPSG','6209','NAD27 to NAD83(CSRS) (4)','Introduced in 2011. Precision of 20 cm in area covered by the input data set and 40 cm anywhere else, with the exception of the northwest area of the province (near the border with Quebec) where the precision deteriorates to 80 cm.','Used in the GeoNB Coordinate Transformation Service.','EPSG','9615','NTv2','EPSG','4267','EPSG','4617','EPSG','1447',0.8,'EPSG','8656','Latitude and longitude difference file','NB2783v2.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'SNB-Can NB',1);
INSERT INTO "grid_transformation" VALUES('EPSG','6326','NAD83(2011) to NAVD88 height (1)','Uses Geoid12B hybrid model. Renamed from Geoid12A but with no data changes. See information source for further information.','Derivation of approximate gravity-related heights from GPS observations.','EPSG','9665','Geographic3D to GravityRelatedHeight (US .gtx)','EPSG','6319','EPSG','5703','EPSG','1323',0.02,'EPSG','8666','Geoid (height correction) model file','g2012bu0.bin',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-US Conus',0);
INSERT INTO "grid_transformation" VALUES('EPSG','6327','NAD83(2011) to NAVD88 height (2)','Uses Geoid12B hybrid model. Renamed from Geoid12A but with no data changes. See information source for further information.','Derivation of approximate gravity-related heights from GPS observations.','EPSG','9665','Geographic3D to GravityRelatedHeight (US .gtx)','EPSG','6319','EPSG','5703','EPSG','1330',0.02,'EPSG','8666','Geoid (height correction) model file','g2012ba0.bin',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-US AK',0);
INSERT INTO "grid_transformation" VALUES('EPSG','6648','NAD83(CSRS) to CGVD2013 height (1)','Uses CGG2013 model which uses bi-quadratic interpolation; bi-linear interpolation of the grid file will give results agreeing to within 1cm 99.97% of the time.','Derivation of gravity-related heights from GPS observations.','EPSG','1060','Geographic3D to GravityRelatedHeight (CGG2013)','EPSG','4955','EPSG','6647','EPSG','1061',0.03,'EPSG','8666','Geoid (height correction) model file','CGG2013n83.byn',NULL,NULL,NULL,NULL,NULL,NULL,'NRC Can CGG2013',1);
INSERT INTO "grid_transformation" VALUES('EPSG','6712','Tokyo to JGD2000 (2)','NTv2 grid derived by ESRI from that supplied by GSI in application tky2jgd. After Tohoku earthquake of 2011 accuracy in northern Honshu reduced to 1-5m and in this area replaced by Tokyo to JGD2011 (tfm code 6714).','Surveying, mapping and civil engineering.','EPSG','9615','NTv2','EPSG','4301','EPSG','4612','EPSG','3957',0.2,'EPSG','8656','Latitude and longitude difference file','tky2jgd.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'OGP-Jpn',0);
INSERT INTO "grid_transformation" VALUES('EPSG','6713','JGD2000 to JGD2011 (1)','NTv2 grid derived by ESRI from that supplied by GSI in application patchjgd.','Surveying, mapping and civil engineering purposes','EPSG','9615','NTv2','EPSG','4612','EPSG','6668','EPSG','4170',0.2,'EPSG','8656','Latitude and longitude difference file','touhokutaiheiyouoki2011.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'OGP-Jpn N Honshu',0);
INSERT INTO "grid_transformation" VALUES('EPSG','6740','Tokyo to JGD2011 (2)','Parameter values from Tokyo to JGD2000 (2) (tfm code 6712) as in area of applicability JGD2011 = JGD2000. NTv2 grid derived by ESRI from that supplied by GSI in application tky2jgd. See Tokyo to JGD2011 (1) (tfm code 6714) for northern Honshu area.','Surveying, mapping and civil engineering.','EPSG','9615','NTv2','EPSG','4301','EPSG','6668','EPSG','4194',0.2,'EPSG','8656','Latitude and longitude difference file','tky2jgd.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'OGP-Jpn ex N Honshu',0);
@@ -204,11 +204,11 @@ INSERT INTO "grid_transformation" VALUES('EPSG','6947','TM75 to WGS 84 (4)','Par
INSERT INTO "grid_transformation" VALUES('EPSG','6948','RD/83 to ETRS89 (2)','Recommended by Saxony State Spatial Data and Land Survey Corporation for transformations based on official geospatial data of Saxony. See www.landesvermessung.sachsen.de/inhalt/etrs/method/method.html#ntv2.','Cadastre. Accuracy 3mm within Saxony; within the rest of RD/83 definition area results at least coincide with EPSG transformation code15868.','EPSG','9615','NTv2','EPSG','4745','EPSG','4258','EPSG','2545',0.03,'EPSG','8656','Latitude and longitude difference file','NTv2_SN.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'GeoSN-Deu SN',0);
INSERT INTO "grid_transformation" VALUES('EPSG','7000','Amersfoort to ETRS89 (7)','Consistent to within 1mm with official RNAPTRANS(TM)2008 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','rdtrans2008.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'RDNAP-Nld 2008',0);
INSERT INTO "grid_transformation" VALUES('EPSG','7001','ETRS89 to NAP height (1)','Alternative to vertical component of official 3D RDNAPTRANS(TM)2008. The naptrans2008 correction grid incorporates the NLGEO2004 geoid model plus a fixed offset.','Derivation of gravity-related heights from GPS observations. When used in conjunction with transformation Amersfoort to ETRS89 (7) (code 7000), this transformation is reversible.','EPSG','9665','Geographic3D to GravityRelatedHeight (US .gtx)','EPSG','4937','EPSG','5709','EPSG','1275',0.01,'EPSG','8666','Geoid (height correction) model file','naptrans2008.gtx',NULL,NULL,NULL,NULL,NULL,NULL,'RDNAP-Nld 2008',0);
INSERT INTO "grid_transformation" VALUES('EPSG','7646','NAD83(2011) to PRVD02 height (1)','Uses Geoid12B hybrid model. See information source for further information.','Derivation of approximate gravity-related heights from GPS observations.','EPSG','9665','Geographic3D to GravityRelatedHeight (US .gtx)','EPSG','6319','EPSG','6641','EPSG','3294',0.1,'EPSG','8666','Geoid (height correction) model file','g2012Bp0.bin',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-Pri 12B',0);
INSERT INTO "grid_transformation" VALUES('EPSG','7647','NAD83(2011) to VIVD09 height (1)','Uses Geoid12B hybrid model. See information source for further information.','Derivation of approximate gravity-related heights from GPS observations.','EPSG','9665','Geographic3D to GravityRelatedHeight (US .gtx)','EPSG','6319','EPSG','6642','EPSG','3330',0.1,'EPSG','8666','Geoid (height correction) model file','g2012Bp0.bin',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-Vir 12B',0);
INSERT INTO "grid_transformation" VALUES('EPSG','7648','NAD83(MA11) to GUVD04 height (1)','Uses Geoid12B hybrid model. See information source for further information.','Derivation of approximate gravity-related heights from GPS observations.','EPSG','9665','Geographic3D to GravityRelatedHeight (US .gtx)','EPSG','6323','EPSG','6644','EPSG','3255',0.1,'EPSG','8666','Geoid (height correction) model file','g2012Bg0.bin',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-Gum 12B',0);
INSERT INTO "grid_transformation" VALUES('EPSG','7649','NAD83(MA11) to NMVD03 height (1)','Uses Geoid12B hybrid model. See information source for further information.','Derivation of approximate gravity-related heights from GPS observations.','EPSG','9665','Geographic3D to GravityRelatedHeight (US .gtx)','EPSG','6323','EPSG','6640','EPSG','4171',0.1,'EPSG','8666','Geoid (height correction) model file','g2012Bg0.bin',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-Mnp 12B',0);
INSERT INTO "grid_transformation" VALUES('EPSG','7650','NAD83(PA11) to ASVD02 height (1)','Uses Geoid12B hybrid model. See information source for further information.','Derivation of approximate gravity-related heights from GPS observations.','EPSG','9665','Geographic3D to GravityRelatedHeight (US .gtx)','EPSG','6320','EPSG','6643','EPSG','2288',0.1,'EPSG','8666','Geoid (height correction) model file','g2012Bs0.bin',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-Asm 12B',0);
INSERT INTO "grid_transformation" VALUES('EPSG','7646','NAD83(2011) to PRVD02 height (1)','Uses Geoid12B hybrid model. See information source for further information.','Derivation of approximate gravity-related heights from GPS observations.','EPSG','9665','Geographic3D to GravityRelatedHeight (US .gtx)','EPSG','6319','EPSG','6641','EPSG','3294',0.02,'EPSG','8666','Geoid (height correction) model file','g2012bp0.bin',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-Pri 12B',0);
INSERT INTO "grid_transformation" VALUES('EPSG','7647','NAD83(2011) to VIVD09 height (1)','Uses Geoid12B hybrid model. See information source for further information.','Derivation of approximate gravity-related heights from GPS observations.','EPSG','9665','Geographic3D to GravityRelatedHeight (US .gtx)','EPSG','6319','EPSG','6642','EPSG','3330',0.02,'EPSG','8666','Geoid (height correction) model file','g2012bp0.bin',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-Vir 12B',0);
INSERT INTO "grid_transformation" VALUES('EPSG','7648','NAD83(MA11) to GUVD04 height (1)','Uses Geoid12B hybrid model. See information source for further information.','Derivation of approximate gravity-related heights from GPS observations.','EPSG','9665','Geographic3D to GravityRelatedHeight (US .gtx)','EPSG','6323','EPSG','6644','EPSG','3255',0.02,'EPSG','8666','Geoid (height correction) model file','g2012bg0.bin',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-Gum 12B',0);
INSERT INTO "grid_transformation" VALUES('EPSG','7649','NAD83(MA11) to NMVD03 height (1)','Uses Geoid12B hybrid model. See information source for further information.','Derivation of approximate gravity-related heights from GPS observations.','EPSG','9665','Geographic3D to GravityRelatedHeight (US .gtx)','EPSG','6323','EPSG','6640','EPSG','4171',0.02,'EPSG','8666','Geoid (height correction) model file','g2012bg0.bin',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-Mnp 12B',0);
INSERT INTO "grid_transformation" VALUES('EPSG','7650','NAD83(PA11) to ASVD02 height (1)','Uses Geoid12B hybrid model. See information source for further information.','Derivation of approximate gravity-related heights from GPS observations.','EPSG','9665','Geographic3D to GravityRelatedHeight (US .gtx)','EPSG','6320','EPSG','6643','EPSG','2288',0.02,'EPSG','8666','Geoid (height correction) model file','g2012bs0.bin',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-Asm 12B',0);
INSERT INTO "grid_transformation" VALUES('EPSG','7655','PNG94 to PNG08 height (1)','','Derivation of gravity-related heights from GPS observations.','EPSG','1059','Geographic3D to GravityRelatedHeight (PNG)','EPSG','5545','EPSG','7447','EPSG','4384',0.2,'EPSG','8666','Geoid (height correction) model file','PNG08.DAT',NULL,NULL,NULL,NULL,NULL,NULL,'QC-Png',0);
INSERT INTO "grid_transformation" VALUES('EPSG','7673','CH1903 to CHTRF95 (1)','Equivalent to concatenation of transformations 15486 and 1509 to within 2cm. Also used as transformation between CH1903 and ETRS89 (see code 7674).','Approximation (to better than 2m) using NTv2 method of results of FINELTRA programme concatenated with LV-95 parameters.','EPSG','9615','NTv2','EPSG','4149','EPSG','4151','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','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);
@@ -242,9 +242,9 @@ INSERT INTO "grid_transformation" VALUES('EPSG','7891','SHGD2015 to SHVD2015 hei
INSERT INTO "grid_transformation" VALUES('EPSG','7957','Canada velocity grid v6','NOTE: Before being deprecated this record had a second parameter (code 1048, value 8251) which has been removed due to being non-compliant with the data model.','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',1);
INSERT INTO "grid_transformation" VALUES('EPSG','7958','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','1072','Geographic3D to GravityRelatedHeight (OSGM15-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',0);
INSERT INTO "grid_transformation" VALUES('EPSG','7959','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','1072','Geographic3D to GravityRelatedHeight (OSGM15-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',0);
INSERT INTO "grid_transformation" VALUES('EPSG','7969','NGVD29 height (m) to NAVD88 height (1)','In this area the NGVD29 vertical reference surface is approximately 0.6 to 1.6m below the NAVD88 datum surface. Interpolation within the gridded data file may be made using either NAD27 or any of the realizations of NAD83 applicable to US conus.','Change of height to a different vertical reference surface, accuracy 2cm.','EPSG','9658','VERTCON','EPSG','7968','EPSG','5703','EPSG','2950',0.02,'EPSG','8732','Vertical offset file','vertconw.94',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-US Conus W',0);
INSERT INTO "grid_transformation" VALUES('EPSG','7970','NGVD29 height (m) to NAVD88 height (2)','In the SE of this area the NGVD29 surface is 0 to 0.1m above the NAVD88 surface; in the W it is 0.6 to 0.9m below the NAVD88 surface. Interpolation in the data file may be made using either NAD27 or any of the NAD83 realizations applicable to US conus.','Change of height to a different vertical reference surface, accuracy 2cm.','EPSG','9658','VERTCON','EPSG','7968','EPSG','5703','EPSG','2949',0.02,'EPSG','8732','Vertical offset file','vertconc.94',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-US Conus C',0);
INSERT INTO "grid_transformation" VALUES('EPSG','7971','NGVD29 height (m) to NAVD88 height (3)','In this area the NGVD29 vertical reference surface is approximately 0 to 0.5m above the NAVD88 surface. Interpolation within the gridded data file may be made using either NAD27 or any of the realisations of NAD83 applicable to US conus.','Change of height to a different vertical reference surface, accuracy 2cm.','EPSG','9658','VERTCON','EPSG','7968','EPSG','5703','EPSG','2948',0.02,'EPSG','8732','Vertical offset file','vertcone.94',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-US Conus E',0);
INSERT INTO "grid_transformation" VALUES('EPSG','7969','NGVD29 height (m) to NAVD88 height (1)','In this area the NGVD29 vertical reference surface is approximately 0.6 to 1.6m below the NAVD88 datum surface. Interpolation within the gridded data file may be made using either NAD27 or any of the realizations of NAD83 applicable to US conus.','Change of height to a different vertical reference surface.','EPSG','9658','VERTCON','EPSG','7968','EPSG','5703','EPSG','2950',0.02,'EPSG','8732','Vertical offset file','vertconw.94',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-US Conus W',0);
INSERT INTO "grid_transformation" VALUES('EPSG','7970','NGVD29 height (m) to NAVD88 height (2)','In the SE of this area the NGVD29 surface is 0 to 0.1m above the NAVD88 surface; in the W it is 0.6 to 0.9m below the NAVD88 surface. Interpolation in the data file may be made using either NAD27 or any of the NAD83 realizations applicable to US conus.','Change of height to a different vertical reference surface.','EPSG','9658','VERTCON','EPSG','7968','EPSG','5703','EPSG','2949',0.02,'EPSG','8732','Vertical offset file','vertconc.94',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-US Conus C',0);
INSERT INTO "grid_transformation" VALUES('EPSG','7971','NGVD29 height (m) to NAVD88 height (3)','In this area the NGVD29 vertical reference surface is approximately 0 to 0.5m above the NAVD88 surface. Interpolation within the gridded data file may be made using either NAD27 or any of the realisations of NAD83 applicable to US conus.','Change of height to a different vertical reference surface.','EPSG','9658','VERTCON','EPSG','7968','EPSG','5703','EPSG','2948',0.02,'EPSG','8732','Vertical offset file','vertcone.94',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-US Conus E',0);
INSERT INTO "grid_transformation" VALUES('EPSG','8037','WGS 84 to MSL height (1)','Parameter values are from WGS 84 to EGM2008 height (2) (tfm code 3859) assuming that the EGM2008 height surface approximates to MSL height within the accuracy of the transformation.','Derivation of gravity-related heights referenced to an unspecified mean sea level from GPS observations.','EPSG','1025','Geographic3D to GravityRelatedHeight (EGM2008)','EPSG','4979','EPSG','5714','EPSG','1262',0.5,'EPSG','8666','Geoid (height correction) model file','Und_min1x1_egm2008_isw=82_WGS84_TideFree.gz',NULL,NULL,NULL,NULL,NULL,NULL,'IOGP-World',0);
INSERT INTO "grid_transformation" VALUES('EPSG','8268','GR96 to GVR2000 height (1)','Defines GVR2000. File is also available in NOAA VDatum format (ggeoid2000.gtx) and GeoTIFF format (ggeoid2000.tif).','Derivation of gravity-related heights from GNSS observations.','EPSG','1047','Geographic3D to GravityRelatedHeight (Gravsoft)','EPSG','4909','EPSG','8266','EPSG','4461',0.1,'EPSG','8666','Geoid (height correction) model file','gr2000g.gri',NULL,NULL,NULL,NULL,NULL,NULL,'SDFE-Grl',0);
INSERT INTO "grid_transformation" VALUES('EPSG','8269','GR96 to GVR2016 height (1)','Defines GVR2016. File is also available in NOAA VDatum format (ggeoid2016.gtx) and GeoTIFF format (ggeoid2016.tif).','Derivation of gravity-related heights from GNSS observations.','EPSG','1047','Geographic3D to GravityRelatedHeight (Gravsoft)','EPSG','4909','EPSG','8267','EPSG','4454',0.1,'EPSG','8666','Geoid (height correction) model file','ggeoid16.gri',NULL,NULL,NULL,NULL,NULL,NULL,'SDFE-Grl',0);
@@ -261,8 +261,42 @@ INSERT INTO "grid_transformation" VALUES('EPSG','8445','GDA94 to GDA2020 (5)','S
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);
INSERT INTO "grid_transformation" VALUES('EPSG','8447','GDA94 to GDA2020 (2)','See GDA94 to GDA2020 (1) or (3) (codes 8048 and 8446) for alternative conformal-only transformation without local distortion modelling. GDA2020 Technical Manual and fact sheet T1 give guidance on which to use.','Transformation of GDA94 coordinates when localised distortion needs to be taken into account, e.g. if GDA94 coordinates were derived survey control monuments.','EPSG','9615','NTv2','EPSG','4283','EPSG','7844','EPSG','2575',0.05,'EPSG','8656','Latitude and longitude difference file','GDA94_GDA2020_conformal_and_distortion.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'ICSM-Aus Conf and Dist',0);
INSERT INTO "grid_transformation" VALUES('EPSG','8451','GDA2020 to AHD height (1)','Uncertainties given in accompanying file AUSGeoid2020_windows_binary_uncertainty.gsb','Derivation of gravity-related heights from GNSS observations.','EPSG','1048','Geographic3D to GravityRelatedHeight (Ausgeoid v2)','EPSG','7843','EPSG','5711','EPSG','4493',0.03,'EPSG','8666','Geoid (height correction) model file','AUSGeoid2020_windows_binary.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'GA-Aus 2020',0);
INSERT INTO "grid_transformation" VALUES('EPSG','8546','St. George Island 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','4138','EPSG','4269','EPSG','1331',0.15,'EPSG','8657','Latitude difference file','nadcon5.sg1952.nad83_1986.stgeorge.lat.trn.20160901.b','EPSG','8658','Longitude difference file','nadcon5.sg1952.nad83_1986.stgeorge.lon.trn.20160901.b',NULL,NULL,'NGS-Usa AK StG Nadcon5',0);
INSERT INTO "grid_transformation" VALUES('EPSG','8547','St. Lawrence Island 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','4136','EPSG','4269','EPSG','1332',0.5,'EPSG','8657','Latitude difference file','nadcon5.sl1952.nad83_1986.stlawrence.lat.trn.20160901.b','EPSG','8658','Longitude difference file','nadcon5.sl1952.nad83_1986.stlawrence.lon.trn.20160901.b',NULL,NULL,'NGS-Usa AK StL Nadcon5',0);
INSERT INTO "grid_transformation" VALUES('EPSG','8548','St. Paul Island 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','4137','EPSG','4269','EPSG','1333',0.5,'EPSG','8657','Latitude difference file','nadcon5.sp1952.nad83_1986.stpaul.lat.trn.20160901.b','EPSG','8658','Longitude difference file','nadcon5.sp1952.nad83_1986.stpaul.lon.trn.20160901.b',NULL,NULL,'NGS-Usa AK StP Nadcon5',0);
INSERT INTO "grid_transformation" VALUES('EPSG','8549','NAD27 to NAD83 (8)','Uses NADCON5 method which expects longitudes positive east in range 0-360°; source and target CRSs have longitudes positive east in range -180° to +180°. Accuracy at 67% confidence level is 0.5m onshore, 5m nearshore and undetermined farther offshore.','Spatial referencing.','EPSG','1074','NADCON5 (2D)','EPSG','4267','EPSG','4269','EPSG','1330',0.5,'EPSG','8657','Latitude difference file','nadcon5.nad27.nad83_1986.alaska.lat.trn.20160901.b','EPSG','8658','Longitude difference file','nadcon5.nad27.nad83_1986.alaska.lon.trn.20160901.b',NULL,NULL,'NGS-Usa AK Nadcon5',0);
INSERT INTO "grid_transformation" VALUES('EPSG','8550','NAD83 to NAD83(HARN) (48)','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','2373',0.15,'EPSG','8657','Latitude difference file','nadcon5.nad83_1986.nad83_1992.alaska.lat.trn.20160901.b','EPSG','8658','Longitude difference file','nadcon5.nad83_1986.nad83_1992.alaska.lon.trn.20160901.b',NULL,NULL,'NGS-Usa AK Nadcon5',0);
INSERT INTO "grid_transformation" VALUES('EPSG','8555','NAD27 to NAD83 (7)','Uses NADCON5 method which expects longitudes positive east in range 0-360°; source and target CRSs have longitudes positive east in range -180° to +180°. Accuracy at 67% confidence level is 0.15m onshore, 1m nearshore and undetermined farther offshore.','Spatial referencing.','EPSG','1074','NADCON5 (2D)','EPSG','4267','EPSG','4269','EPSG','4516',0.15,'EPSG','8657','Latitude difference file','nadcon5.nad27.nad83_1986.conus.lat.trn.20160901.b','EPSG','8658','Longitude difference file','nadcon5.nad27.nad83_1986.conus.lon.trn.20160901.b',NULL,NULL,'NGS-Usa Conus Nadcon5',0);
INSERT INTO "grid_transformation" VALUES('EPSG','8556','NAD83 to NAD83(HARN) (47)','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','4516',0.05,'EPSG','8657','Latitude difference file','nadcon5.nad83_1986.nad83_harn.conus.lat.trn.20160901.b','EPSG','8658','Longitude difference file','nadcon5.nad83_1986.nad83_harn.conus.lon.trn.20160901.b',NULL,NULL,'NGS-Usa Conus Nadcon5',0);
INSERT INTO "grid_transformation" VALUES('EPSG','8561','Old Hawaiian 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','4135','EPSG','4269','EPSG','1334',0.2,'EPSG','8657','Latitude difference file','nadcon5.ohd.nad83_1986.hawaii.lat.trn.20160901.b','EPSG','8658','Longitude difference file','nadcon5.ohd.nad83_1986.hawaii.lon.trn.20160901.b',NULL,NULL,'NGS-Usa HI Nadcon5',0);
INSERT INTO "grid_transformation" VALUES('EPSG','8660','NAD83 to NAD83(HARN) (49)','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','1334',0.05,'EPSG','8657','Latitude difference file','nadcon5.nad83_1986.nad83_1993.hawaii.lat.trn.20160901.b','EPSG','8658','Longitude difference file','nadcon5.nad83_1986.nad83_1993.hawaii.lon.trn.20160901.b',NULL,NULL,'NGS-Usa HI Nadcon5',0);
INSERT INTO "grid_transformation" VALUES('EPSG','8662','American Samoa 1962 to NAD83(HARN) (3)','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','4169','EPSG','4152','EPSG','3109',5.0,'EPSG','8657','Latitude difference file','nadcon5.as62.nad83_1993.as.lat.trn.20160901.b','EPSG','8658','Longitude difference file','nadcon5.as62.nad83_1993.as.lon.trn.20160901.b',NULL,NULL,'NGS-Asm Nadcon5',0);
INSERT INTO "grid_transformation" VALUES('EPSG','8665','Guam 1963 to NAD83(HARN) (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','4675','EPSG','4152','EPSG','4525',5.0,'EPSG','8657','Latitude difference file','nadcon5.gu63.nad83_1993.guamcnmi.lat.trn.20160901.b','EPSG','8658','Longitude difference file','nadcon5.gu63.nad83_1993.guamcnmi.lon.trn.20160901.b',NULL,NULL,'NGS-Gum NADCON5',0);
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','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);
INSERT INTO "grid_transformation" VALUES('EPSG','9108','NAD27 to NAD83(CSRS)v3 (6)','Derived through NAD83(CSRS)v3 but within accuracy of transformation may be assumed to apply to any version. For Ontario excluding Toronto use NAD27 to NAD83(CSRS) (5) (CT code 9107).','Spatial referencing.','EPSG','9615','NTv2','EPSG','4267','EPSG','8240','EPSG','4536',1.0,'EPSG','8656','Latitude and longitude difference file','TOR27CSv1.GSB',NULL,NULL,NULL,NULL,NULL,NULL,'LIO-Can Ont Tor',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9109','NAD27(76) to NAD83(CSRS)v3 (1)','Derived through NAD83(CSRS)v3 but within accuracy of transformation may be assumed to apply to any version.','Spatial referencing.','EPSG','9615','NTv2','EPSG','4608','EPSG','8240','EPSG','1367',1.0,'EPSG','8656','Latitude and longitude difference file','ON76CSv1.GSB',NULL,NULL,NULL,NULL,NULL,NULL,'LIO-Can Ont',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9110','NAD83 to NAD83(CSRS)v3 (5)','Derived through NAD83(CSRS)v3.','Spatial referencing.','EPSG','9615','NTv2','EPSG','4269','EPSG','8240','EPSG','1367',0.1,'EPSG','8656','Latitude and longitude difference file','ON83CSv1.GSB',NULL,NULL,NULL,NULL,NULL,NULL,'LIO-Can Ont',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9111','NAD27 to NAD83 (9)','','Spatial referencing.','EPSG','9615','NTv2','EPSG','4267','EPSG','4269','EPSG','2375',1.5,'EPSG','8656','Latitude and longitude difference file','SK27-83.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'ISC-Can SK',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9112','NAD27 to NAD83(CSRS)v2 (7)','Derived through NAD83(CSRS)v2. Replaced by NAD27 to NAD83(CSRS) (8) (CT code 9113) for CRD, NAD27 to NAD83(CSRS) (9) (CT code 9114) forn north Vancouver Island and NAD27 to NAD83(CSRS) (10) (CT code 9115) for mainland.','Spatial referencing.','EPSG','9615','NTv2','EPSG','4267','EPSG','8237','EPSG','2832',1.5,'EPSG','8656','Latitude and longitude difference file','BC_27_98.GSB',NULL,NULL,NULL,NULL,NULL,NULL,'GeoBC-Can BC CSRSv2',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9113','NAD27 to NAD83(CSRS)v3 (8)','Derived through NAD83(CSRS)v3.','Spatial referencing.','EPSG','9615','NTv2','EPSG','4267','EPSG','8240','EPSG','4533',1.5,'EPSG','8656','Latitude and longitude difference file','CRD27_00.GSB',NULL,NULL,NULL,NULL,NULL,NULL,'GeoBC-Can BC CRD',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9114','NAD27 to NAD83(CSRS)v3 (9)','Derived through NAD83(CSRS)v3.','Spatial referencing.','EPSG','9615','NTv2','EPSG','4267','EPSG','8240','EPSG','4534',1.5,'EPSG','8656','Latitude and longitude difference file','NVI27_05.GSB',NULL,NULL,NULL,NULL,NULL,NULL,'GeoBC-Can BC NVI',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9115','NAD27 to NAD83(CSRS)v4 (10)','Derived through NAD83(CSRS)v4.','Spatial referencing.','EPSG','9615','NTv2','EPSG','4267','EPSG','8246','EPSG','4535',1.5,'EPSG','8656','Latitude and longitude difference file','BC_27_05.GSB',NULL,NULL,NULL,NULL,NULL,NULL,'GeoBC-Can BC mainland',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9116','NAD83 to NAD83(CSRS)v2 (6)','Derived through NAD83(CSRS)v2. Replaced by NAD83 to NAD83(CSRS) (7) (CT code 9117) for CRD, NAD83 to NAD83(CSRS) (8) (CT code 9118) for north Vancouver Island and NAD83 to NAD83(CSRS) (9) (CT code 9119) for mainland.','Spatial referencing.','EPSG','9615','NTv2','EPSG','4269','EPSG','8237','EPSG','2832',0.1,'EPSG','8656','Latitude and longitude difference file','BC_93_98.GSB',NULL,NULL,NULL,NULL,NULL,NULL,'GeoBC-Can BC CSRSv2',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9117','NAD83 to NAD83(CSRS)v3 (7)','Derived through NAD83(CSRS)v3.','Spatial referencing.','EPSG','9615','NTv2','EPSG','4269','EPSG','8240','EPSG','4533',0.1,'EPSG','8656','Latitude and longitude difference file','CRD93_00.GSB',NULL,NULL,NULL,NULL,NULL,NULL,'GeoBC-Can BC CRD',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9118','NAD83 to NAD83(CSRS)v3 (8)','Derived through NAD83(CSRS)v3.','Spatial referencing.','EPSG','9615','NTv2','EPSG','4269','EPSG','8240','EPSG','4534',0.1,'EPSG','8656','Latitude and longitude difference file','NVI93_05.GSB',NULL,NULL,NULL,NULL,NULL,NULL,'GeoBC-Can BC NVI',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9119','NAD83 to NAD83(CSRS)v4 (9)','Derived through NAD83(CSRS)v4.','Spatial referencing.','EPSG','9615','NTv2','EPSG','4269','EPSG','8246','EPSG','4535',0.1,'EPSG','8656','Latitude and longitude difference file','BC_93_05.GSB',NULL,NULL,NULL,NULL,NULL,NULL,'GeoBC-Can BC mainland',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9120','NAD83(CSRS)v2 to NAD83(CSRS)v3 (1)','','Spatial referencing.','EPSG','9615','NTv2','EPSG','8237','EPSG','8240','EPSG','4533',0.1,'EPSG','8656','Latitude and longitude difference file','CRD98_00.GSB',NULL,NULL,NULL,NULL,NULL,NULL,'GeoBC-Can BC CRD',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9121','NAD83(CSRS)v2 to NAD83(CSRS)v3 (2)','','Spatial referencing.','EPSG','9615','NTv2','EPSG','8237','EPSG','8240','EPSG','4534',0.1,'EPSG','8656','Latitude and longitude difference file','NVI98_05.GSB',NULL,NULL,NULL,NULL,NULL,NULL,'GeoBC-Can BC NVI',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9122','NAD83(CSRS)v2 to NAD83(CSRS)v4 (1)','','Spatial referencing.','EPSG','9615','NTv2','EPSG','8237','EPSG','8240','EPSG','4535',0.1,'EPSG','8656','Latitude and longitude difference file','BC_98_05.GSB',NULL,NULL,NULL,NULL,NULL,NULL,'GeoBC-Can BC mainland',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9123','NAD83(CSRS) to CGVD28 height (1)','Derived through NAD83(CSRS)v3.','Derivation of gravity-related heights from GPS observations.','EPSG','1060','Geographic3D to GravityRelatedHeight (CGG2013)','EPSG','4955','EPSG','5713','EPSG','1061',0.05,'EPSG','8666','Geoid (height correction) model file','HT2_0.byn',NULL,NULL,NULL,NULL,NULL,NULL,'NRC Can CGG2000',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9124','ITRF2008 to CGVD2013(CGG2013) height (1)','Uses CGG2013 model derived through NAD83(CSRS)v6 which uses bi-quadratic interpolation; bi-linear interpolation of the grid file will give results agreeing to within 1cm 99.97% of the time. Replaced by CT code 9125.','Derivation of gravity-related heights from GPS observations.','EPSG','1060','Geographic3D to GravityRelatedHeight (CGG2013)','EPSG','7911','EPSG','6647','EPSG','1061',0.03,'EPSG','8666','Geoid (height correction) model file','CGG2013i83.byn',NULL,NULL,NULL,NULL,NULL,NULL,'NRC Can CGG2013',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9125','ITRF2008 to CGVD2013(CGG2013a) height (2)','Uses CGG2013a model derived through NAD83(CSRS)v6 which uses bi-quadratic interpolation; bi-linear interpolation of the grid file will give results agreeing to within 1cm 99.97% of the time. Replaces CT code 9124.','Derivation of gravity-related heights from GPS observations.','EPSG','1060','Geographic3D to GravityRelatedHeight (CGG2013)','EPSG','7911','EPSG','9245','EPSG','1061',0.03,'EPSG','8666','Geoid (height correction) model file','CGG2013i08a.byn',NULL,NULL,NULL,NULL,NULL,NULL,'NRC Can CGG2013a',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9131','RGAF09 to IGN 2008 LD height (1)','Replaces RGAF09 to IGN 1992 LD height (1) (CT code 5507). Accuracy 0.1-0.2m within onshore area.','Derivation of gravity-related heights from GPS observations.','EPSG','1073','Geographic3D to GravityRelatedHeight (IGN2009)','EPSG','5488','EPSG','9130','EPSG','2893',0.2,'EPSG','8666','Geoid (height correction) model file','RALD2016.mnt',NULL,NULL,NULL,NULL,NULL,NULL,'IGN-Glp Des',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9132','RRAF 1991 to IGN 2008 LD height (1)','Replaces RRAF 1991 to IGN 1992 LD height (1) (CT code 4566). Accuracy 0.1-0.2m within onshore area.','Derivation of gravity-related heights from GPS observations.','EPSG','1073','Geographic3D to GravityRelatedHeight (IGN2009)','EPSG','4557','EPSG','9130','EPSG','2893',0.2,'EPSG','8666','Geoid (height correction) model file','RALDW842016.mnt',NULL,NULL,NULL,NULL,NULL,NULL,'IGN Glp Des',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9133','RGAF09 to Guadeloupe 1988 height (2)','Replaces RGAF09 to Guadeloupe 1988 height (1) (CT code 5503). Accuracy 0.01-0.05m within onshore areas.','Derivation of gravity-related heights from GPS observations.','EPSG','1073','Geographic3D to GravityRelatedHeight (IGN2009)','EPSG','5488','EPSG','5757','EPSG','2892',0.05,'EPSG','8666','Geoid (height correction) model file','RAGTBT2016.mnt',NULL,NULL,NULL,NULL,NULL,NULL,'IGN Glp GT 2016',0);
@@ -270,8 +304,43 @@ INSERT INTO "grid_transformation" VALUES('EPSG','9134','RGAF09 to IGN 1988 LS he
INSERT INTO "grid_transformation" VALUES('EPSG','9135','RGAF09 to IGN 1988 MG height (2)','Replaces RGAF09 to IGN 1988 MG height (1), CT code 5504. Accuracy 0.0.5-0.1m within onshore area.','Derivation of gravity-related heights from GPS observations.','EPSG','1073','Geographic3D to GravityRelatedHeight (IGN2009)','EPSG','5488','EPSG','5617','EPSG','2894',0.1,'EPSG','8666','Geoid (height correction) model file','RAMG2016.mnt',NULL,NULL,NULL,NULL,NULL,NULL,'IGN Glp MG 2016',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9136','RGAF09 to Martinique 1987 height (2)','Replaces RGAF09 to Martinique 1987 height (1) (CT code 5502). Accuracy 0.01m to 0.05m within onshore area.','Derivation of gravity-related heights from GPS observations.','EPSG','1073','Geographic3D to GravityRelatedHeight (IGN2009)','EPSG','5488','EPSG','5756','EPSG','3276',0.05,'EPSG','8666','Geoid (height correction) model file','RAMART2016.mnt',NULL,NULL,NULL,NULL,NULL,NULL,'IGN Mtq 2016',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9137','RGSPM06 to Danger 1950 height (1)','Accuracy 0.10m to 0.20m within onshore area.','Derivation of gravity-related heights from GPS observations.','EPSG','1073','Geographic3D to GravityRelatedHeight (IGN2009)','EPSG','4466','EPSG','5792','EPSG','1220',0.2,'EPSG','8666','Geoid (height correction) model file','GGSPM06v1.mnt',NULL,NULL,NULL,NULL,NULL,NULL,'IGN-SPM',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9160','NAD83(HARN) to NAVD88 height (1)','Uses Geoid99 hybrid model. Replaced by 2003 model (CT code 9168).','Derivation of approximate gravity-related heights from GPS observations.','EPSG','9665','Geographic3D to GravityRelatedHeight (US .gtx)','EPSG','4957','EPSG','5703','EPSG','2977',0.05,'EPSG','8666','Geoid (height correction) model file','g1999u01.bin',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-US Conus NW',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9161','NAD83(HARN) to NAVD88 height (2)','Uses Geoid99 hybrid model. Replaced by 2003 model (CT code 9168).','Derivation of approximate gravity-related heights from GPS observations.','EPSG','9665','Geographic3D to GravityRelatedHeight (US .gtx)','EPSG','4957','EPSG','5703','EPSG','2978',0.05,'EPSG','8666','Geoid (height correction) model file','g1999u02.bin',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-US Conus CNW',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9162','NAD83(HARN) to NAVD88 height (3)','Uses Geoid99 hybrid model. Replaced by 2003 model (CT code 9168).','Derivation of approximate gravity-related heights from GPS observations.','EPSG','9665','Geographic3D to GravityRelatedHeight (US .gtx)','EPSG','4957','EPSG','5703','EPSG','2979',0.05,'EPSG','8666','Geoid (height correction) model file','g1999u03.bin',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-US Conus CNE',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9163','NAD83(HARN) to NAVD88 height (4)','Uses Geoid99 hybrid model. Replaced by 2003 model (CT code 9168).','Derivation of approximate gravity-related heights from GPS observations.','EPSG','9665','Geographic3D to GravityRelatedHeight (US .gtx)','EPSG','4957','EPSG','5703','EPSG','2980',0.05,'EPSG','8666','Geoid (height correction) model file','g1999u04.bin',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-US Conus NE',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9164','NAD83(HARN) to NAVD88 height (5)','Uses Geoid99 hybrid model. Replaced by 2003 model (CT code 9168).','Derivation of approximate gravity-related heights from GPS observations.','EPSG','9665','Geographic3D to GravityRelatedHeight (US .gtx)','EPSG','4957','EPSG','5703','EPSG','2973',0.05,'EPSG','8666','Geoid (height correction) model file','g1999u05.bin',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-US Conus SW',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9165','NAD83(HARN) to NAVD88 height (6)','Uses Geoid99 hybrid model. Replaced by 2003 model (CT code 9168).','Derivation of approximate gravity-related heights from GPS observations.','EPSG','9665','Geographic3D to GravityRelatedHeight (US .gtx)','EPSG','4957','EPSG','5703','EPSG','2974',0.05,'EPSG','8666','Geoid (height correction) model file','g1999u06.bin',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-US Conus CSW',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9166','NAD83(HARN) to NAVD88 height (7)','Uses Geoid99 hybrid model. Replaced by 2003 model (CT code 9168).','Derivation of approximate gravity-related heights from GPS observations.','EPSG','9665','Geographic3D to GravityRelatedHeight (US .gtx)','EPSG','4957','EPSG','5703','EPSG','2975',0.05,'EPSG','8666','Geoid (height correction) model file','g1999u07.bin',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-US Conus CSE',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9167','NAD83(HARN) to NAVD88 height (8)','Uses Geoid99 hybrid model. Replaced by 2003 model (CT code 9168).','Derivation of approximate gravity-related heights from GPS observations.','EPSG','9665','Geographic3D to GravityRelatedHeight (US .gtx)','EPSG','4957','EPSG','5703','EPSG','2976',0.05,'EPSG','8666','Geoid (height correction) model file','g1999u08.bin',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-US Conus SE',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9168','NAD83(FBN) to NAVD88 height (1)','Uses Geoid03 hybrid model. Replaced by 2009 model (CT code 9173).','Derivation of approximate gravity-related heights from GPS observations.','EPSG','9665','Geographic3D to GravityRelatedHeight (US .gtx)','EPSG','8542','EPSG','5703','EPSG','1323',0.02,'EPSG','8666','Geoid (height correction) model file','geoid03_conus.bin',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-US Conus',0);
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 (US .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 (US .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 (US .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 (US .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','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 (US .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 (US .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 (US .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);
INSERT INTO "grid_transformation" VALUES('EPSG','9176','NAD83(NSRS2007) to VIVD09 height (1)','Uses Geoid09 hybrid model. Replaced by Geoid12 model (CT code 7647).','Derivation of approximate gravity-related heights from GPS observations.','EPSG','9665','Geographic3D to GravityRelatedHeight (US .gtx)','EPSG','4893','EPSG','6642','EPSG','3330',0.05,'EPSG','8666','Geoid (height correction) model file','g2009p01.bin',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-Vir 09',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9187','RGAF09 to IGN 1988 SB height (2)','Accuracy 0.05m to 0.1m. Replaces RGAF09 to IGN 1988 SB height (1), transformation code 5508.','Derivation of gravity-related heights from GPS observations.','EPSG','1073','Geographic3D to GravityRelatedHeight (IGN2009)','EPSG','5488','EPSG','5619','EPSG','2891',0.1,'EPSG','8666','Geoid (height correction) model file','gg10_sbv2.mnt',NULL,NULL,NULL,NULL,NULL,NULL,'IGN Glp StB',0);
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 (US .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 (US .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','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 (US .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);
INSERT INTO "grid_transformation" VALUES('EPSG','9235','ATS77 to NAD83(CSRS)v3 (3)','Can be taken as an approximate transformation ATS77 to WGS 84 - see code 1851. Replaced by ATS77 to NAD83(CSRS)v6 (4) (transformation code 9106).','Accuracy 1-2 metres.','EPSG','9615','NTv2','EPSG','4122','EPSG','8240','EPSG','2313',1.5,'EPSG','8656','Latitude and longitude difference file','NS778301.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'NSGC-Can NS',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9236','ATS77 to NAD83(CSRS)v2 (2)','Can be taken as an approximate transformation ATS77 to WGS 84 - see code 1689.','Accuracy 1-2 metres.','EPSG','9615','NTv2','EPSG','4122','EPSG','8237','EPSG','1533',1.5,'EPSG','8656','Latitude and longitude difference file','PE7783V2.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'PEI DOT-Can PEI',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9237','ATS77 to NAD83(CSRS)v2 (1)','Introduced in 1999. Can be taken as an approximate transformation ATS77 to WGS 84 - see code 1688.','Used in the GeoNB Coordinate Transformation Service. Accuracy 1-2 metres.','EPSG','9615','NTv2','EPSG','4122','EPSG','8237','EPSG','1447',1.5,'EPSG','8656','Latitude and longitude difference file','NB7783v2.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'GIC-Can NB',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9238','NAD27 to NAD83(CSRS)v2 (4)','Introduced in 2011. Precision of 20 cm in area covered by the input data set and 40 cm anywhere else, with the exception of the northwest area of the province (near the border with Quebec) where the precision deteriorates to 80 cm.','Used in the GeoNB Coordinate Transformation Service.','EPSG','9615','NTv2','EPSG','4267','EPSG','8237','EPSG','1447',0.8,'EPSG','8656','Latitude and longitude difference file','NB2783v2.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'SNB-Can NB',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9239','NAD27 to NAD83(CSRS)v2 (1)','Uses NT method which expects longitudes positive west; EPSG GeogCRSs NAD27 (code 4267) and NAD83(CSRS) (code 4617) have longitudes positive east. Can be taken as an approximate transformation NAD27 to WGS 84 - see code 1692.','Accuracy 1-2 metres.','EPSG','9615','NTv2','EPSG','4267','EPSG','8237','EPSG','1368',1.5,'EPSG','8656','Latitude and longitude difference file','QUE27-98.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'SGQ-Can QC',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9240','NAD27(CGQ77) to NAD83(CSRS)v2 (1)','Uses NT method which expects longitudes positive west; EPSG GeogCRSs NAD27(CGQ77) (code 4609) and NAD83(CSRS) (code 4617) have longitudes positive east. Can be taken as an approximate transformation NAD27(CGQ77) to WGS 84 - see code 1691.','Accuracy 1-2 metres.','EPSG','9615','NTv2','EPSG','4609','EPSG','8237','EPSG','1368',1.5,'EPSG','8656','Latitude and longitude difference file','CGQ77-98.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'SGQ-Can QC',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9241','NAD83 to NAD83(CSRS)v2 (1)','Uses NT method which expects longitudes positive west; EPSG GeogCRSs NAD83 (code 4269) and NAD83(CSRS) (code 4617) have longitudes positive east. Can be taken as an approximate transformation NAD83 to WGS 84 - see code 1696.','Accuracy 1-2 metres.','EPSG','9615','NTv2','EPSG','4269','EPSG','8237','EPSG','1368',1.5,'EPSG','8656','Latitude and longitude difference file','NAD83-98.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'SGQ-Can QC',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9242','NAD27 to NAD83(CSRS)v3 (2)','Can be taken as an approximate transformation NAD27 to WGS 84 - see code 1703.','Accuracy 1-2 metres.','EPSG','9615','NTv2','EPSG','4267','EPSG','8240','EPSG','2375',1.5,'EPSG','8656','Latitude and longitude difference file','SK27-98.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'SK PMC-Can SK',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9243','NAD83 to NAD83(CSRS)v3 (2)','Can be taken as an approximate transformation NAD83 to WGS 84 - see code 1697.','Accuracy 1-2 metres.','EPSG','9615','NTv2','EPSG','4269','EPSG','8240','EPSG','2375',1.5,'EPSG','8656','Latitude and longitude difference file','SK83-98.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'SK PMC-Can SK',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9244','NAD83 to NAD83(CSRS)v4 (3)','This gridded difference file AB_CSRS.DAC will need to be renamed to AB_CSRS.gsb to run in some software suites. Formats identical, but AB file is provincial fit only. Can be taken as an approximate transformation NAD83 to WGS 84 - see code 1702.','Accuracy 1-2 metres.','EPSG','9615','NTv2','EPSG','4269','EPSG','8246','EPSG','2376',1.5,'EPSG','8656','Latitude and longitude difference file','AB_CSRS.DAC',NULL,NULL,NULL,NULL,NULL,NULL,'AB Env-Can AB',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9246','NAD83(CSRS)v6 to CGVD2013(CGG2013) height (1)','Uses CGG2013 model which uses bi-quadratic interpolation; bi-linear interpolation of the grid file will give results agreeing to within 1cm 99.97% of the time. Replaced by CGG2013a model (CT code 9247).','Derivation of gravity-related heights from GPS observations.','EPSG','1060','Geographic3D to GravityRelatedHeight (CGG2013)','EPSG','8251','EPSG','6647','EPSG','1061',0.03,'EPSG','8666','Geoid (height correction) model file','CGG2013n83.byn',NULL,NULL,NULL,NULL,NULL,NULL,'NRC Can CGG2013',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9247','NAD83(CSRS)v6 to CGVD2013(CGG2013a) height (1)','Uses CGG2013a model which uses bi-quadratic interpolation; bi-linear interpolation of the grid file will give results agreeing to within 1cm 99.97% of the time. Replaces CGG2013 model (CT code 9246).','Derivation of gravity-related heights from GPS observations.','EPSG','1060','Geographic3D to GravityRelatedHeight (CGG2013)','EPSG','8251','EPSG','9245','EPSG','1061',0.03,'EPSG','8666','Geoid (height correction) model file','CGG2013n83a.byn',NULL,NULL,NULL,NULL,NULL,NULL,'NRC Can CGG2013a',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);
@@ -285,14 +354,14 @@ INSERT INTO "grid_transformation" VALUES('EPSG','10009','RRAF 1991 to Guadeloupe
INSERT INTO "grid_transformation" VALUES('EPSG','10010','RRAF 1991 to Guadeloupe 1988 height (6)','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','2890',998.0,'EPSG','8666','Geoid (height correction) model file','ggg00_sm.txt',NULL,NULL,NULL,NULL,NULL,NULL,'IGN Glp StM',1);
INSERT INTO "grid_transformation" VALUES('EPSG','10011','RGFG95 to NGG1977 height (1)','May be used for transformations from WGS 84 to NGG1977. 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','4967','EPSG','5755','EPSG','3146',998.0,'EPSG','8666','Geoid (height correction) model file','ggguy00.txt',NULL,NULL,NULL,NULL,NULL,NULL,'IGN Guf',0);
INSERT INTO "grid_transformation" VALUES('EPSG','10012','RGR92 to Reunion 1989 height (1)','May be used for transformations from WGS 84 to IGN 1989. Accuracy at each 0.02 deg x 0.02 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','4971','EPSG','5758','EPSG','3337',0.1,'EPSG','8666','Geoid (height correction) model file','ggr99.txt',NULL,NULL,NULL,NULL,NULL,NULL,'IGN Reu',0);
INSERT INTO "grid_transformation" VALUES('EPSG','10013','NAD83 to NAVD88 height (1)','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 (US .gtx)','EPSG','4269','EPSG','5703','EPSG','2977',0.05,'EPSG','8666','Geoid (height correction) model file','g2003u01.bin',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-US Conus NW',0);
INSERT INTO "grid_transformation" VALUES('EPSG','10014','NAD83 to NAVD88 height (2)','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 (US .gtx)','EPSG','4269','EPSG','5703','EPSG','2978',0.05,'EPSG','8666','Geoid (height correction) model file','g2003u02.bin',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-US Conus CNW',0);
INSERT INTO "grid_transformation" VALUES('EPSG','10015','NAD83 to NAVD88 height (3)','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 (US .gtx)','EPSG','4269','EPSG','5703','EPSG','2979',0.05,'EPSG','8666','Geoid (height correction) model file','g2003u03.bin',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-US Conus CNE',0);
INSERT INTO "grid_transformation" VALUES('EPSG','10016','NAD83 to NAVD88 height (4)','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 (US .gtx)','EPSG','4269','EPSG','5703','EPSG','2980',0.05,'EPSG','8666','Geoid (height correction) model file','g2003u04.bin',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-US Conus NE',0);
INSERT INTO "grid_transformation" VALUES('EPSG','10017','NAD83 to NAVD88 height (5)','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 (US .gtx)','EPSG','4269','EPSG','5703','EPSG','2973',0.05,'EPSG','8666','Geoid (height correction) model file','g2003u05.bin',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-US Conus SW',0);
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 (US .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',0);
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 (US .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',0);
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 (US .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',0);
INSERT INTO "grid_transformation" VALUES('EPSG','10013','NAD83 to NAVD88 height (1)','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 (US .gtx)','EPSG','4269','EPSG','5703','EPSG','2977',0.05,'EPSG','8666','Geoid (height correction) model file','g2003u01.bin',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-US Conus NW',1);
INSERT INTO "grid_transformation" VALUES('EPSG','10014','NAD83 to NAVD88 height (2)','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 (US .gtx)','EPSG','4269','EPSG','5703','EPSG','2978',0.05,'EPSG','8666','Geoid (height correction) model file','g2003u02.bin',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-US Conus CNW',1);
INSERT INTO "grid_transformation" VALUES('EPSG','10015','NAD83 to NAVD88 height (3)','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 (US .gtx)','EPSG','4269','EPSG','5703','EPSG','2979',0.05,'EPSG','8666','Geoid (height correction) model file','g2003u03.bin',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-US Conus CNE',1);
INSERT INTO "grid_transformation" VALUES('EPSG','10016','NAD83 to NAVD88 height (4)','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 (US .gtx)','EPSG','4269','EPSG','5703','EPSG','2980',0.05,'EPSG','8666','Geoid (height correction) model file','g2003u04.bin',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-US Conus NE',1);
INSERT INTO "grid_transformation" VALUES('EPSG','10017','NAD83 to NAVD88 height (5)','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 (US .gtx)','EPSG','4269','EPSG','5703','EPSG','2973',0.05,'EPSG','8666','Geoid (height correction) model file','g2003u05.bin',NULL,NULL,NULL,NULL,NULL,NULL,'NGS-US Conus SW',1);
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 (US .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 (US .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 (US .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','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);
@@ -385,7 +454,7 @@ INSERT INTO "grid_transformation" VALUES('EPSG','15941','NTF to ETRS89 (3)','The
INSERT INTO "grid_transformation" VALUES('EPSG','15942','NTF to WGS 84 (3)','These parameter values are taken from NTF to RGR93 (2) (code 15940) as RGR93 may be considered equivalent to WGS 84 within the accuracy of the transformation. Emulation of France Geocentric Interpolation method tfm code 15939.','For applications requiring an accuracy of better than 1 metre.','EPSG','9615','NTv2','EPSG','4275','EPSG','4326','EPSG','1326',1.0,'EPSG','8656','Latitude and longitude difference file','rgf93_ntf.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Fra 1m emulation',1);
INSERT INTO "grid_transformation" VALUES('EPSG','15944','NEA74 Noumea to RGNC91-93 (4)','Emulation using NTv2 method of tfm NEA74 Noumea to RGNC91-93 (3) (code 15943).','Accuracy 5-10cm.','EPSG','9615','NTv2','EPSG','4644','EPSG','4749','EPSG','2823',0.05,'EPSG','8656','Latitude and longitude difference file','RGNC1991_NEA74Noumea.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'ESRI-Ncl 0.05m',1);
INSERT INTO "grid_transformation" VALUES('EPSG','15947','IGN72 Grande Terre to RGNC91-93 (6)','Emulation using NTv2 method of tfm IGN72 Grande Terre to RGNC91-93 (4) (code 15945).','Accuracy better than +/- 0.1 metre.','EPSG','9615','NTv2','EPSG','4662','EPSG','4749','EPSG','2822',0.1,'EPSG','8656','Latitude and longitude difference file','RGNC1991_IGN72GrandeTerre.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'ESRI-Ncl 0.1m',1);
INSERT INTO "grid_transformation" VALUES('EPSG','15948','DHDN to ETRS89 (8)','Developed for ATKIS (Amtliches Topographisch-Kartographisches Informationssystem [Official Topographic and Cartographic Information System]). Provides a uniform transformation across the whole country. May be used as tfm to WGS84 - see tfm code 15949.','For applications requiring an accuracy of better than 1 metre.','EPSG','9615','NTv2','EPSG','4314','EPSG','4258','EPSG','3339',1.0,'EPSG','8656','Latitude and longitude difference file','BETA2007.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'BKG-Deu BeTA2007',0);
INSERT INTO "grid_transformation" VALUES('EPSG','15948','DHDN to ETRS89 (8)','Developed for ATKIS (Amtliches Topographisch-Kartographisches Informationssystem [Official Topographic and Cartographic Information System]). Provides a uniform transformation across the whole country. May be used as tfm to WGS84 - see tfm code 15949.','For applications requiring an accuracy of better than 1 metre.','EPSG','9615','NTv2','EPSG','4314','EPSG','4258','EPSG','3339',0.9,'EPSG','8656','Latitude and longitude difference file','BETA2007.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'BKG-Deu BeTA2007',0);
INSERT INTO "grid_transformation" VALUES('EPSG','15949','DHDN to WGS 84 (4)','These parameter values are taken from DHDN to ETRS89 (8) (code 15948) as ETRS89 may be considered equivalent to WGS 84 within the accuracy of the transformation.','For applications requiring an accuracy of better than 1 metre.','EPSG','9615','NTv2','EPSG','4314','EPSG','4326','EPSG','3339',1.0,'EPSG','8656','Latitude and longitude difference file','BETA2007.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'OGP-Deu BeTA2007',0);
INSERT INTO "grid_transformation" VALUES('EPSG','15954','RD/83 to WGS 84 (1)','These parameter values are taken from DHDN to ETRS89 (8) (code 15948) as RD/83 and ETRS89 may be considered equivalent to DHDN and WGS 84 respectively within the accuracy of the transformation.','For applications requiring an accuracy of better than 1 metre.','EPSG','9615','NTv2','EPSG','4745','EPSG','4326','EPSG','2545',1.0,'EPSG','8656','Latitude and longitude difference file','BETA2007.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'OGP-Deu BeTA2007',0);
INSERT INTO "grid_transformation" VALUES('EPSG','15955','PD/83 to WGS 84 (1)','These parameter values are taken from DHDN to ETRS89 (8) (code 15948) as PD/83 and ETRS89 may be considered equivalent to DHDN and WGS 84 respectively within the accuracy of the transformation.','For applications requiring an accuracy of better than 1 metre.','EPSG','9615','NTv2','EPSG','4746','EPSG','4326','EPSG','2544',1.0,'EPSG','8656','Latitude and longitude difference file','BETA2007.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'OGP-Deu BeTA2007',0);
+47
View File
@@ -49,3 +49,50 @@ INSERT INTO "grid_transformation" VALUES(
NULL,
'EPSG','8666','Geoid (height correction) model file','SWEN17_RH2000.gtx',
NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
----- Hopefully temporary entry for BWTA2017.gsb grid -----
INSERT INTO "area" VALUES('PROJ','BWTA2017','Germany - Baden-Wurtemberg','Germany - Baden-Wurtemberg',47.5,49.83,7.49,10.51,0);
-- Advertize a 0.8 accuracy slightly better than the 0.9 of BETA2007 for sort purposes
INSERT INTO "grid_transformation" VALUES('PROJ','BWTA2017','DHDN to ETRS89 (BWTA2017)','DHDN to ETRS89 for Baden-Wurtemberg for ALKIS 2017. Using official BWTA2017 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','BWTA2017',0.89,'EPSG','8656','Latitude and longitude difference file','BWTA2017.gsb',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',
NULL,NULL,
'PROJ','HEIGHT_TO_GEOGRAPHIC3D','GravityRelatedHeight to Geographic3D',
'EPSG','8089', -- source CRS (ISH2004 height)
'EPSG','5323', -- target CRS (ISN2004 geographic 3D)
'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',
NULL,NULL,
'PROJ','HEIGHT_TO_GEOGRAPHIC3D','GravityRelatedHeight to Geographic3D',
'EPSG','8089', -- source CRS (ISH2004 height)
'EPSG','4945', -- target CRS (ISN93 geographic 3D)
'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',
NULL,NULL,
'PROJ','HEIGHT_TO_GEOGRAPHIC3D','GravityRelatedHeight to Geographic3D',
'EPSG','8089', -- source CRS (ISH2004 height)
'EPSG','8085', -- target CRS (ISN2016 geographic 3D)
'EPSG','1120', -- area of use: Iceland - onshore and offshore
NULL,
'EPSG','8666','Geoid (height correction) model file','Icegeoid_ISN2016.gtx',
NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
+55 -32
View File
@@ -241,17 +241,17 @@ INSERT INTO "helmert_transformation" VALUES('EPSG','1311','ED50 to WGS 84 (18)',
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','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 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);
INSERT INTO "helmert_transformation" VALUES('EPSG','1318','Camacupa to WGS 84 (1)','','Used for oil exploration by Conoco.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4220','EPSG','4326','EPSG','2316',10.0,-42.01,-332.21,-229.75,'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,'CON-Ago B5',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','1319','Camacupa to WGS 84 (2)','','Used for oil exploration by Texaco.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4220','EPSG','4326','EPSG','2317',25.0,-40.0,-354.0,-224.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,'TEX-Ago B2',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','1320','Camacupa to WGS 84 (3)','Replaced by Camacupa to WGS 84 (9). Used by Shell prior to 1994.','Oil exploration prior to 1994.','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','4220','EPSG','4326','EPSG','2321',10.0,-37.2,-370.6,-224.0,'EPSG','9001',0.0,0.0,0.554,'EPSG','9104',0.219,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SHL-Ago old',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','1321','Camacupa to WGS 84 (4)','Derived as mean of 123 Transit passes at station Cabo Ledo NE base in November 1990. Used by Elf for block 7 up to December 1992 then replaced by Camacupa to WGS 84 (7). Used by Total in block 8, ExxonMobil block 24, Western Geophysical for spec. data.','Oil exploration.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4220','EPSG','4326','EPSG','2320',10.0,-41.8,-342.2,-228.2,'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);
INSERT INTO "helmert_transformation" VALUES('EPSG','1322','Camacupa to WGS 84 (5)','Derived at station Djeno during coordination of platform PAL F2 in February 1992. Used by Elf for block 3 up to December 1992 then replaced by Camacupa to WGS 84 (7).','Oil exploration.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4220','EPSG','4326','EPSG','2318',3.0,-55.5,-348.0,-229.2,'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,'ELF-Ago B3 old',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','1323','Camacupa to WGS 84 (6)','Derived at Luanda observatory December 1992.','Used for oil exploration by Elf for 1993 block 7 shallow water survey.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4220','EPSG','4326','EPSG','2319',8.0,-43.0,-337.0,-233.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,'ELF-Ago B7 old',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','1324','Camacupa to WGS 84 (7)','Derived at platform PAL F2 in December 1992. For use in blocks 3, 7 and 17, replaced by Camacupa to WGS 84 (10) (code 1327).','Used for oil exploration by Elf for blocks 3, 7 and 17 between December 1992 and 1994 then superseded by Camacupa to WGS 84 (10). Used by Exxon for block 15 since 1993.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4220','EPSG','4326','EPSG','2322',3.0,-48.0,-345.0,-231.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,'ELF-Ago B15',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','1325','Camacupa to WGS 84 (8)','Derived at platform PAL F2 in December 1992. Used by Total for block 2 between December 1992 and 1994 then replaced by Camacupa to WGS 84 (10).','Oil exploration between December 1992 and 1994.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4220','EPSG','4326','EPSG','2317',3.0,-48.6,-345.1,-230.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,'ELF-Ago B2 old',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','1326','Camacupa to WGS 84 (9)','Derived by GPS on two Topnav DGPS reference stations at Djeno and Luanda. Replaces Camacupa to WGS 84 (3). In block 18 replaced by BP from 1999 by Camacupa to WGS 84 (10).','Used by Shell since 1994.','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','4220','EPSG','4326','EPSG','2323',10.0,-41.057,-374.564,-226.287,'EPSG','9001',0.0,0.0,0.554,'EPSG','9104',0.219,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SHL-Ago B16',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','1327','Camacupa to WGS 84 (10)','Derived at platform PAL F2 in 1994 by Topnav using Doris.','Used for oil exploration by Elf in blocks 3 and 17 since 1994. Used by Total in block 2 since 1994. Adopted by BP-Amoco Elf and Exxon for blocks 18 and 31-33 in 1999.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4220','EPSG','4326','EPSG','2324',5.0,-50.9,-347.6,-231.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,'ELF-Ago N',0);
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);
INSERT INTO "helmert_transformation" VALUES('EPSG','1318','Camacupa 1948 to WGS 84 (1)','','Used for oil exploration by Conoco.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4220','EPSG','4326','EPSG','2316',10.0,-42.01,-332.21,-229.75,'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,'CON-Ago B5',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','1319','Camacupa 1948 to WGS 84 (2)','','Used for oil exploration by Texaco.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4220','EPSG','4326','EPSG','2317',25.0,-40.0,-354.0,-224.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,'TEX-Ago B2',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','1320','Camacupa 1948 to WGS 84 (3)','Replaced by Camacupa 1948 to WGS 84 (9). Used by Shell prior to 1994.','Oil exploration prior to 1994.','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','4220','EPSG','4326','EPSG','2321',10.0,-37.2,-370.6,-224.0,'EPSG','9001',0.0,0.0,0.554,'EPSG','9104',0.219,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SHL-Ago old',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','1321','Camacupa 1948 to WGS 84 (4)','Mean of 123 Transit passes at station Cabo Ledo NE base in November 1990. Used by Elf for block 7 up to December 1992 then replaced by Camacupa 1948 to WGS 84 (7). Used by Total in block 8, ExxonMobil block 24, Western Geophysical for spec. data.','Oil exploration.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4220','EPSG','4326','EPSG','2320',10.0,-41.8,-342.2,-228.2,'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);
INSERT INTO "helmert_transformation" VALUES('EPSG','1322','Camacupa 1948 to WGS 84 (5)','Derived at station Djeno during coordination of platform PAL F2 in February 1992. Used by Elf for block 3 up to December 1992 then replaced by Camacupa 1948 to WGS 84 (7).','Oil exploration.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4220','EPSG','4326','EPSG','2318',3.0,-55.5,-348.0,-229.2,'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,'ELF-Ago B3 old',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','1323','Camacupa 1948 to WGS 84 (6)','Derived at Luanda observatory December 1992.','Used for oil exploration by Elf for 1993 block 7 shallow water survey.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4220','EPSG','4326','EPSG','2319',8.0,-43.0,-337.0,-233.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,'ELF-Ago B7 old',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','1324','Camacupa 1948 to WGS 84 (7)','Derived at platform PAL F2 in December 1992. For use in blocks 3, 7 and 17, replaced by Camacupa 1948 to WGS 84 (10) (code 1327).','Used for oil exploration by Elf for blocks 3, 7 and 17 between December 1992 and 1994 then superseded by Camacupa (offshore) to WGS 84 (10). Used by Exxon for block 15 since 1993.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4220','EPSG','4326','EPSG','2322',3.0,-48.0,-345.0,-231.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,'ELF-Ago B15',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','1325','Camacupa 1948 to WGS 84 (8)','Derived at platform PAL F2 in December 1992. Used by Total for block 2 between December 1992 and 1994 then replaced by Camacupa 1948 to WGS 84 (10).','Oil exploration between December 1992 and 1994.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4220','EPSG','4326','EPSG','2317',3.0,-48.6,-345.1,-230.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,'ELF-Ago B2 old',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','1326','Camacupa 1948 to WGS 84 (9)','Derived by GPS on two Topnav DGPS reference stations at Djeno and Luanda. Replaces Camacupa 1948 to WGS 84 (3). In block 18 replaced by BP from 1999 by Camacupa 1948 to WGS 84 (10).','Used by Shell since 1994.','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','4220','EPSG','4326','EPSG','2323',10.0,-41.057,-374.564,-226.287,'EPSG','9001',0.0,0.0,0.554,'EPSG','9104',0.219,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SHL-Ago B16',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','1327','Camacupa 1948 to WGS 84 (10)','Derived at platform PAL F2 in 1994 by Topnav using Doris.','Used for oil exploration by Elf in blocks 3 and 17 since 1994. Used by Total in block 2 since 1994. Adopted by BP-Amoco Elf and Exxon for blocks 18 and 31-33 in 1999.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4220','EPSG','4326','EPSG','2324',5.0,-50.9,-347.6,-231.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,'ELF-Ago N',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','1328','Malongo 1987 to Mhast (1)','Malongo 1987 is an offshore extension of Mhast adopted by Chevron in 1987.','Used for oil exploration.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4259','EPSG','4264','EPSG','1317',0.0,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'CHV-Ago Cab',1);
INSERT INTO "helmert_transformation" VALUES('EPSG','1329','Mhast to WGS 84 (1)','Superseded in 1990 by trf Malongo 1987 to WGS 84 (2), code 1557. Malongo 1987 is an offshore extension of the Mhast cooordinate system.','Used for oil exploration by Chevron until superseded in 1990 by trf Malongo 1987 to WGS 84 (2), code 1557.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4264','EPSG','4326','EPSG','1317',10.0,-252.95,-4.11,-96.38,'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,'CHV-Ago Cab',1);
INSERT INTO "helmert_transformation" VALUES('EPSG','1330','Malongo 1987 to WGS 84 (1)','Derived at Station Y in April 1989 using 572 transit satellite passes. Computed value for dZ was -96.42 but -96.38 has been utilised. Replaced Malongo 1987 to WGS 84 (3) (code 15791) in 1989. Replaced by Malongo 1987 to WGS 84 (2) (code 1557) in 1990.','Offshore oil exploration and production between April 1989 and June 1990.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4259','EPSG','4326','EPSG','3180',10.0,-252.95,-4.11,-96.38,'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,'CHV-Ago Cab89',0);
@@ -438,9 +438,9 @@ INSERT INTO "helmert_transformation" VALUES('EPSG','1774','POSGAR 98 to SIRGAS 1
INSERT INTO "helmert_transformation" VALUES('EPSG','1775','Pulkovo 1942(83) to ETRS89 (2)','Derived at 35 points of the German GPS Network DREF. From 2001 replaces Pulkovo 1942(83) to ETRS89 (1) (code 1674) within Mecklenburg-Vorpommern and Sachsen-Anhalt. From 2009 replaces tfm 1674 in all other states of former East Germany.','For applications with an accuracy at 0.1m level','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','4178','EPSG','4258','EPSG','1343',0.1,24.9,-126.4,-93.2,'EPSG','9001',-0.063,-0.247,-0.041,'EPSG','9104',1.01,'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 0.1m',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','1776','DHDN to ETRS89 (2)','Mean of 109 stations. Replaces DHDN to ETRS89 (1) (tfm code 1309). May be taken as approximate transformation DHDN to WGS 84 - see code 1777.','For applications with an accuracy at 3 m level','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','4314','EPSG','4258','EPSG','2326',3.0,598.1,73.7,418.2,'EPSG','9001',0.202,0.045,-2.455,'EPSG','9104',6.7,'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 3m',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','1777','DHDN to WGS 84 (2)','Parameter values from DHDN to ETRS89 (2) (code 1776) assuming that ETRS89 is equivalent to WGS 84 within the accuracy of the transformation. Replaces DHDN to WGS 84 (1) (tfm code 1673).','For applications with an accuracy at 3 m level','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','4314','EPSG','4326','EPSG','2326',3.0,598.1,73.7,418.2,'EPSG','9001',0.202,0.045,-2.455,'EPSG','9104',6.7,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Deu W 3m',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','1778','DHDN to ETRS89 (3)','Derived in 2001 at 41 points of the German GPS Network DREF.','For applications with an accuracy at 0.1m level','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','4314','EPSG','4258','EPSG','2543',0.1,597.1,71.4,412.1,'EPSG','9001',0.894,0.068,-1.563,'EPSG','9104',7.58,'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-S',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','1779','DHDN to ETRS89 (4)','Derived at 27 points of the German GPS Network DREF.','For applications with an accuracy at 0.1m level','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','4314','EPSG','4258','EPSG','2542',0.1,584.8,67.0,400.3,'EPSG','9001',0.105,0.013,-2.378,'EPSG','9104',10.29,'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-cen',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','1780','DHDN to ETRS89 (5)','Derived at 21 points of the German GPS Network DREF.','For applications with an accuracy at 0.1m level','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','4314','EPSG','4258','EPSG','2541',0.1,590.5,69.5,411.6,'EPSG','9001',-0.796,-0.052,-3.601,'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-N',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','1778','DHDN to ETRS89 (3)','Derived in 2001 at 41 points of the German GPS Network DREF.','For applications with an accuracy at sub-metre level.','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','4314','EPSG','4258','EPSG','2543',1.0,597.1,71.4,412.1,'EPSG','9001',0.894,0.068,-1.563,'EPSG','9104',7.58,'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-S',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','1779','DHDN to ETRS89 (4)','Derived at 27 points of the German GPS Network DREF.','For applications with an accuracy at sub-metre level.','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','4314','EPSG','4258','EPSG','2542',1.0,584.8,67.0,400.3,'EPSG','9001',0.105,0.013,-2.378,'EPSG','9104',10.29,'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-cen',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','1780','DHDN to ETRS89 (5)','Derived at 21 points of the German GPS Network DREF.','For applications with an accuracy at sub-metre level','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','4314','EPSG','4258','EPSG','2541',1.0,590.5,69.5,411.6,'EPSG','9001',-0.796,-0.052,-3.601,'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-N',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','1781','DHDN to ETRS89 (6)','Derived at 10 points of the German GPS Network DREF.','For applications with an accuracy at 0.1m level','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','4314','EPSG','4258','EPSG','2544',0.1,599.4,72.4,419.2,'EPSG','9001',-0.062,-0.022,-2.723,'EPSG','9104',6.46,'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 Thur',1);
INSERT INTO "helmert_transformation" VALUES('EPSG','1782','DHDN to ETRS89 (7)','Derived at 35 points of the German GPS Network DREF.','For applications with an accuracy at 0.1m level','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','4314','EPSG','4258','EPSG','2545',0.1,612.4,77.0,440.2,'EPSG','9001',-0.054,0.057,-2.797,'EPSG','9104',2.55,'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 Sach',1);
INSERT INTO "helmert_transformation" VALUES('EPSG','1783','ED50 to ETRS89 (9)','May be taken as approximate transformation ED50 to WGS 84 - see code 1784. Note: the ETRS89 CRS is not used in Turkey.','For applications to an accuracy of 2 metres.','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','4230','EPSG','4258','EPSG','1237',2.0,-84.1,-101.8,-129.7,'EPSG','9001',0.0,0.0,0.468,'EPSG','9104',1.05,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HGK-Tur',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','5360','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',0);
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);
@@ -861,7 +861,7 @@ INSERT INTO "helmert_transformation" VALUES('EPSG','6701','GDBD2009 to WGS 84 (1
INSERT INTO "helmert_transformation" VALUES('EPSG','6710','RDN2008 to ETRS89 (1)','May be taken as approximate transformation RDN2008 to WGS 84 - see code 6711.','RDN2008 is a national realization of ETRS89.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','6706','EPSG','4258','EPSG','1127',0.0,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'OGP-Ita',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','6711','RDN2008 to WGS 84 (1)','Approximation at the +/- 1m level assuming that ETRS89 is equivalent to WGS 84. RDN2008 is a regional realisation of ETRS89.','Accuracy +/- 1 metre.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','6706','EPSG','4326','EPSG','1127',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-Ita',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','6864','ITRF96 to NAD83(CORS96) (1)','Scale difference in ppb and scale difference rate in ppb/yr where 1/billion = 1E-9 or nm/m. Jointly derived by Canada and US at 12 North American VLBI stations. Replaced by tfm code 6865 from 2000-01-01. See tfm code 8259 for Canadian equivalent.','Geodesy. Definition of NAD83(CORS96) from 1st January 1997 through 31st December 1999 and is therefore treated as errorless.','EPSG','1056','Time-dependent Coordinate Frame rotation (geocen)','EPSG','4917','EPSG','6781','EPSG','1511',0.0,0.991,-1.9072,-0.5129,'EPSG','9001',25.79,9.65,11.66,'EPSG','1031',0.0,'EPSG','1028',0.0,0.0,0.0,'EPSG','1042',0.0532,-0.7423,-0.0316,'EPSG','1032',0.0,'EPSG','1030',1997.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'NGS-US CORS96',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','6865','ITRF97 to NAD83(CORS96) (1)','Scale difference in ppb and scale difference rate in ppb/yr where 1/billion = 1E-9 or nm/m. 1996 derivation (see tfm 6864) concatenated with IGS value of ITRF96>ITRF97. Replaced by tfm code 6865 from 2000-01-01. See tfm code 8260 for Canadian equivalent.','Geodesy. Redefinition of NAD83(CORS96) from January 2000 through December 2001.','EPSG','1056','Time-dependent Coordinate Frame rotation (geocen)','EPSG','4918','EPSG','6781','EPSG','1511',0.06,0.9889,-1.9074,-0.503,'EPSG','9001',25.915,9.426,11.599,'EPSG','1031',-0.93,'EPSG','1028',0.0007,-0.0001,0.0019,'EPSG','1042',0.067,-0.757,-0.031,'EPSG','1032',-0.19,'EPSG','1030',1997.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'NGS-US CORS96',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','6865','ITRF97 to NAD83(CORS96) (1)','Scale difference in ppb and scale difference rate in ppb/yr where 1/billion = 1E-9 or nm/m. 1996 derivation (see tfm 6864) concatenated with IGS value of ITRF96>ITRF97. Replaced by tfm code 6865 from 2000-01-01. See tfm code 8260 for Canadian equivalent.','Geodesy. Redefinition of NAD83(CORS96) from January 2000 through December 2001.','EPSG','1056','Time-dependent Coordinate Frame rotation (geocen)','EPSG','4918','EPSG','6781','EPSG','1511',0.0,0.9889,-1.9074,-0.503,'EPSG','9001',25.915,9.426,11.599,'EPSG','1031',-0.93,'EPSG','1028',0.0007,-0.0001,0.0019,'EPSG','1042',0.067,-0.757,-0.031,'EPSG','1032',-0.19,'EPSG','1030',1997.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'NGS-US CORS96',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','6866','ITRF2000 to NAD83(CORS96) (1)','Scale difference in ppb and scale difference rate in ppb/yr where 1/billion = 1E-9 or nm/m. Joint derivation by Canada and US (tfm 6864) concatenated with IGS value for ITRF96>97 and IERS ITRF97>2000 transformations. See tfm 8261 for Canadian equivalent.','Geodesy. Definition of NAD83(CORS96) from 1st January 2002 through 6th September 2011 and is therefore treated as errorless.','EPSG','1056','Time-dependent Coordinate Frame rotation (geocen)','EPSG','4919','EPSG','6781','EPSG','1511',0.0,0.9956,-1.9013,-0.5215,'EPSG','9001',25.915,9.426,11.599,'EPSG','1031',0.62,'EPSG','1028',0.0007,-0.0007,0.0005,'EPSG','1042',0.067,-0.757,-0.051,'EPSG','1032',-0.18,'EPSG','1030',1997.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'NGS-US CORS96',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','6872','Abidjan 1987 to WGS 84 (2)','Derived and used by Western Geophysical for offshore surveys in the 1990s, but exact provenance uncertain. Used by OMV.','Accuracy uncertain but there is some evidence of unknown reliability that suggests accuracy of better than 2m throughout offshore.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4143','EPSG','4326','EPSG','2296',2.0,-123.1,53.2,465.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,'WGC-Civ',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','6873','Tananarive to WGS 84 (2)','Derived at 9 points throughout Madagascar. Adopted by OMV.','For applications with an accuracy of 3m.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4297','EPSG','4326','EPSG','1149',3.0,-198.383,-240.517,-107.909,'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,'ROG-Mdg',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','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 (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 (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','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','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','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','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','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','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','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','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','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 (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','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','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);
@@ -954,9 +954,9 @@ INSERT INTO "helmert_transformation" VALUES('EPSG','7720','CGRS93 to ETRS89 (1)'
INSERT INTO "helmert_transformation" VALUES('EPSG','7721','CGRS93 to WGS 84 (1)','Parameter values from CGRS93 to ETRS89 (1) (code 7720). Approximation at the +/- 1m level assuming that ETRS89 is equivalent to WGS 84.','Small scale hydrographic and aviation mapping.','EPSG','9607','Coordinate Frame rotation (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',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','7790','ITRF2008 to ITRF2014 (1)','Scale difference in ppb and scale difference rate in ppb/yr where 1/billion = 1E-9 or nm/m. Estimated using 127 stations at 125 sites.','Geodesy','EPSG','1053','Time-dependent Position Vector tfm (geocentric)','EPSG','5332','EPSG','7789','EPSG','1262',0.01,-1.6,-1.9,-2.4,'EPSG','1025',0.0,0.0,0.0,'EPSG','1031',0.02,'EPSG','1028',0.0,0.0,0.1,'EPSG','1027',0.0,0.0,0.0,'EPSG','1032',-0.03,'EPSG','1030',2010.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'IERS-Wld',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','7806','Pulkovo 1942(83) to BGS2005 (1)','Older CRSs (CS30, CS50, CS70) must first be transformed to Pulkovo 1942(83) before this transformation is applied.','Official transformation for converting existing geodetic and cartographic materials to BGS2005.','EPSG','1063','Molodensky-Badekas (PV geog2D domain)','EPSG','4178','EPSG','7798','EPSG','3224',5.0,5.0,-133.0,-104.0,'EPSG','9001',-1.4,-2.0,3.4,'EPSG','9104',-3.9901,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,4223032.0,2032778.0,4309209.0,'EPSG','9001','RD-Bul',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','7807','ITRF2008 to NAD83(2011) (1)','Scale difference in ppb and scale difference rate in ppb/yr where 1/billion = 1E-9 or nm/m. Joint derivation by Canada and US (tfm 6864) concatenated with IGS value for ITRF96>97 and IERS ITRF97>2008 transformations. See tfm 8264 for Canadian equivalent.','Geodesy.','EPSG','1056','Time-dependent Coordinate Frame rotation (geocen)','EPSG','5332','EPSG','6317','EPSG','1511',0.1,0.99343,-1.90331,-0.52655,'EPSG','9001',25.91467,9.42645,11.59935,'EPSG','1031',1.71504,'EPSG','1028',0.00079,-0.0006,-0.00134,'EPSG','1042',0.06667,-0.75744,-0.05133,'EPSG','1032',-0.10201,'EPSG','1030',1997.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'NGS-NA',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','7808','ITRF2008 to NAD83(PA11) (1)','Information source gives IGS08 as source CRS: for most practical purposes IGS08 is equivalent to ITRF2008.','Geodesy.','EPSG','1056','Time-dependent Coordinate Frame rotation (geocen)','EPSG','5332','EPSG','6320','EPSG','4162',0.1,0.908,-2.0161,-0.5653,'EPSG','9001',27.741,13.469,2.712,'EPSG','1031',1.1,'EPSG','1028',0.0001,0.0001,-0.0018,'EPSG','1042',-0.384,1.007,-2.186,'EPSG','1032',0.08,'EPSG','1030',1997.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'NGS-PA',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','7809','ITRF2008 to NAD83(MA11) (1)','Information source gives IGS08 as source CRS: for most practical purposes IGS08 is equivalent to ITRF2008.','Geodesy.','EPSG','1056','Time-dependent Coordinate Frame rotation (geocen)','EPSG','5332','EPSG','6323','EPSG','4167',0.1,0.908,-2.0161,-0.5653,'EPSG','9001',28.971,10.42,8.928,'EPSG','1031',1.1,'EPSG','1028',0.0001,0.0001,-0.0018,'EPSG','1042',-0.02,0.105,-0.347,'EPSG','1032',0.08,'EPSG','1030',1997.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'NGS-MA',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','7807','ITRF2008 to NAD83(2011) (1)','Scale difference in ppb and scale difference rate in ppb/yr where 1/billion = 1E-9 or nm/m. Joint derivation by Canada and US (tfm 6864) concatenated with IGS value for ITRF96>97 and IERS ITRF97>2008 transformations. See tfm 8264 for Canadian equivalent.','Geodesy.','EPSG','1056','Time-dependent Coordinate Frame rotation (geocen)','EPSG','5332','EPSG','6317','EPSG','1511',0.0,0.99343,-1.90331,-0.52655,'EPSG','9001',25.91467,9.42645,11.59935,'EPSG','1031',1.71504,'EPSG','1028',0.00079,-0.0006,-0.00134,'EPSG','1042',0.06667,-0.75744,-0.05133,'EPSG','1032',-0.10201,'EPSG','1030',1997.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'NGS-NA',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','7808','ITRF2008 to NAD83(PA11) (1)','Information source gives IGS08 as source CRS: for most practical purposes IGS08 is equivalent to ITRF2008.','Geodesy.','EPSG','1056','Time-dependent Coordinate Frame rotation (geocen)','EPSG','5332','EPSG','6320','EPSG','4162',0.0,0.908,-2.0161,-0.5653,'EPSG','9001',27.741,13.469,2.712,'EPSG','1031',1.1,'EPSG','1028',0.0001,0.0001,-0.0018,'EPSG','1042',-0.384,1.007,-2.186,'EPSG','1032',0.08,'EPSG','1030',1997.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'NGS-PA',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','7809','ITRF2008 to NAD83(MA11) (1)','Information source gives IGS08 as source CRS: for most practical purposes IGS08 is equivalent to ITRF2008.','Geodesy.','EPSG','1056','Time-dependent Coordinate Frame rotation (geocen)','EPSG','5332','EPSG','6323','EPSG','4167',0.0,0.908,-2.0161,-0.5653,'EPSG','9001',28.971,10.42,8.928,'EPSG','1031',1.1,'EPSG','1028',0.0001,0.0001,-0.0018,'EPSG','1042',-0.02,0.105,-0.347,'EPSG','1032',0.08,'EPSG','1030',1997.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'NGS-MA',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','7814','ITRF89 to ITRF2000 (1)','Scale difference in ppb and scale difference rate in ppb/yr where 1/billion = 1E-9 or nm/m.','Geodesy','EPSG','1053','Time-dependent Position Vector tfm (geocentric)','EPSG','4911','EPSG','4919','EPSG','1262',0.01,-2.97,-4.75,7.39,'EPSG','1033',0.0,0.0,0.18,'EPSG','1031',-5.85,'EPSG','1028',0.0,0.06,0.14,'EPSG','1034',0.0,0.0,-0.02,'EPSG','1032',-0.01,'EPSG','1030',1988.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'IERS-Wld',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','7817','UCS-2000 to ITRF2000 (1)','Derived for epoch 2005.0 at which time it defines UCS-2000 and is therefore exact (accuracy = 0) at this epoch. May be taken as approximate transformation UCS-2000 to WGS 84 - see code 5840.','For applications to an accuracy of 1 metre.','EPSG','1031','Geocentric translations (geocentric domain)','EPSG','5558','EPSG','4919','EPSG','1242',0.0,24.322,-121.372,-75.847,'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,'SSGC-Ukr',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','7833','Albanian 1987 to ETRS89 (1)','Derived using 90 stations by Military Geographical Institute of Italy (IGM) on behalf of ASIG. mse = 18cm. May be taken as approximate transformation from Albanian 1987 to WGS 84 (see code 7834).','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',0);
@@ -966,8 +966,8 @@ INSERT INTO "helmert_transformation" VALUES('EPSG','7836','Pulkovo 1942(58) to A
INSERT INTO "helmert_transformation" VALUES('EPSG','7892','SHGD2015 to WGS 84 (1)','SHGD2015 is realized by ITRF2008 at epoch 2015.0 and can be considered coincident with WGS 84 at epoch 2015.0 Accuracy 3 cm at 1/1/2015 then degrades by 3 cm/yr from 1/1/2015 depending upon epoch of WGS 84 due to motion of the Nubian Plate','For military purposes only. Accuracy 25m in each axis.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','7886','EPSG','4326','EPSG','3183',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,'ENRD-Shn Hel',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','7893','Astro DOS 71 to SHGD2015 (1)','Derived at 19 stations, RMS = 12cm. May be used as an approximate transformation to WGS 84 - see code 7894.','Medium Accuracy transformation to St Helena Geodetic Datum 2015.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4710','EPSG','7886','EPSG','3183',0.15,-323.65,551.39,-491.22,'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,'ENRD-Shn Hel 0.15m',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','7894','Astro DOS 71 to WGS 84 (2)','Parameter values from Astro DOS 71 to SHGD2015 (1) (tfm code 7893). Assumes SHGD2015 and WGS 84 can be considered the same to within the accuracy of the transformation.','For applications requiring an accuracy of better than 1 metre.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4710','EPSG','4326','EPSG','3183',1.0,-323.65,551.39,-491.22,'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,'ENRD-Shn Hel',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','7895','Astro DOS 71 to SHGD2015 (2)','Derived at 19 stations, RMS = 6cm. Note: Because of the large rotations about the Y- and Z-axes this transformation is not reversible. For the reverse transformation use SHGD2015 to Astro DOS 71 (2) (code 7896).','High Accuracy transformation to St Helena Geodetic Datum 2015. Not reversible - see remarks.','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','4710','EPSG','7886','EPSG','3183',0.1,-112.854,12.27,-18.913,'EPSG','9001',2.1692,16.8896,17.1961,'EPSG','9104',-19.54517,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'ENRD-Shn Hel 0.1m',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','7896','SHGD2015 to Astro DOS 71 (2)','Derived at 19 stations, RMS = 6cm. Note: Because of the large rotations about the Y- and Z-axes this transformation is not reversible. For the reverse transformation use Astro DOS 71 to SHGD2015 (2) (code 7895).','High Accuracy transformation from St Helena Geodetic Datum 2015. Not reversible - see remarks.','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','4710','EPSG','4710','EPSG','3183',0.1,112.771,-12.282,18.935,'EPSG','9001',-2.1692,-16.8896,-17.1961,'EPSG','9104',19.54517,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'ENRD-Shn Hel 0.1m Rev',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','7895','Astro DOS 71 to SHGD2015 (2)','Derived at 19 stations, RMS = 6cm. Note: Because of the large rotations about the Y- and Z-axes this transformation is not reversible. For the reverse transformation use SHGD2015 to Astro DOS 71 (2) (code 9226).','High Accuracy transformation to St Helena Geodetic Datum 2015. Not reversible - see remarks.','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','4710','EPSG','7886','EPSG','3183',0.1,-112.854,12.27,-18.913,'EPSG','9001',2.1692,16.8896,17.1961,'EPSG','9104',-19.54517,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'ENRD-Shn Hel 0.1m',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','7896','SHGD2015 to Astro DOS 71 (2)','Derived at 19 stations, RMS = 6cm. Note: Because of the large rotations about the Y- and Z-axes this transformation is not reversible. For the reverse transformation use Astro DOS 71 to SHGD2015 (2) (code 7895).','High Accuracy transformation from St Helena Geodetic Datum 2015. Not reversible - see remarks.','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','4710','EPSG','4710','EPSG','3183',0.1,112.771,-12.282,18.935,'EPSG','9001',-2.1692,-16.8896,-17.1961,'EPSG','9104',19.54517,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'ENRD-Shn Hel 0.1m Rev',1);
INSERT INTO "helmert_transformation" VALUES('EPSG','7897','St. Helena Tritan to SHGD2015 (1)','Derived at 19 stations, RMS = 5cm. May be used as an approximate transformation to WGS 84 - see code 7898.','High Accuracy transformation to St Helena Geodetic Datum 2015.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','7881','EPSG','7886','EPSG','3183',0.05,-0.077,0.079,0.086,'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,'ENRD-Shn Hel',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','7898','St. Helena Tritan to WGS 84 (1)','Parameter values from Tritan St. Helena to SHGD2015 (1) (tfm code 7897). Assumes Tritan St. Helena and SHGD2015 can be considered the same to within the accuracy of the transformation.','For applications requiring an accuracy of better than 1 metre.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','7881','EPSG','4326','EPSG','3183',1.0,-0.077,0.079,0.086,'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,'ENRD-Shn Hel',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','7932','ITRF89 to ETRF89 (1)','Scale difference in ppb and scale difference rate in ppb/yr where 1/billion = 1E-9 or nm/m.','Definition of ETRF89.','EPSG','1053','Time-dependent Position Vector tfm (geocentric)','EPSG','4911','EPSG','7914','EPSG','1298',0.0,0.0,0.0,0.0,'EPSG','1033',0.0,0.0,0.0,'EPSG','1031',0.0,'EPSG','1028',0.0,0.0,0.0,'EPSG','1034',0.11,0.57,-0.71,'EPSG','1032',0.0,'EPSG','1030',1989.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'EUREF-Eur',0);
@@ -992,7 +992,7 @@ INSERT INTO "helmert_transformation" VALUES('EPSG','7950','ITRF2005 to ETRF2000
INSERT INTO "helmert_transformation" VALUES('EPSG','7951','ITRF2008 to ETRF2000 (1)','Scale difference in ppb and scale difference rate in ppb/yr where 1/billion = 1E-9 or nm/m.','Realization of ETRS89 from ITRF2008 through ETRF2000.','EPSG','1053','Time-dependent Position Vector tfm (geocentric)','EPSG','5332','EPSG','7930','EPSG','1298',0.0,52.1,49.3,-58.5,'EPSG','1025',0.891,5.39,-8.712,'EPSG','1031',1.34,'EPSG','1028',0.1,0.1,-1.8,'EPSG','1027',0.081,0.49,-0.792,'EPSG','1032',0.08,'EPSG','1030',2000.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'EUREF-Eur 2000',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','7960','PZ-90.11 to ITRF2008 (1)','','Geodesy.','EPSG','1066','Time-specific Coordinate Frame rotation (geocen)','EPSG','7679','EPSG','5332','EPSG','1262',0.004,-0.003,-0.001,0.0,'EPSG','9001',0.019,-0.042,0.002,'EPSG','1031',0.0,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2010.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'MTD-Rus',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','7961','WGS 84 (G1150) to PZ-90.02 (1)','','Geodesy.','EPSG','1066','Time-specific Coordinate Frame rotation (geocen)','EPSG','7660','EPSG','7677','EPSG','1262',0.17,0.36,-0.08,-0.18,'EPSG','9001',0.0,0.0,0.0,'EPSG','1031',0.0,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2002.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'MTD-Rus',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','8048','GDA94 to GDA2020 (1)','Scale difference in ppb where 1/billion = 1E-9. Derivation excluded Cocos, Christmas and Macquarie Islands but is applied there. See codes 8444-46 for equivalents using NTv2 method. See code 8447 for alternative including distortion model for Aus only.','Conformal transformation of GDA94 coordinates that have been derived through GNSS CORS.','EPSG','9607','Coordinate Frame rotation (geog2D domain)','EPSG','4283','EPSG','7844','EPSG','4177',0.01,61.55,-10.87,-40.19,'EPSG','1025',-39.4924,-32.7221,-32.8979,'EPSG','1031',-9.994,'EPSG','1028',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'ICSM-Aus',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','8048','GDA94 to GDA2020 (1)','Scale difference in ppb where 1/billion = 1E-9. See CT codes 8444-46 for NTv2 method giving equivalent results for Christmas Island, Cocos Islands and Australia respectively. See CT code 8447 for alternative including distortion model for Australia only.','Conformal transformation of GDA94 coordinates that have been derived through GNSS CORS.','EPSG','9607','Coordinate Frame rotation (geog2D domain)','EPSG','4283','EPSG','7844','EPSG','4177',0.01,61.55,-10.87,-40.19,'EPSG','1025',-39.4924,-32.7221,-32.8979,'EPSG','1031',-9.994,'EPSG','1028',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'ICSM-Aus',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','8049','ITRF2014 to GDA2020 (1)','Scale difference in ppb and scale difference rate in ppb/yr where 1/billion = 1E-9 or nm/m. Derived at 109 stations of the Australian Reginal GNSS network (ARGN).','Geodesy. RMS residuals 26mm north, 12mm east and 179mm vertical, maximum residuals 49mm north, 24mm east and 464mm vertical.','EPSG','1056','Time-dependent Coordinate Frame rotation (geocen)','EPSG','7789','EPSG','7842','EPSG','4177',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.50379,1.18346,1.20716,'EPSG','1032',0.0,'EPSG','1030',2020.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'GA-Aus',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','8069','ITRF88 to ITRF2014 (1)','Scale difference in ppb and scale difference rate in ppb/yr where 1/billion = 1E-9 or nm/m. Derived by IERS from previously published information.','Geodesy','EPSG','1053','Time-dependent Position Vector tfm (geocentric)','EPSG','4910','EPSG','7789','EPSG','1262',0.01,-25.4,0.5,154.8,'EPSG','1025',-0.1,0.0,-0.26,'EPSG','1031',-11.29,'EPSG','1028',-0.1,0.5,3.3,'EPSG','1027',0.0,0.0,-0.02,'EPSG','1032',-0.12,'EPSG','1030',2010.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'IERS-Wld',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','8070','ITRF89 to ITRF2014 (1)','Scale difference in ppb and scale difference rate in ppb/yr where 1/billion = 1E-9 or nm/m. Derived by IERS from previously published information.','Geodesy','EPSG','1053','Time-dependent Position Vector tfm (geocentric)','EPSG','4911','EPSG','7789','EPSG','1262',0.01,-30.4,-35.5,130.8,'EPSG','1025',0.0,0.0,-0.26,'EPSG','1031',-8.19,'EPSG','1028',-0.1,0.5,3.3,'EPSG','1027',0.0,0.0,-0.02,'EPSG','1032',-0.12,'EPSG','1030',2010.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'IERS-Wld',0);
@@ -1011,7 +1011,7 @@ INSERT INTO "helmert_transformation" VALUES('EPSG','8258','ITRF94 to NAD83(CSRS9
INSERT INTO "helmert_transformation" VALUES('EPSG','8259','ITRF96 to NAD83(CSRS)v2 (1)','Jointly derived by Canada and US at 12 North American VLBI stations. Scale difference in ppb and scale difference rate in ppb/yr where 1/billion = 1E-9 or nm/m. See tfm code 6864 for US equivalent.','Geodesy. Defines NAD83(CSRS98) = NAD83(CSRS)v2 and is therefore treated as errorless.','EPSG','1053','Time-dependent Position Vector tfm (geocentric)','EPSG','4917','EPSG','8233','EPSG','1061',0.0,0.991,-1.9072,-0.5129,'EPSG','9001',-25.79,-9.65,-11.66,'EPSG','1031',0.0,'EPSG','1028',0.0,0.0,0.0,'EPSG','1042',-0.0532,0.7423,0.0316,'EPSG','1032',0.0,'EPSG','1030',1997.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'NRC-Can CSRSv2',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','8260','ITRF97 to NAD83(CSRS)v3 (1)','Concatenation of joint Canada-US transformation NAD83>ITRF96 (see tfm code 8259) and IGS value for ITRF96>ITRF97 transformation. Scale difference in ppb and scale difference rate in ppb/yr where 1/billion = 1E-9 or nm/m. See tfm 6865 for US equivalent.','Geodesy. Defines NAD83(CSRS)v3 and is therefore treated as errorless.','EPSG','1053','Time-dependent Position Vector tfm (geocentric)','EPSG','4918','EPSG','8238','EPSG','1061',0.0,0.9889,-1.9074,-0.503,'EPSG','9001',-25.915,-9.426,-11.599,'EPSG','1031',-0.935,'EPSG','1028',0.0007,-0.0001,0.0019,'EPSG','1042',-0.067,0.757,0.031,'EPSG','1032',-0.192,'EPSG','1030',1997.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'NRC-Can CSRSv3',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','8261','ITRF2000 to NAD83(CSRS)v4 (1)','Concatenation of joint Canada-US NAD83>ITRF96 tfm (code 8259) with IGS value of ITRF96>ITRF97 and IERS tfm ITRF97>ITRF2000. Scale difference in ppb and scale difference rate in ppb/yr where 1/billion = 1E-9 or nm/m. See tfm code 6866 for US equivalent.','Geodesy. Defines NAD83(CSRS)v4 and is therefore treated as errorless.','EPSG','1053','Time-dependent Position Vector tfm (geocentric)','EPSG','4919','EPSG','8242','EPSG','1061',0.0,0.9956,-1.9013,-0.5214,'EPSG','9001',-25.915,-9.426,-11.599,'EPSG','1031',0.615,'EPSG','1028',0.0007,-0.0007,0.0005,'EPSG','1042',-0.067,0.757,0.051,'EPSG','1032',-0.182,'EPSG','1030',1997.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'NRC-Can CSRSv4',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','8262','ITRF2005 to NAD83(CSRS)v5 (1)','Concatenation of joint Canada-US NAD83>ITRF96 transformation (code 8259) with IGS value for ITRF96>ITRF97 and IERS transformations ITRF97>ITRF2005. Scale difference in ppb and scale difference rate in ppb/yr where 1/billion = 1E-9 or nm/m.','Geodesy. Defines NAD83(CSRS)v5 and is therefore treated as errorless.','EPSG','1053','Time-dependent Position Vector tfm (geocentric)','EPSG','4896','EPSG','8248','EPSG','1061',0.0,0.9963,-1.9024,-0.5219,'EPSG','9001',-25.915,-9.426,-11.599,'EPSG','1031',0.775,'EPSG','1028',0.0005,-0.0006,-0.0013,'EPSG','1042',-0.067,0.757,0.051,'EPSG','1032',-0.102,'EPSG','1030',1997.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'NRC-Can CSRSv5',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','8262','ITRF2005 to NAD83(CSRS)v5 (1)','Concatenation of joint Canada-US NAD83>ITRF96 transformation (code 8259) with IGS value for ITRF96>ITRF97 and IERS transformations ITRF97>ITRF2005. Scale difference in ppb and scale difference rate in ppb/yr where 1/billion = 1E-9 or nm/m.','Geodesy. Defines NAD83(CSRS)v5 and is therefore treated as errorless.','EPSG','1053','Time-dependent Position Vector tfm (geocentric)','EPSG','4896','EPSG','8248','EPSG','1061',0.0,0.9963,-1.9024,-0.5219,'EPSG','9001',-25.915,-9.426,-11.599,'EPSG','1031',0.775,'EPSG','1028',0.0005,-0.0006,-0.0013,'EPSG','1042',-0.067,0.757,0.051,'EPSG','1032',-0.102,'EPSG','1030',1997.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'NRC-Can CSRSv5',1);
INSERT INTO "helmert_transformation" VALUES('EPSG','8264','ITRF2008 to NAD83(CSRS)v6 (1)','Concatenation of joint Canada-US transformation NAD83>ITRF96 (code 8259) with IGS tfm ITRF96>97 and IERS tfms ITRF97>2008. Scale difference in ppb and scale difference rate in ppb/yr where 1/billion = 1E-9 or nm/m. See tfm code 7807 for US equivalent.','Geodesy. Defines NAD83(CSRS)v6 and is therefore treated as errorless.','EPSG','1053','Time-dependent Position Vector tfm (geocentric)','EPSG','5332','EPSG','8250','EPSG','1061',0.0,0.99343,-1.90331,-0.52655,'EPSG','9001',-25.91467,-9.42645,-11.59935,'EPSG','1031',1.71504,'EPSG','1028',0.00079,-0.0006,-0.00134,'EPSG','1042',-0.06667,0.75744,0.05133,'EPSG','1032',-0.102,'EPSG','1030',1997.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'NRC-Can CSRSv6',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','8265','ITRF2014 to NAD83(CSRS)v7 (1)','Concatenation of joint Canada-US tfm NAD83>ITRF96 (see tfm code 8259) with IGS value for ITRF96>ITRF97 and IERS values for ITRF97>ITRF2014 transformations. Scale difference in ppb and scale difference rate in ppb/yr where 1/billion = 1E-9 or nm/m.','Geodesy. Defines NAD83(CSRS)v7 and is therefore treated as errorless.','EPSG','1053','Time-dependent Position Vector tfm (geocentric)','EPSG','7789','EPSG','8253','EPSG','1061',0.0,1.0053,-1.9092,-0.5416,'EPSG','9001',-26.7814,0.4203,-10.9321,'EPSG','1031',0.37,'EPSG','1028',0.0008,-0.0006,-0.0014,'EPSG','1042',-0.0667,0.7574,0.0513,'EPSG','1032',-0.07,'EPSG','1030',2010.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'NRC-Can CSRSv7',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','8270','Saint Pierre et Miquelon 1950 to WGS 84 (2)','Replaces Saint Pierre et Miquelon 1950 to WGS 84 (1) (code 1923) from March 2006.','Accuracy +/- 0.5 to 1 metre.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4638','EPSG','4326','EPSG','3299',1.0,11.363,424.148,373.13,'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,'IGN-Spm 2017',0);
@@ -1046,9 +1046,13 @@ INSERT INTO "helmert_transformation" VALUES('EPSG','8680','MGI 1901 to ETRS89 (7
INSERT INTO "helmert_transformation" VALUES('EPSG','8681','MGI 1901 to WGS 84 (12)','Parameter values from MGI 1901 to ETRS89 (7) (code 8680). Assumes ETRS89 and WGS 84 can be considered the same to within the accuracy of the transformation.','For applications to an accuracy of 1 metre.','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','3906','EPSG','4258','EPSG','1050',1.0,489.88,183.912,533.711,'EPSG','9001',5.76545,4.69994,-12.58211,'EPSG','9104',1.00646,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'FGA-Bih',1);
INSERT INTO "helmert_transformation" VALUES('EPSG','8688','MGI 1901 to WGS 84 (12)','Parameter values from MGI to Slovenia 1996 (12) (tfm code 8689) assuming Slovenia 1996 and WGS 84 can be considered the same to within the accuracy of the transformation.','1m accuracy.','EPSG','9607','Coordinate Frame rotation (geog2D domain)','EPSG','3906','EPSG','4326','EPSG','3307',1.0,476.08,125.947,417.81,'EPSG','9001',-4.610862,-2.388137,11.942335,'EPSG','9104',9.896638,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GuRS-Svn 2010',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','8689','MGI 1901 to Slovenia 1996 (12)','Derived at 479 nodes of Delauney triangulation generated from 1958 control points. Replaces MGI 1901 to Slovenia 1996 (1) (code 3916). May be taken as approximate transformation MGI 1901 to WGS 84 (see code 8688).','1m accuracy.','EPSG','9607','Coordinate Frame rotation (geog2D domain)','EPSG','3906','EPSG','4765','EPSG','3307',1.0,476.08,125.947,417.81,'EPSG','9001',-4.610862,-2.388137,11.942335,'EPSG','9104',9.896638,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GuRS-Svn 2010',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','8695','Camacupa 1948 to Camacupa 2015 (1)','Concatenation of transformations 1327 and 8882.','Geodesy.','EPSG','9607','Coordinate Frame rotation (geog2D domain)','EPSG','4220','EPSG','8694','EPSG','2324',5.8,42.899,-214.863,-11.927,'EPSG','9001',-1.844,0.648,-6.37,'EPSG','9104',0.169,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'IOGP-Ago',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','8696','Camacupa 1948 to Camacupa 2015 (2)','Concatenation of transformations 1324 and 8882.','Geodesy.','EPSG','9607','Coordinate Frame rotation (geog2D domain)','EPSG','4220','EPSG','8694','EPSG','2322',4.2,45.799,-212.263,-11.927,'EPSG','9001',-1.844,0.648,-6.37,'EPSG','9104',0.169,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'IOGP-Ago B15',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','8819','RSAO13 to WGS 84 (1)','Approximation at the +/- 1m level assuming that RSAO13 is equivalent to WGS 84within the accuracy of the transformation.','Approximation at the 1m level.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','8699','EPSG','4326','EPSG','1029',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,'IOGP-Ago',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','8822','MTRF-2000 to WGS 84 (1)','Approximation at the +/- 1m level assuming that MTRF-2000 (ITRF2000 at epoch 2004.00) is equivalent to WGS 84.','Accuracy +/- 1 metre.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','8818','EPSG','4326','EPSG','1206',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-Sau',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','8823','MGI 1901 to WGS 84 (13)','Parameter values from MGI 1901 to ETRS89 (7) (code 8680). Assumes ETRS89 and WGS 84 can be considered the same to within the accuracy of the transformation.','For applications to an accuracy of 1 metre.','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','3906','EPSG','4326','EPSG','1050',1.0,489.88,183.912,533.711,'EPSG','9001',5.76545,4.69994,-12.58211,'EPSG','9104',1.00646,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'FGA-Bih',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','8824','Ain el Abd to MTRF-2000 (1)','Accuracy given as ''several metres''. More precise national cellular transformation parameters were also determined. Software coded for these cellular transformations is available in MOMRA.','National transformation parameters.','EPSG','9607','Coordinate Frame rotation (geog2D domain)','EPSG','4204','EPSG','8818','EPSG','3303',5.0,-61.15,-315.86,-3.51,'EPSG','9001',0.41,0.74,-3.52,'EPSG','9104',1.36,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'MOMRA-Sau',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','8827','Camacupa 2015 to RSAO13 (1)','Derived by Univ. of Lisbon for CIDDEMA using 38 REPANGOL points in Angola (except SE) and Cabinda. Average horizontal error 1m, vertical 3m; max radial error 6m.','Demarcation of Angola EEZ.','EPSG','9607','Coordinate Frame rotation (geog2D domain)','EPSG','8694','EPSG','8699','EPSG','1029',3.0,-93.799,-132.737,-219.073,'EPSG','9001',1.844,-0.648,6.37,'EPSG','9104',-0.169,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'CIDDEMA-Ago',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','8828','RGPF to WGS 84 (1)','SHOM report gives scale difference as 0.999 999 9907 (wrt unity). Transformation is to original Transit definition of WGS 84. It is consistent with later WGS 84 realisations G730, G873 and G1150 to no better than 1m.','Spatial referencing.','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','4687','EPSG','4326','EPSG','1098',0.5,0.072,-0.507,-0.245,'EPSG','9001',0.0183,-0.0003,0.007,'EPSG','9104',-0.0093,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'URB-Pyf',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','8829','Tahiti 79 to RGPF (1)','','Spatial referencing.','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','4690','EPSG','4687','EPSG','3124',0.5,221.525,152.948,176.768,'EPSG','9001',2.3847,1.3896,0.877,'EPSG','9104',11.4741,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'URB-Pyf',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','8830','Tahiti 79 to WGS 84 (2)','Concatenation of Tahiti 79 to RGPF (1) and RGPF to WGS 84 (1) (CT codes 8829 and 8828).','Spatial referencing.','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','4690','EPSG','4326','EPSG','3124',1.0,221.597,152.441,176.523,'EPSG','9001',2.403,1.3893,0.884,'EPSG','9104',11.4648,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'URB-Pyf',0);
@@ -1081,7 +1085,11 @@ INSERT INTO "helmert_transformation" VALUES('EPSG','8877','ITRF91 to ETRF2014 (1
INSERT INTO "helmert_transformation" VALUES('EPSG','8878','ITRF90 to ETRF2014 (1)','Scale difference in ppb and scale difference rate in ppb/yr where 1/billion = 1E-9 or nm/m.','Realization of ETRS89 from ITRF90 through ETRF2014.','EPSG','1053','Time-dependent Position Vector tfm (geocentric)','EPSG','4912','EPSG','8401','EPSG','1298',0.0,-25.4,-11.5,92.8,'EPSG','1025',1.785,11.151,-16.43,'EPSG','1031',-4.79,'EPSG','1028',-0.1,0.5,3.3,'EPSG','1027',0.085,0.531,-0.79,'EPSG','1032',-0.12,'EPSG','1030',2010.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'EUREF-Eur 2014',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','8879','ITRF89 to ETRF2014 (1)','Scale difference in ppb and scale difference rate in ppb/yr where 1/billion = 1E-9 or nm/m.','Realization of ETRS89 from ITRF89 through ETRF2014.','EPSG','1053','Time-dependent Position Vector tfm (geocentric)','EPSG','4911','EPSG','8401','EPSG','1298',0.0,-30.4,-35.5,130.8,'EPSG','1025',1.785,11.151,-16.43,'EPSG','1031',-8.19,'EPSG','1028',-0.1,0.5,3.3,'EPSG','1027',0.085,0.531,-0.79,'EPSG','1032',-0.12,'EPSG','1030',2010.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'EUREF-Eur 2014',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','8880','ITRF2014 to ETRF2014 (2)','Scale difference in ppb and scale difference rate in ppb/yr where 1/billion = 1E-9. See ITRF2014 to ETRF2014 (1) (code 8366) for transformation which defines ETRF2014. Transformation 8407 is equivalent to 8366 but with parameter values at epoch 2010.00.','Realization of ETRS89 from ITRF2014 through ETRF2014.','EPSG','1053','Time-dependent Position Vector tfm (geocentric)','EPSG','7789','EPSG','8401','EPSG','1298',0.0,0.0,0.0,0.0,'EPSG','1025',1.785,11.151,-16.17,'EPSG','1031',0.0,'EPSG','1028',0.0,0.0,0.0,'EPSG','1027',0.085,0.531,-0.77,'EPSG','1032',0.0,'EPSG','1030',2010.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'EUREF-Eur 2014',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','8882','Camacupa 2015 to WGS 84 (11)','Derived by Univ. of Lisbon for CIDDEMA using 38 REPANGOL points in Angola (except SE) and Cabinda. Average horizontal error 1m, vertical 3m; max radial error 6m. Application offshore differs from Camacupa 1948 to WGS 84 by approx 25m.','Used by CIDDEMA for delimitation of Angola''s EEZ boundary.','EPSG','9607','Coordinate Frame rotation (geog2D domain)','EPSG','8694','EPSG','4326','EPSG','1029',3.0,-93.799,-132.737,-219.073,'EPSG','9001',1.844,-0.648,6.37,'EPSG','9104',-0.169,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'CIDDEMA-Ago',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','8883','Camacupa 1948 to RSAO13 (1)','Parameter values taken from Camacupa 1948 to WGS 84 (7) (code 1324) assuming that RSAO13 is coincident with WGS 84 within the accuracy of the transformation.','Spatial referencing.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4220','EPSG','8699','EPSG','2322',3.0,-48.0,-345.0,-231.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,'ELF-Ago B15',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','8884','Camacupa 1948 to RSAO13 (2)','Parameter values taken from Camacupa 1948 to WGS 84 (10) (code 1327) assuming that RSAO13 is coincident with WGS 84 within the accuracy of the transformation.','Spatial referencing.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4220','EPSG','8699','EPSG','2324',5.0,-50.9,-347.6,-231.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-Ago N',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','8886','SVY21 to WGS 84 (1)','Considered exact at 1994-01-01 when SVY21 aligned to WGS 84 (Transit).','Approximation at the +/- 1m level.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4757','EPSG','4326','EPSG','1210',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,'SLA-sgp',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','8887','GDA2020 to WGS 84 (Transit) (1)','Approximation at the 3m level assuming WGS 84 (Transit) is equivalent to ITRF2014 within the accuracy of the transformation.','Spatial referencing with 3-metre accuracy.','EPSG','1031','Geocentric translations (geocentric domain)','EPSG','7842','EPSG','7815','EPSG','4177',3.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,'GA-Aus 3m',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','8889','BGS2005 to ETRS89 (1)','BGS2005 is a national realization of ETRS89. May be taken as approximate transformation BGS2005 to WGS 84 - see code 8890.','Pan-European spatial positioning.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','7798','EPSG','4258','EPSG','1056',0.0,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'IOGP-Bgr',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','8890','BGS2005 to WGS 84 (1)','Approximation at the +/- 1m level assuming that ETRS89 is equivalent to WGS 84. BGS2005 is a national realization of ETRS89.','Accuracy +/- 1 metre.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','7798','EPSG','4326','EPSG','1056',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,'IOGP-Bgr',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','8891','LKS92 to ETRS89 (1)','LKS92 is a national realization of ETRS89. May be taken as approximate transformation LKS92 to WGS 84 - see code 1958.','Pan-European spatial positioning.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4661','EPSG','4258','EPSG','1139',0.0,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'IOGP-Lva',0);
@@ -1133,18 +1141,33 @@ INSERT INTO "helmert_transformation" VALUES('EPSG','9038','IGb08 to IGS14 (1)','
INSERT INTO "helmert_transformation" VALUES('EPSG','9051','ITRF94 to SIRGAS 1995 (1)','Scale difference in ppb where 1/billion = 1E-9 or nm/m.','Geodesy.','EPSG','1065','Time-specific Position Vector transform (geocen)','EPSG','4916','EPSG','4974','EPSG','3448',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,1995.4,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'SIR-S Am',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','9052','ITRF2000 to SIRGAS 2000 (1)','Scale difference in ppb where 1/billion = 1E-9 or nm/m.','Geodesy.','EPSG','1065','Time-specific Position Vector transform (geocen)','EPSG','4919','EPSG','4988','EPSG','3418',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,2000.4,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'SIR-SC Am',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','9076','WGS 84 (G873) to ITRF94 (1)','Defined at epoch 1997.0.','Geodesy','EPSG','1032','Coordinate Frame rotation (geocentric domain)','EPSG','7658','EPSG','4916','EPSG','1262',0.1,0.0,0.0,0.0,'EPSG','9001',0.0,0.0,0.0,'EPSG','9104',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,'NGA-Wld 1997.0',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','9077','ITRF2000 to NAD83(MARP00) (1)','Defines NAD83(MARP00). Equivalent transformation published on NGS web site and used in HDTP with rX=28.971 mas, rY=10.420 mas and rZ=8.928 mas at epoch 1997.00.','Geodesy.','EPSG','1056','Time-dependent Coordinate Frame rotation (geocen)','EPSG','4919','EPSG','9070','EPSG','4167',0.0,0.9102,-2.0141,-0.5602,'EPSG','9001',29.039,10.065,10.101,'EPSG','1031',0.0,'EPSG','1028',0.0,0.0,0.0,'EPSG','1042',-0.02,0.105,-0.347,'EPSG','1032',0.0,'EPSG','1030',1993.62,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'NGS-MA',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','9078','ITRF2000 to NAD83(PACP00) (1)','Defines NAD83(PACP00). Equivalent transformation published on NGS web site and used in HDTP with rX=27.741 mas, rY=13.469 mas and rZ=2.712 mas at epoch 1997.00.','Geodesy.','EPSG','1056','Time-dependent Coordinate Frame rotation (geocen)','EPSG','4919','EPSG','9073','EPSG','4162',0.0,0.9102,-2.0141,-0.5602,'EPSG','9001',29.039,10.065,10.101,'EPSG','1031',0.0,'EPSG','1028',0.0,0.0,0.0,'EPSG','1042',-0.384,1.007,-2.186,'EPSG','1032',0.0,'EPSG','1030',1993.62,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'NGS-PA',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','9079','ITRF97 to ITRF96 (2)','Scale difference in ppb and scale difference rate in ppb/yr where 1/billion = 1E-9 or nm/m. Uses IGS determination. Used as first step in ITRF97 to NZGD2000 concatenated operations, followed by application of NZGD2000 deformation model.','Geodesy.','EPSG','1053','Time-dependent Position Vector tfm (geocentric)','EPSG','4918','EPSG','4917','EPSG','1175',0.01,0.0,-0.51,15.53,'EPSG','1025',-0.16508,0.26897,0.05984,'EPSG','1031',-1.51099,'EPSG','1028',0.69,-0.1,1.86,'EPSG','1027',-0.01347,0.01514,-0.00027,'EPSG','1032',-0.19201,'EPSG','1030',2000.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'LINZ-Nzl 97',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','9080','ITRF2000 to ITRF96 (2)','Scale difference in ppb and scale difference rate in ppb/yr where 1/billion = 1E-9 or nm/m. Used as first step in ITRF2000 to NZGD2000 concatenated operations, followed by application of NZGD2000 deformation model.','Geodesy.','EPSG','1053','Time-dependent Position Vector tfm (geocentric)','EPSG','4919','EPSG','4917','EPSG','1175',0.01,6.7,3.79,-7.17,'EPSG','1025',-0.16508,0.26897,0.11984,'EPSG','1031',0.06901,'EPSG','1028',0.69,-0.7,0.46,'EPSG','1027',-0.01347,0.01514,0.01973,'EPSG','1032',-0.18201,'EPSG','1030',2000.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'LINZ-Nzl 2000',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','9081','ITRF2005 to ITRF96 (1)','Scale difference in ppb and scale difference rate in ppb/yr where 1/billion = 1E-9 or nm/m. Used as first step in ITRF2005 to NZGD2000 concatenated operations, followed by application of NZGD2000 deformation model.','Geodesy.','EPSG','1053','Time-dependent Position Vector tfm (geocentric)','EPSG','4896','EPSG','4917','EPSG','1175',0.01,6.8,2.99,-12.97,'EPSG','1025',-0.16508,0.26897,0.11984,'EPSG','1031',0.46901,'EPSG','1028',0.49,-0.6,-1.34,'EPSG','1027',-0.01347,0.01514,0.01973,'EPSG','1032',-0.10201,'EPSG','1030',2000.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'LINZ-Nzl 2005',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','9082','ITRF2008 to ITRF96 (2)','Scale difference in ppb and scale difference rate in ppb/yr where 1/billion = 1E-9 or nm/m. Used as first step in ITRF2008 to NZGD2000 concatenated operations, followed by application of NZGD2000 deformation model.','Geodesy.','EPSG','1053','Time-dependent Position Vector tfm (geocentric)','EPSG','5332','EPSG','4917','EPSG','1175',0.01,4.8,2.09,-17.67,'EPSG','1025',-0.16508,0.26897,0.11984,'EPSG','1031',1.40901,'EPSG','1028',0.79,-0.6,-1.34,'EPSG','1027',-0.01347,0.01514,0.01973,'EPSG','1032',-0.10201,'EPSG','1030',2000.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'LINZ-Nzl 2008',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','9083','ITRF2014 to ITRF96 (2)','Scale difference in ppb and scale difference rate in ppb/yr where 1/billion = 1E-9 or nm/m. Used as first step in ITRF2014 to NZGD2000 concatenated operations, followed by application of NZGD2000 deformation model.','Geodesy.','EPSG','1053','Time-dependent Position Vector tfm (geocentric)','EPSG','7789','EPSG','4917','EPSG','1175',0.01,6.4,3.99,-14.27,'EPSG','1025',-0.16508,0.26897,0.11984,'EPSG','1031',1.08901,'EPSG','1028',0.79,-0.6,-1.44,'EPSG','1027',-0.01347,0.01514,0.01973,'EPSG','1032',-0.07201,'EPSG','1030',2000.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'LINZ-Nzl 2014',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','9126','NAD83(CSRS)v2 to NAD83(CORS96) (1)','Scale difference in ppb where 1/billion = 1E-9 or nm/m. Source and target CRSs defined from ITRF96 by common transformations (codes 6864 and 8259). 6864 defines CORS96 from 1st January 1997 to 31st December 1999.','Geodesy.','EPSG','1065','Time-specific Position Vector transform (geocen)','EPSG','8233','EPSG','6781','EPSG','4544',0.0,0.0,0.0,0.0,'EPSG','9001',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,1997.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'ISO-N Am',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','9127','NAD83(CSRS)v3 to NAD83(CORS96) (1)','Scale difference in ppb where 1/billion = 1E-9 or nm/m. Source and target CRSs defined from ITRF97 by common transformations (codes 6865 and 8260). 6865 defines CORS96 from 1st January 2000 to 31st December 2001.','Geodesy.','EPSG','1065','Time-specific Position Vector transform (geocen)','EPSG','8238','EPSG','6781','EPSG','4544',0.0,0.0,0.0,0.0,'EPSG','9001',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,1997.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'ISO-N Am',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','9128','NAD83(CSRS)v4 to NAD83(CORS96) (1)','Scale difference in ppb where 1/billion = 1E-9 or nm/m. Source and target CRSs defined from ITRF2000 by common transformations (codes 6866 and 8261). 6866 defines CORS96 from 1st January 2002 to 6th September 2011.','Geodesy.','EPSG','1065','Time-specific Position Vector transform (geocen)','EPSG','8242','EPSG','6781','EPSG','4544',0.0,0.0,0.0,0.0,'EPSG','9001',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,2002.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'ISO-N Am',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','9129','NAD83(CSRS)v6 to NAD83(2011) (1)','Scale difference in ppb where 1/billion = 1E-9 or nm/m. Source and target CRSs defined from ITRF2008 by common transformations (codes 7807 and 8264).','Geodesy.','EPSG','1065','Time-specific Position Vector transform (geocen)','EPSG','8250','EPSG','6317','EPSG','1262',0.0,0.0,0.0,0.0,'EPSG','9001',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,'ISO-N Am',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','9142','MGI 1901 to KOSOVAREF01 (1)','Derived at 18 points across the area of Kosovo. May be taken as approximate transformation MGI 1901 to WGS 84 (see code 9143).','Spatial referencing.','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','3906','EPSG','9140','EPSG','4542',1.0,628.54052,192.2538,498.43507,'EPSG','9001',-13.79189,-0.81467,41.21533,'EPSG','9104',-17.40368,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'KCA-Kos',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','9143','MGI 1901 to WGS 84 (14)','Parameter values from MGI 1901 to KOSOVAREF01 (1) (code 9142). Assumes KOSOVAREF01 and WGS 84 can be considered the same to within the accuracy of the transformation.','Approximation at the 1m level.','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','3906','EPSG','4326','EPSG','4542',1.0,628.54052,192.2538,498.43507,'EPSG','9001',-13.79189,-0.81467,41.21533,'EPSG','9104',-17.40368,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'IOGP-Kos',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','9144','KOSOVAREF01 to WGS 84 (1)','Approximation at the +/- 1m level assuming that ETRS89 is equivalent to WGS 84. KOSOVAREF01 is a national realization of ETRS89.','Accuracy +/- 1 metre.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','9140','EPSG','4326','EPSG','4542',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,'IOGP-Kos',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','9145','WGS 84 (Transit) to ITRF90 (1)','','Geodesy','EPSG','1033','Position Vector transformation (geocentric domain)','EPSG','7815','EPSG','4912','EPSG','1262',1.0,-0.06,0.517,0.223,'EPSG','9001',-0.0183,0.0003,-0.007,'EPSG','9104',0.011,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'IERS-Wld',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','9177','SIRGAS-Chile 2002 to ITRF2000 (1)','Transformation is exact at epoch 2002.00 but accuracy then decreasing with time.','Geodesy.','EPSG','1065','Time-specific Position Vector transform (geocen)','EPSG','5358','EPSG','4919','EPSG','1066',0.1,0.0,0.0,0.0,'EPSG','1025',0.0,0.0,0.0,'EPSG','1031',0.0,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2002.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'IOGP-Chl',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','9178','SIRGAS-Chile 2010 to IGS08 (1)','Transformation is exact at epoch 2010.00 but accuracy then decreasing with time.','Geodesy.','EPSG','1065','Time-specific Position Vector transform (geocen)','EPSG','8947','EPSG','6934','EPSG','1066',0.1,0.0,0.0,0.0,'EPSG','1025',0.0,0.0,0.0,'EPSG','1031',0.0,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2010.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'IOGP-Chl',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','9179','SIRGAS-Chile 2013 to IGb08 (1)','Transformation is exact at epoch 2013.00 but accuracy then decreasing with time.','Geodesy.','EPSG','1065','Time-specific Position Vector transform (geocen)','EPSG','9146','EPSG','9015','EPSG','1066',0.1,0.0,0.0,0.0,'EPSG','1025',0.0,0.0,0.0,'EPSG','1031',0.0,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2013.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'IOGP-Chl',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','9180','SIRGAS-Chile 2016 to IGb08 (1)','Transformation is exact at epoch 2016.00 but accuracy then decreasing with time.','Geodesy.','EPSG','1065','Time-specific Position Vector transform (geocen)','EPSG','9151','EPSG','9015','EPSG','1066',0.1,0.0,0.0,0.0,'EPSG','1025',0.0,0.0,0.0,'EPSG','1031',0.0,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2016.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'IOGP-Chl',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','9185','AGD66 to GDA2020 (1)','This transformation is for users wanting to apply a 7-parameter conformal transformation from AGD66 to GDA2020 in the ACT.','Spatial referencing.','EPSG','9607','Coordinate Frame rotation (geog2D domain)','EPSG','4202','EPSG','7844','EPSG','2283',0.05,-136.9703,-37.5638,124.4242,'EPSG','9001',-0.25676,-0.42966,-0.30077,'EPSG','9104',-4.61966,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'EPD-Aus ACT',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','9186','ITRF2008 to IG05/12 Intermediate CRS','Derived from Israeli CORS on ITRF2008 at epoch 2018.50. Updates CT 6993 for approx. 40cm tectonic plate motion 2012 to 2019 for GIS purposes. CT 6993 remains the legal definition of IG05/12 and must be used for cadastral and precise engineering purposes.','GIS. Note: not to be used for cadastre or precise engineering survey: see remarks.','EPSG','9607','Coordinate Frame rotation (geog2D domain)','EPSG','8999','EPSG','6990','EPSG','2603',0.05,-23.772,-17.49,-17.859,'EPSG','9001',-0.3132,-1.85274,1.67299,'EPSG','9104',5.4262,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SOI-Isr 2019',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','9189','WGS 84 to IG05/12 Intermediate CRS','Parameter values from CT code 9186 assuming that WGS 84 is coincident with ITRF2008. Updates CT 6993 for approx. 40cm tectonic plate motion for GIS purposes. CT 6993 remains the legal definition of IG05/12 and must be used for cadastre and engineering.','GIS. Note: not to be used for cadastre or precise engineering survey: see remarks.','EPSG','9607','Coordinate Frame rotation (geog2D domain)','EPSG','4326','EPSG','6990','EPSG','2603',0.1,-23.772,-17.49,-17.859,'EPSG','9001',-0.3132,-1.85274,1.67299,'EPSG','9104',5.4262,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SOI-Isr 2019',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','9223','WGS 84 to ETRS89 (2)','Parameter values derived from ITRF2008 to ETRF2000 (1), code 7951, as a time-specific transformation @2014.81, assuming ITRF2008 = WGS 84 (G1762) = WGS 84 and ETRF2000 = ETRS89.','Oil and gas exploration and production.','EPSG','1065','Time-specific Position Vector transform (geocen)','EPSG','4936','EPSG','4978','EPSG','4566',0.1,0.054,0.051,-0.085,'EPSG','9001',0.0021,0.0126,-0.0204,'EPSG','9104',0.0025,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2014.81,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'ONE-Deu/Nld 2014.81',1);
INSERT INTO "helmert_transformation" VALUES('EPSG','9224','ED50 to ETRS89 (15)','Parameter values from ED50 to WGS 84 (36) assuming that ETRS89 is equivalent to WGS 84 at epoch 1989.00..','Oil and gas exploration and production..','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','4230','EPSG','4258','EPSG','4566',1.0,-157.89,-17.16,-78.41,'EPSG','9001',2.118,2.697,-1.434,'EPSG','9104',-5.38,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'ONE-Ger Nsea',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','9225','WGS 84 to ETRS89 (2)','Parameter values derived from ITRF2008 to ETRF2000 (1), code 7951, as a time-specific transformation @2014.81, assuming ITRF2008 = WGS 84 (G1762) = WGS 84 and ETRF2000 = ETRS89.','Oil and gas exploration and production.','EPSG','1065','Time-specific Position Vector transform (geocen)','EPSG','4978','EPSG','4936','EPSG','4566',0.1,0.054,0.051,-0.085,'EPSG','9001',0.0021,0.0126,-0.0204,'EPSG','9104',0.0025,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2014.81,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'ONE-Deu/Nld 2014.81',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','9226','SHGD2015 to Astro DOS 71 (2)','Derived at 19 stations, RMS = 6cm. Note: Because of the large rotations about the Y- and Z-axes this transformation is not reversible. For the reverse transformation use Astro DOS 71 to SHGD2015 (2) (code 7895).','High Accuracy transformation from St Helena Geodetic Datum 2015. Not reversible - see remarks.','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','7886','EPSG','4710','EPSG','3183',0.1,112.771,-12.282,18.935,'EPSG','9001',-2.1692,-16.8896,-17.1961,'EPSG','9104',19.54517,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'ENRD-Shn Hel 0.1m Rev',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','9227','ITRF2005 to NAD83(CSRS)v5 (1)','Concatenation of joint Canada-US NAD83>ITRF96 transformation (code 8259) with IGS value for ITRF96>ITRF97 and IERS transformations ITRF97>ITRF2005. Scale difference in ppb and scale difference rate in ppb/yr where 1/billion = 1E-9 or nm/m.','Geodesy. Defines NAD83(CSRS)v5 and is therefore treated as errorless.','EPSG','1053','Time-dependent Position Vector tfm (geocentric)','EPSG','4896','EPSG','8247','EPSG','1061',0.0,0.9963,-1.9024,-0.5219,'EPSG','9001',-25.915,-9.426,-11.599,'EPSG','1031',0.775,'EPSG','1028',0.0005,-0.0006,-0.0013,'EPSG','1042',-0.067,0.757,0.051,'EPSG','1032',-0.102,'EPSG','1030',1997.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'NRC-Can CSRSv5',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);
@@ -1310,8 +1333,8 @@ INSERT INTO "helmert_transformation" VALUES('EPSG','15856','NAD27 to WGS 84 (84)
INSERT INTO "helmert_transformation" VALUES('EPSG','15860','Mauritania 1999 to WGS 84 (1)','Mauritania 1999 can be considered to be the same as WGS 84 within the accuracy of this transformation.','Minerals management. Accuracy 1m.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4702','EPSG','4326','EPSG','1157',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-Mau',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','15865','Pulkovo 1942 to WGS 84 (16)','Derived via PZ-90 at 30 stations throughout USSR (Former Soviet Union, FSU) through concatenation of Pulkovo 1942 to PZ-90 (1) (tfm code 15844) and PZ-90 to WGS 84 (1) (tfm code 15843).','Accuracy 4.5 metres.','EPSG','9607','Coordinate Frame rotation (geog2D domain)','EPSG','4284','EPSG','4326','EPSG','2423',4.5,25.0,-141.0,-78.5,'EPSG','9001',0.0,-0.35,-0.736,'EPSG','9104',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,'OGP-Rus',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','15866','FD54 to ED50 (1)','Derived at 3 points in 1976. This transformation then used to define ED50 on the Faroe Islands.','Defines ED50 in the Faroe Islands: transformation therefore considered exact.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4741','EPSG','4230','EPSG','3248',0.0,-153.33,-169.41,86.39,'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,'KMS-Fro',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','15867','PD/83 to ETRS89 (1)','Derived at 10 points of the German GPS Network DREF.','For applications with an accuracy at 0.1m level','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','4746','EPSG','4258','EPSG','2544',0.1,599.4,72.4,419.2,'EPSG','9001',-0.062,-0.022,-2.723,'EPSG','9104',6.46,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'BKG-Deu Thur',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','15868','RD/83 to ETRS89 (1)','Derived in 2001 at 31 points of the German GPS Network DREF in former East Germany. Although for high accuracy limited to Saxony, may be taken as approximate transformation between DHDN and WGS 84 for all former East German states - see code 15869.','For applications with an accuracy at 0.1m level','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','4745','EPSG','4258','EPSG','2545',0.1,612.4,77.0,440.2,'EPSG','9001',-0.054,0.057,-2.797,'EPSG','9104',2.55,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'BKG-Deu Sach',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','15867','PD/83 to ETRS89 (1)','Derived at 10 points of the German GPS Network DREF.','For applications with an accuracy at the sub-metre level','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','4746','EPSG','4258','EPSG','2544',1.0,599.4,72.4,419.2,'EPSG','9001',-0.062,-0.022,-2.723,'EPSG','9104',6.46,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'BKG-Deu Thur',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','15868','RD/83 to ETRS89 (1)','Derived in 2001 at 31 points of the German GPS Network DREF in former East Germany. Although for high accuracy limited to Saxony, may be taken as approximate transformation between DHDN and WGS 84 for all former East German states - see code 15869.','For applications with an accuracy at the sub-metre level.','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','4745','EPSG','4258','EPSG','2545',1.0,612.4,77.0,440.2,'EPSG','9001',-0.054,0.057,-2.797,'EPSG','9104',2.55,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'BKG-Deu Sach',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','15869','DHDN to WGS 84 (3)','Parameter values taken from RD/83 to ETRS89 (1) (tfm code 15868) assuming that within the accuracy of the transformation ETRS89 is equivalent to WGS 84 and RD/83 is equivalent to DHDN.','For applications with an accuracy at 2m level','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','4314','EPSG','4326','EPSG','1343',2.0,612.4,77.0,440.2,'EPSG','9001',-0.054,0.057,-2.797,'EPSG','9104',2.55,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'OGP-Deu E',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','15870','Jouik 1961 to WGS 84 (1)','Derived at 5 points in 2002.','Hydrographic survey','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4679','EPSG','4326','EPSG','2967',1.0,-80.01,253.26,291.19,'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,'Wood-Mrt',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','15871','Nahrwan 1967 to WGS 84 (6)','Derived by concatenation of parameter values published by IGN Paris from Nahrwan 1967 to WGS 72 at the Nahrwan SE Base trig station near Baghdad with DMA WGS 72 to WGS 84 parameter values.','Oil exploration.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4270','EPSG','4326','EPSG','3625',5.0,-242.2,-144.9,370.3,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'IGN-Irq',1);
+805 -775
View File
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -1,2 +1,2 @@
INSERT INTO "metadata" VALUES('EPSG.VERSION', 'v9.7.0');
INSERT INTO "metadata" VALUES('EPSG.DATE', '2019-07-25');
INSERT INTO "metadata" VALUES('EPSG.VERSION', 'v9.8.4');
INSERT INTO "metadata" VALUES('EPSG.DATE', '2019-11-12');
+21
View File
@@ -192,11 +192,32 @@ INSERT INTO "other_transformation" VALUES('EPSG','7653','EGM96 height to Kumul 3
INSERT INTO "other_transformation" VALUES('EPSG','7654','EGM2008 height to Kiunga height (1)','','Derivation of heights referenced to Kiunga vertical CRS (CRS code 7652).','EPSG','9616','Vertical Offset','EPSG','3855','EPSG','7652','EPSG','4383',0.0,'EPSG','8603','Vertical Offset',-3.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,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'QC-Png Kiunga',0);
INSERT INTO "other_transformation" VALUES('EPSG','7873','EGM96 height to POM96 height (1)','','Derivation of POM96 heights.','EPSG','9616','Vertical Offset','EPSG','5773','EPSG','7832','EPSG','4425',0.0,'EPSG','8603','Vertical Offset',-1.58,'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,'QC-Png Gulf-Cen',0);
INSERT INTO "other_transformation" VALUES('EPSG','7874','EGM2008 height to POM08 height (1)','','Derivation of POM08 heights.','EPSG','9616','Vertical Offset','EPSG','3855','EPSG','7841','EPSG','4425',0.0,'EPSG','8603','Vertical Offset',-0.93,'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,'QC-Png Gulf-Cen',0);
INSERT INTO "other_transformation" VALUES('EPSG','7963','Poolbeg height (ft(Br36)) to Poolbeg height (m)','Change of unit from British foot (1936) [ft(BR36)] to metre.','Change of unit to facilitate transformation of heights or depths through concatenated operations.','EPSG','1069','Change of Vertical Unit','EPSG','5754','EPSG','7962','EPSG','1305',NULL,'EPSG','1051','Unit conversion scalar',0.3048007491,'EPSG','9201',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,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','7964','Poolbeg height (m) to Malin Head height (1)','Poolbeg vertical reference surface is 2.7m below Malin Head surface. Transformations are subject to localised anomalies.','Change of height to a different vertical reference surface for topographic mapping and engineering survey. Accuracy 0.1m.','EPSG','9616','Vertical Offset','EPSG','7962','EPSG','5731','EPSG','1305',0.1,'EPSG','8603','Vertical Offset',-2.7,'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,'OSI-Ire',0);
INSERT INTO "other_transformation" VALUES('EPSG','7966','Poolbeg height (m) to Belfast height (1)','Poolbeg vertical reference surface is 2.7m below Belfast surface. Transformations are subject to localised anomalies.','Change of height to a different vertical reference surface for topographic mapping and engineering survey. Accuracy 0.1m.','EPSG','9616','Vertical Offset','EPSG','7962','EPSG','5732','EPSG','1305',0.1,'EPSG','8603','Vertical Offset',-2.7,'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,'OSI-Ire',0);
INSERT INTO "other_transformation" VALUES('EPSG','7972','NGVD29 height (ftUS) to NGVD29 height (m)','Change of unit from US survey foot (ftUS) to metre. 1 ftUS = (12/39.37)m ≈ 0.304800609601219m.','Change of unit to facilitate transformation of heights or depths through concatenated operations.','EPSG','1069','Change of Vertical Unit','EPSG','5702','EPSG','7968','EPSG','1323',NULL,'EPSG','1051','Unit conversion scalar',0.304800609601219,'EPSG','9201',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,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','7977','HKPD depth to HKCD depth (1)','The HKPD vertical reference surface is 0.146m above the HKCD surface.','Change of depth to a different vertical reference surface.','EPSG','9616','Vertical Offset','EPSG','7976','EPSG','5739','EPSG','3335',0.0,'EPSG','8603','Vertical Offset',-0.146,'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,'SMO-HK',0);
INSERT INTO "other_transformation" VALUES('EPSG','7978','NGVD29 height (ftUS) to NGVD29 depth (ftUS)','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','5702','EPSG','6359','EPSG','1323',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,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','7980','KOC CD height to KOC WD height (1)','The KOC CD vertical reference surface is 4.74m (15.55ft) below KOC WD surface.','Change of height to a different vertical reference surface.','EPSG','9616','Vertical Offset','EPSG','5790','EPSG','7979','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',0);
INSERT INTO "other_transformation" VALUES('EPSG','7981','Kuwait PWD height to KOC WD height (1)','The KOC WD vertical reference surface is 4.25m above the Kuwait PWD surface.','Change of height to a different vertical reference surface.','EPSG','9616','Vertical Offset','EPSG','5788','EPSG','7979','EPSG','3267',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',0);
INSERT INTO "other_transformation" VALUES('EPSG','7982','HKPD height to HKPD 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','5738','EPSG','7976','EPSG','3334',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,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','7984','KOC WD height to KOC WD 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','7979','EPSG','5789','EPSG','3267',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,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','7985','KOC WD depth to KOC WD depth (ft)','Change of unit from metre to International foot (ft). 1ft = 0.3048m.','Change of unit to facilitate transformation of heights or depths through concatenated operations.','EPSG','1069','Change of Vertical Unit','EPSG','5789','EPSG','5614','EPSG','3267',NULL,'EPSG','1051','Unit conversion scalar',3.28083989501312,'EPSG','9201',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,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','7988','NAVD88 height to NAVD88 height (ftUS)','Change of unit from metre to US survey foot. 1 ftUS = (12/39.37)m ≈ 0.304800609601219m.','Change of unit to facilitate transformation of heights or depths through concatenated operations.','EPSG','1069','Change of Vertical Unit','EPSG','5703','EPSG','6360','EPSG','3664',NULL,'EPSG','1051','Unit conversion scalar',3.28083333333333,'EPSG','9201',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,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','7989','NAVD88 height to NAVD88 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','5703','EPSG','6357','EPSG','4161',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,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','7990','NAVD88 height (ftUS) to NAVD88 depth (ftUS)','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','6360','EPSG','6358','EPSG','3664',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,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','8038','Instantaneous Water Level height to Instantaneous Water Level 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','5829','EPSG','5831','EPSG','1262',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,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','8039','MSL height to MSL 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','5714','EPSG','5715','EPSG','1262',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,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','8054','MSL height to MSL height (ft)','Change of unit from metre to International foot (ft). 1ft = 0.3048m.','Change of unit to facilitate transformation of heights or depths through concatenated operations.','EPSG','1069','Change of Vertical Unit','EPSG','5714','EPSG','8050','EPSG','1262',NULL,'EPSG','1051','Unit conversion scalar',3.28083989501312,'EPSG','9201',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,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','8055','MSL height to MSL height (ftUS)','Change of unit from metre to US survey foot (ftUS). 1 ftUS = (12/39.37)m ≈ 0.304800609601219m.','Change of unit to facilitate transformation of heights or depths through concatenated operations.','EPSG','1069','Change of Vertical Unit','EPSG','5714','EPSG','8052','EPSG','1245',NULL,'EPSG','1051','Unit conversion scalar',3.28083333333333,'EPSG','9201',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,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','8056','MSL depth to MSL depth (ft)','Change of unit from metre to International foot (ft). 1ft = 0.3048m.','Change of unit to facilitate transformation of heights or depths through concatenated operations.','EPSG','1069','Change of Vertical Unit','EPSG','5715','EPSG','8051','EPSG','1262',NULL,'EPSG','1051','Unit conversion scalar',3.28083989501312,'EPSG','9201',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,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','8057','MSL depth to MSL depth (ftUS)','Change of unit from metre to US survey foot (ftUS). 1 ftUS = (12/39.37)m ≈ 0.304800609601219m.','Change of unit to facilitate transformation of heights or depths through concatenated operations.','EPSG','1069','Change of Vertical Unit','EPSG','5715','EPSG','8053','EPSG','1245',NULL,'EPSG','1051','Unit conversion scalar',3.28083333333333,'EPSG','9201',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,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','8060','Baltic 1977 height to Baltic 1977 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','5705','EPSG','5612','EPSG','2423',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,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','8229','NAVD88 height to NAVD88 height (ft)','Change of unit from metre to International foot (ft). 1ft = 0.3048m.','Change of unit to facilitate transformation of heights or depths through concatenated operations for States of the US which have adopted International feet for their State Plane coordinate systems.','EPSG','1069','Change of Vertical Unit','EPSG','5703','EPSG','8228','EPSG','4464',NULL,'EPSG','1051','Unit conversion scalar',3.28083989501312,'EPSG','9201',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,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','8354','Black Sea height to Black Sea 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','5735','EPSG','5336','EPSG','3251',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,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','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','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);
+73 -106
View File
@@ -43,14 +43,13 @@ CREATE TABLE ellipsoid (
deprecated BOOLEAN NOT NULL CHECK (deprecated IN (0, 1)),
CONSTRAINT pk_ellipsoid PRIMARY KEY (auth_name, code),
CONSTRAINT fk_ellipsoid_celestial_body FOREIGN KEY (celestial_body_auth_name, celestial_body_code) REFERENCES celestial_body(auth_name, code),
CONSTRAINT fk_ellipsoid_unit_of_measure FOREIGN KEY (uom_auth_name, uom_code) REFERENCES unit_of_measure(auth_name, code)
CONSTRAINT fk_ellipsoid_unit_of_measure FOREIGN KEY (uom_auth_name, uom_code) REFERENCES unit_of_measure(auth_name, code),
CONSTRAINT check_ellipsoid_inv_flattening_semi_minor_mutually_exclusive CHECK ((inv_flattening IS NULL AND semi_minor_axis IS NOT NULL) OR (inv_flattening IS NOT NULL AND semi_minor_axis IS NULL))
);
CREATE TRIGGER ellipsoid_insert_trigger
BEFORE INSERT ON ellipsoid
FOR EACH ROW BEGIN
SELECT RAISE(ABORT, 'insert on ellipsoid violates constraint: inv_flattening (exclusive) or semi_minor_axis should be defined')
WHERE (NEW.inv_flattening IS NULL AND NEW.semi_minor_axis IS NULL) OR (NEW.inv_flattening IS NOT NULL AND NEW.semi_minor_axis IS NOT NULL);
SELECT RAISE(ABORT, 'insert on ellipsoid violates constraint: uom should be of type ''length''')
WHERE (SELECT type FROM unit_of_measure WHERE auth_name = NEW.uom_auth_name AND code = NEW.uom_code) != 'length';
END;
@@ -65,18 +64,11 @@ CREATE TABLE area(
west_lon FLOAT CHECK (west_lon BETWEEN -180 AND 180),
east_lon FLOAT CHECK (east_lon BETWEEN -180 AND 180),
deprecated BOOLEAN NOT NULL CHECK (deprecated IN (0, 1)),
CONSTRAINT pk_area PRIMARY KEY (auth_name, code)
CONSTRAINT pk_area PRIMARY KEY (auth_name, code),
CONSTRAINT check_area_lat CHECK (south_lat <= north_lat),
CONSTRAINT check_area_lon CHECK (west_lon <= east_lon OR (east_lon + 360 - west_lon <= 200))
);
CREATE TRIGGER area_insert_trigger
BEFORE INSERT ON area
FOR EACH ROW BEGIN
SELECT RAISE(ABORT, 'insert on area violates constraint: south_lat <= north_lat')
WHERE NEW.south_lat > NEW.north_lat;
SELECT RAISE(ABORT, 'insert on area violates constraint: west_lon <= east_lon OR (east_lon + 360 - west_lon <= 200)')
WHERE NOT(NEW.west_lon <= NEW.east_lon OR (NEW.east_lon + 360 - NEW.west_lon <= 200));
END;
CREATE TABLE prime_meridian(
auth_name TEXT NOT NULL CHECK (length(auth_name) >= 1),
code TEXT NOT NULL CHECK (length(code) >= 1),
@@ -108,6 +100,7 @@ CREATE TABLE geodetic_datum (
prime_meridian_code TEXT NOT NULL,
area_of_use_auth_name TEXT NOT NULL,
area_of_use_code TEXT NOT NULL,
publication_date TEXT, --- YYYY-MM-DD format
deprecated BOOLEAN NOT NULL CHECK (deprecated IN (0, 1)),
CONSTRAINT pk_geodetic_datum PRIMARY KEY (auth_name, code),
CONSTRAINT fk_geodetic_datum_ellipsoid FOREIGN KEY (ellipsoid_auth_name, ellipsoid_code) REFERENCES ellipsoid(auth_name, code),
@@ -134,6 +127,7 @@ CREATE TABLE vertical_datum (
scope TEXT,
area_of_use_auth_name TEXT NOT NULL,
area_of_use_code TEXT NOT NULL,
publication_date TEXT CHECK (NULL OR length(publication_date) = 10), --- YYYY-MM-DD format
deprecated BOOLEAN NOT NULL CHECK (deprecated IN (0, 1)),
CONSTRAINT pk_vertical_datum PRIMARY KEY (auth_name, code),
CONSTRAINT fk_vertical_datum_area FOREIGN KEY (area_of_use_auth_name, area_of_use_code) REFERENCES area(auth_name, code)
@@ -151,20 +145,12 @@ CREATE TABLE coordinate_system(
code TEXT NOT NULL CHECK (length(code) >= 1),
type TEXT NOT NULL CHECK (type IN ('Cartesian', 'vertical', 'ellipsoidal', 'spherical')),
dimension SMALLINT NOT NULL CHECK (dimension BETWEEN 1 AND 3),
CONSTRAINT pk_coordinate_system PRIMARY KEY (auth_name, code)
CONSTRAINT pk_coordinate_system PRIMARY KEY (auth_name, code),
CONSTRAINT check_cs_vertical CHECK (type != 'vertical' OR dimension = 1),
CONSTRAINT check_cs_cartesian CHECK (type != 'Cartesian' OR dimension IN (2,3)),
CONSTRAINT check_cs_ellipsoidal CHECK (type != 'ellipsoidal' OR dimension IN (2,3))
);
CREATE TRIGGER coordinate_system_insert_trigger
BEFORE INSERT ON coordinate_system
FOR EACH ROW BEGIN
SELECT RAISE(ABORT, 'insert on coordinate_system violates constraint: dimension must be equal to 1 for type = ''vertical''')
WHERE NEW.type = 'vertical' AND NEW.dimension != 1;
SELECT RAISE(ABORT, 'insert on coordinate_system violates constraint: dimension must be equal to 2 or 3 for type = ''Cartesian''')
WHERE NEW.type = 'Cartesian' AND NEW.dimension NOT IN (2, 3);
SELECT RAISE(ABORT, 'insert on coordinate_system violates constraint: dimension must be equal to 2 or 3 for type = ''ellipsoidal''')
WHERE NEW.type = 'ellipsoidal' AND NEW.dimension NOT IN (2, 3);
END;
CREATE TABLE axis(
auth_name TEXT NOT NULL CHECK (length(auth_name) >= 1),
code TEXT NOT NULL CHECK (length(code) >= 1),
@@ -206,7 +192,12 @@ CREATE TABLE geodetic_crs(
CONSTRAINT pk_geodetic_crs PRIMARY KEY (auth_name, code),
CONSTRAINT fk_geodetic_crs_coordinate_system FOREIGN KEY (coordinate_system_auth_name, coordinate_system_code) REFERENCES coordinate_system(auth_name, code),
CONSTRAINT fk_geodetic_crs_datum FOREIGN KEY (datum_auth_name, datum_code) REFERENCES geodetic_datum(auth_name, code),
CONSTRAINT fk_geodetic_crs_area FOREIGN KEY (area_of_use_auth_name, area_of_use_code) REFERENCES area(auth_name, code)
CONSTRAINT fk_geodetic_crs_area FOREIGN KEY (area_of_use_auth_name, area_of_use_code) REFERENCES area(auth_name, code),
CONSTRAINT check_geodetic_crs_cs CHECK (NOT ((coordinate_system_auth_name IS NULL OR coordinate_system_code IS NULL) AND text_definition IS NULL)),
CONSTRAINT check_geodetic_crs_cs_bis CHECK (NOT ((NOT(coordinate_system_auth_name IS NULL OR coordinate_system_code IS NULL)) AND text_definition IS NOT NULL)),
CONSTRAINT check_geodetic_crs_datum CHECK (NOT ((datum_auth_name IS NULL OR datum_code IS NULL) AND text_definition IS NULL)),
CONSTRAINT check_geodetic_crs_datum_bis CHECK (NOT ((NOT(datum_auth_name IS NULL OR datum_code IS NULL)) AND text_definition IS NOT NULL)),
CONSTRAINT check_geodetic_crs_area CHECK (NOT ((area_of_use_auth_name IS NULL OR area_of_use_code IS NULL) AND text_definition IS NULL))
);
CREATE TRIGGER geodetic_crs_insert_trigger
@@ -216,24 +207,9 @@ FOR EACH ROW BEGIN
SELECT RAISE(ABORT, 'insert on geodetic_crs violates constraint: (auth_name, code) must not already exist in crs_view')
WHERE EXISTS (SELECT 1 FROM crs_view WHERE crs_view.auth_name = NEW.auth_name AND crs_view.code = NEW.code);
SELECT RAISE(ABORT, 'insert on geodetic_crs violates constraint: coordinate_system must be defined when text_definition is NULL')
WHERE (NEW.coordinate_system_auth_name IS NULL OR NEW.coordinate_system_code IS NULL) AND NEW.text_definition IS NULL;
SELECT RAISE(ABORT, 'insert on geodetic_crs violates constraint: datum must be defined when text_definition is NULL')
WHERE (NEW.datum_auth_name IS NULL OR NEW.datum_code IS NULL) AND NEW.text_definition IS NULL;
SELECT RAISE(ABORT, 'insert on geodetic_crs violates constraint: coordinate_system must NOT be defined when text_definition is NOT NULL')
WHERE (NOT(NEW.coordinate_system_auth_name IS NULL OR NEW.coordinate_system_code IS NULL)) AND NEW.text_definition IS NOT NULL;
SELECT RAISE(ABORT, 'insert on geodetic_crs violates constraint: datum must NOT be defined when text_definition is NOT NULL')
WHERE (NOT(NEW.datum_auth_name IS NULL OR NEW.datum_code IS NULL)) AND NEW.text_definition IS NOT NULL;
SELECT RAISE(ABORT, 'insert on geodetic_crs violates constraint: datum must not be deprecated when geodetic_crs is not deprecated')
WHERE EXISTS(SELECT 1 FROM geodetic_datum datum WHERE datum.auth_name = NEW.datum_auth_name AND datum.code = NEW.datum_code AND datum.deprecated != 0) AND NEW.deprecated = 0 AND NEW.text_definition IS NOT NULL;
SELECT RAISE(ABORT, 'insert on geodetic_crs violates constraint: area_of_use must be defined when text_definition is NULL')
WHERE (NEW.area_of_use_auth_name IS NULL OR NEW.area_of_use_code IS NULL) AND NEW.text_definition IS NULL;
SELECT RAISE(ABORT, 'insert on geodetic_crs violates constraint: area_of_use must not be deprecated when geodetic_crs is not deprecated')
WHERE EXISTS(SELECT 1 FROM area WHERE area.auth_name = NEW.area_of_use_auth_name AND area.code = NEW.area_of_use_code AND area.deprecated != 0) AND NEW.deprecated = 0 AND NEW.text_definition IS NOT NULL;
@@ -690,7 +666,12 @@ CREATE TABLE projected_crs(
CONSTRAINT fk_projected_crs_coordinate_system FOREIGN KEY (coordinate_system_auth_name, coordinate_system_code) REFERENCES coordinate_system(auth_name, code),
CONSTRAINT fk_projected_crs_geodetic_crs FOREIGN KEY (geodetic_crs_auth_name, geodetic_crs_code) REFERENCES geodetic_crs(auth_name, code),
CONSTRAINT fk_projected_crs_conversion FOREIGN KEY (conversion_auth_name, conversion_code) REFERENCES conversion_table(auth_name, code),
CONSTRAINT fk_projected_crs_area FOREIGN KEY (area_of_use_auth_name, area_of_use_code) REFERENCES area(auth_name, code)
CONSTRAINT fk_projected_crs_area FOREIGN KEY (area_of_use_auth_name, area_of_use_code) REFERENCES area(auth_name, code),
CONSTRAINT check_projected_crs_cs CHECK (NOT((coordinate_system_auth_name IS NULL OR coordinate_system_code IS NULL) AND text_definition IS NULL)),
CONSTRAINT check_projected_crs_cs_bis CHECK (NOT((NOT(coordinate_system_auth_name IS NULL OR coordinate_system_code IS NULL)) AND text_definition IS NOT NULL)),
CONSTRAINT check_projected_crs_geodetic_crs CHECK (NOT((geodetic_crs_auth_name IS NULL OR geodetic_crs_code IS NULL) AND text_definition IS NULL)),
CONSTRAINT check_projected_crs_conversion CHECK (NOT((NOT(conversion_auth_name IS NULL OR conversion_code IS NULL)) AND text_definition IS NOT NULL)),
CONSTRAINT check_projected_crs_area CHECK (NOT((area_of_use_auth_name IS NULL OR area_of_use_code IS NULL) AND text_definition IS NULL))
);
CREATE TRIGGER projected_crs_insert_trigger
@@ -700,12 +681,6 @@ FOR EACH ROW BEGIN
SELECT RAISE(ABORT, 'insert on projected_crs violates constraint: (auth_name, code) must not already exist in crs_view')
WHERE EXISTS (SELECT 1 FROM crs_view WHERE crs_view.auth_name = NEW.auth_name AND crs_view.code = NEW.code);
SELECT RAISE(ABORT, 'insert on projected_crs violates constraint: coordinate_system must be defined when text_definition is NULL')
WHERE (NEW.coordinate_system_auth_name IS NULL OR NEW.coordinate_system_code IS NULL) AND NEW.text_definition IS NULL;
SELECT RAISE(ABORT, 'insert on projected_crs violates constraint: geodetic_crs must be defined when text_definition is NULL')
WHERE (NEW.geodetic_crs_auth_name IS NULL OR NEW.geodetic_crs_code IS NULL) AND NEW.text_definition IS NULL;
SELECT RAISE(ABORT, 'insert on projected_crs violates constraint: geodetic_crs must not be deprecated when projected_crs is not deprecated')
WHERE EXISTS(SELECT 1 FROM geodetic_crs WHERE geodetic_crs.auth_name = NEW.geodetic_crs_auth_name AND geodetic_crs.code = NEW.geodetic_crs_code AND geodetic_crs.deprecated != 0) AND NEW.deprecated = 0 AND NOT (NEW.auth_name = 'ESRI' AND NEW.geodetic_crs_auth_name != 'ESRI');
@@ -715,18 +690,9 @@ FOR EACH ROW BEGIN
SELECT RAISE(ABORT, 'insert on projected_crs violates constraint: conversion must not be deprecated when projected_crs is not deprecated')
WHERE EXISTS(SELECT 1 FROM conversion WHERE conversion.auth_name = NEW.conversion_auth_name AND conversion.code = NEW.conversion_code AND conversion.deprecated != 0) AND NEW.deprecated = 0;
SELECT RAISE(ABORT, 'insert on projected_crs violates constraint: coordinate_system must NOT be defined when text_definition is NOT NULL')
WHERE (NOT(NEW.coordinate_system_auth_name IS NULL OR NEW.coordinate_system_code IS NULL)) AND NEW.text_definition IS NOT NULL;
--SELECT RAISE(ABORT, 'insert on projected_crs violates constraint: geodetic_crs must NOT be defined when text_definition is NOT NULL')
-- WHERE (NOT(NEW.geodetic_crs_auth_name IS NULL OR NEW.geodetic_crs_code IS NULL)) AND NEW.text_definition IS NOT NULL;
SELECT RAISE(ABORT, 'insert on projected_crs violates constraint: conversion must NOT be defined when text_definition is NULL')
WHERE (NOT(NEW.conversion_auth_name IS NULL OR NEW.conversion_code IS NULL)) AND NEW.text_definition IS NOT NULL;
SELECT RAISE(ABORT, 'insert on projected_crs violates constraint: area_of_use must be defined when text_definition is NULL')
WHERE (NEW.area_of_use_auth_name IS NULL OR NEW.area_of_use_code IS NULL) AND NEW.text_definition IS NULL;
SELECT RAISE(ABORT, 'insert on projected_crs violates constraint: area_of_use must not be deprecated when projected_crs is not deprecated')
WHERE EXISTS(SELECT 1 FROM area WHERE area.auth_name = NEW.area_of_use_auth_name AND area.code = NEW.area_of_use_code AND area.deprecated != 0) AND NEW.deprecated = 0 AND NEW.text_definition IS NOT NULL;
@@ -1135,30 +1101,22 @@ CREATE TABLE grid_alternatives(
open_license BOOLEAN CHECK (open_license IN (0, 1)),
directory TEXT, -- optional directory where the file might be located
CONSTRAINT fk_grid_alternatives_grid_packages FOREIGN KEY (package_name) REFERENCES grid_packages(package_name)
CONSTRAINT fk_grid_alternatives_grid_packages FOREIGN KEY (package_name) REFERENCES grid_packages(package_name),
CONSTRAINT check_grid_alternatives_grid_fromat CHECK (proj_grid_format IN ('CTable2', 'NTv1', 'NTv2', 'GTX')),
CONSTRAINT check_grid_alternatives_proj_method CHECK (proj_method IN ('hgridshift', 'vgridshift')),
CONSTRAINT check_grid_alternatives_not_hgridshift CHECK (NOT(proj_method != 'hgridshift' AND proj_grid_format IN ('CTable2', 'NTv1', 'NTv2'))),
CONSTRAINT check_grid_alternatives_not_vgridshift CHECK (NOT(proj_method != 'vgridshift' AND proj_grid_format IN ('GTX'))),
CONSTRAINT check_grid_alternatives_original_grid_name CHECK (NOT(original_grid_name = proj_grid_name AND inverse_direction != 0)),
CONSTRAINT check_grid_alternatives_package_name_url CHECK (NOT(package_name IS NOT NULL AND url IS NOT NULL)),
CONSTRAINT check_grid_alternatives_direct_download_url CHECK (NOT(direct_download IS NULL AND url IS NOT NULL)),
CONSTRAINT check_grid_alternatives_open_license_url CHECK (NOT(open_license IS NULL AND url IS NOT NULL))
);
CREATE TRIGGER grid_alternatives_insert_trigger
BEFORE INSERT ON grid_alternatives
FOR EACH ROW BEGIN
SELECT RAISE(ABORT, 'insert on grid_alternatives violates constraint: proj_grid_format must be one of ''CTable2'', ''NTv1'', ''NTv2'', ''GTX''')
WHERE NEW.proj_grid_format NOT IN ('CTable2', 'NTv1', 'NTv2', 'GTX');
SELECT RAISE(ABORT, 'insert on grid_alternatives violates constraint: proj_method must be one of ''hgridshift'', ''vgridshift''')
WHERE NEW.proj_method NOT IN ('hgridshift', 'vgridshift');
SELECT RAISE(ABORT, 'insert on grid_alternatives violates constraint: proj_method must be ''hgridshift'' when proj_grid_format is ''CTable2'', ''NTv1'', ''NTv2''')
WHERE NEW.proj_method != 'hgridshift' AND NEW.proj_grid_format IN ('CTable2', 'NTv1', 'NTv2');
SELECT RAISE(ABORT, 'insert on grid_alternatives violates constraint: proj_method must be ''vridshift'' when proj_grid_format is ''GTX''')
WHERE NEW.proj_method != 'vgridshift' AND NEW.proj_grid_format IN ('GTX');
SELECT RAISE(ABORT, 'insert on grid_alternatives violates constraint: original_grid_name must be referenced in grid_transformation.grid_name')
WHERE NEW.original_grid_name NOT IN ('null') AND NEW.original_grid_name NOT IN (SELECT grid_name FROM grid_transformation);
SELECT RAISE(ABORT, 'insert on grid_alternatives violates constraint: NEW.inverse_direction must be 0 when original_grid_name = proj_grid_name')
WHERE NEW.original_grid_name = NEW.proj_grid_name AND NEW.inverse_direction != 0;
SELECT RAISE(ABORT, 'insert on grid_alternatives violates constraint: package_name must be NULL when url is not NULL')
WHERE NEW.package_name IS NOT NULL AND NEW.url IS NOT NULL;
SELECT RAISE(ABORT, 'insert on grid_alternatives violates constraint: direct_download must be set when url is not NULL')
WHERE NEW.direct_download IS NULL AND NEW.url IS NOT NULL;
SELECT RAISE(ABORT, 'insert on grid_alternatives violates constraint: open_license must be set when url is not NULL')
WHERE NEW.open_license IS NULL AND NEW.url IS NOT NULL;
END;
CREATE TABLE other_transformation(
@@ -1251,7 +1209,8 @@ CREATE TABLE other_transformation(
CONSTRAINT fk_other_transformation_param4_uom FOREIGN KEY (param4_uom_auth_name, param4_uom_code) REFERENCES unit_of_measure(auth_name, code),
CONSTRAINT fk_other_transformation_param5_uom FOREIGN KEY (param5_uom_auth_name, param5_uom_code) REFERENCES unit_of_measure(auth_name, code),
CONSTRAINT fk_other_transformation_param6_uom FOREIGN KEY (param6_uom_auth_name, param6_uom_code) REFERENCES unit_of_measure(auth_name, code),
CONSTRAINT fk_other_transformation_param7_uom FOREIGN KEY (param7_uom_auth_name, param7_uom_code) REFERENCES unit_of_measure(auth_name, code)
CONSTRAINT fk_other_transformation_param7_uom FOREIGN KEY (param7_uom_auth_name, param7_uom_code) REFERENCES unit_of_measure(auth_name, code),
CONSTRAINT check_other_transformation_method CHECK (NOT (method_auth_name = 'PROJ' AND method_code NOT IN ('PROJString', 'WKT')))
);
CREATE TRIGGER other_transformation_insert_trigger
@@ -1266,9 +1225,6 @@ FOR EACH ROW BEGIN
SELECT RAISE(ABORT, 'insert on other_transformation violates constraint: target_crs(auth_name, code) not found')
WHERE NOT EXISTS (SELECT 1 FROM crs_view WHERE crs_view.auth_name = NEW.target_crs_auth_name AND crs_view.code = NEW.target_crs_code);
SELECT RAISE(ABORT, 'insert on other_transformation violates constraint: method_code should be in (PROJString, WKT) when method_auth_name = PROJ')
WHERE NEW.method_auth_name = 'PROJ' AND NEW.method_code NOT IN ('PROJString', 'WKT');
SELECT RAISE(ABORT, 'insert on other_transformation violates constraint: source_crs must not be deprecated when other_transformation is not deprecated')
WHERE EXISTS(SELECT 1 FROM crs_view crs WHERE crs.auth_name = NEW.source_crs_auth_name AND crs.code = NEW.source_crs_code AND crs.deprecated != 0) AND NEW.deprecated = 0 AND NOT (NEW.auth_name = 'ESRI');
SELECT RAISE(ABORT, 'insert on other_transformation violates constraint: target_crs must not be deprecated when other_transformation is not deprecated')
@@ -1297,15 +1253,6 @@ CREATE TABLE concatenated_operation(
accuracy FLOAT CHECK (accuracy >= 0),
step1_auth_name TEXT NOT NULL,
step1_code TEXT NOT NULL,
step2_auth_name TEXT NOT NULL,
step2_code TEXT NOT NULL,
step3_auth_name TEXT,
step3_code TEXT,
operation_version TEXT, -- normally mandatory in OGC Topic 2 but optional here
deprecated BOOLEAN NOT NULL CHECK (deprecated IN (0, 1)),
@@ -1314,9 +1261,6 @@ CREATE TABLE concatenated_operation(
--CONSTRAINT fk_concatenated_operation_coordinate_operation FOREIGN KEY (auth_name, code) REFERENCES coordinate_operation(auth_name, code),
--CONSTRAINT fk_concatenated_operation_source_crs FOREIGN KEY (source_crs_auth_name, source_crs_code) REFERENCES crs(auth_name, code),
--CONSTRAINT fk_concatenated_operation_target_crs FOREIGN KEY (target_crs_auth_name, target_crs_code) REFERENCES crs(auth_name, code),
--CONSTRAINT fk_concatenated_operation_step1 FOREIGN KEY (step1_auth_name, step1_code) REFERENCES coordinate_operation(auth_name, code),
--CONSTRAINT fk_concatenated_operation_step2 FOREIGN KEY (step2_auth_name, step2_code) REFERENCES coordinate_operation(auth_name, code),
--CONSTRAINT fk_concatenated_operation_step3 FOREIGN KEY (step3_auth_name, step3_code) REFERENCES coordinate_operation(auth_name, code),
CONSTRAINT fk_concatenated_operation_transformation_area FOREIGN KEY (area_of_use_auth_name, area_of_use_code) REFERENCES area(auth_name, code)
);
@@ -1327,28 +1271,12 @@ FOR EACH ROW BEGIN
SELECT RAISE(ABORT, 'insert on concatenated_operation violates constraint: (auth_name, code) must not already exist in coordinate_operation_with_conversion_view')
WHERE EXISTS (SELECT 1 FROM coordinate_operation_with_conversion_view covwv WHERE covwv.auth_name = NEW.auth_name AND covwv.code = NEW.code);
SELECT RAISE(ABORT, 'insert on concatenated_operation violates constraint: step1(auth_name, code) must already exist in coordinate_operation_with_conversion_view')
WHERE NOT EXISTS (SELECT 1 FROM coordinate_operation_with_conversion_view covwv WHERE covwv.auth_name = NEW.step1_auth_name AND covwv.code = NEW.step1_code);
SELECT RAISE(ABORT, 'insert on concatenated_operation violates constraint: step2(auth_name, code) must already exist in coordinate_operation_with_conversion_view')
WHERE NOT EXISTS (SELECT 1 FROM coordinate_operation_with_conversion_view covwv WHERE covwv.auth_name = NEW.step2_auth_name AND covwv.code = NEW.step2_code);
SELECT RAISE(ABORT, 'insert on concatenated_operation violates constraint: step3(auth_name, code) must already exist in coordinate_operation_with_conversion_view')
WHERE NEW.step3_auth_name IS NOT NULL AND NOT EXISTS (SELECT 1 FROM coordinate_operation_with_conversion_view covwv WHERE covwv.auth_name = NEW.step3_auth_name AND covwv.code = NEW.step3_code);
SELECT RAISE(ABORT, 'insert on concatenated_operation violates constraint: source_crs(auth_name, code) not found')
WHERE NOT EXISTS (SELECT 1 FROM crs_view WHERE crs_view.auth_name = NEW.source_crs_auth_name AND crs_view.code = NEW.source_crs_code);
SELECT RAISE(ABORT, 'insert on concatenated_operation violates constraint: target_crs(auth_name, code) not found')
WHERE NOT EXISTS (SELECT 1 FROM crs_view WHERE crs_view.auth_name = NEW.target_crs_auth_name AND crs_view.code = NEW.target_crs_code);
SELECT RAISE(ABORT, 'insert on concatenated_operation violates constraint: step1 should not be a concatenated_operation')
WHERE EXISTS(SELECT 1 FROM concatenated_operation WHERE auth_name = NEW.step1_auth_name AND code = NEW.step1_code);
SELECT RAISE(ABORT, 'insert on concatenated_operation violates constraint: step2 should not be a concatenated_operation')
WHERE EXISTS(SELECT 1 FROM concatenated_operation WHERE auth_name = NEW.step2_auth_name AND code = NEW.step2_code);
SELECT RAISE(ABORT, 'insert on concatenated_operation violates constraint: step3 should not be a concatenated_operation')
WHERE EXISTS(SELECT 1 FROM concatenated_operation WHERE auth_name = NEW.step3_auth_name AND code = NEW.step3_code);
SELECT RAISE(ABORT, 'insert on concatenated_operation violates constraint: source_crs must not be deprecated when concatenated_operation is not deprecated')
WHERE EXISTS(SELECT 1 FROM crs_view crs WHERE crs.auth_name = NEW.source_crs_auth_name AND crs.code = NEW.source_crs_code AND crs.deprecated != 0) AND NEW.deprecated = 0 AND NOT (NEW.auth_name = 'ESRI');
SELECT RAISE(ABORT, 'insert on concatenated_operation violates constraint: target_crs must not be deprecated when concatenated_operation is not deprecated')
@@ -1357,6 +1285,45 @@ FOR EACH ROW BEGIN
WHERE EXISTS(SELECT 1 FROM area WHERE area.auth_name = NEW.area_of_use_auth_name AND area.code = NEW.area_of_use_code AND area.deprecated != 0) AND NEW.deprecated = 0;
END;
CREATE TABLE concatenated_operation_step(
operation_auth_name TEXT NOT NULL CHECK (length(operation_auth_name) >= 1),
operation_code TEXT NOT NULL CHECK (length(operation_code) >= 1),
step_number INTEGER NOT NULL CHECK (step_number >= 1),
step_auth_name TEXT NOT NULL CHECK (length(step_auth_name) >= 1),
step_code TEXT NOT NULL CHECK (length(step_code) >= 1),
CONSTRAINT pk_concatenated_operation_step PRIMARY KEY (operation_auth_name, operation_code, step_number)
--CONSTRAINT fk_concatenated_operation_step_to_operation FOREIGN KEY (step_auth_name, step_code) REFERENCES coordinate_operation(auth_name, code)
);
CREATE TRIGGER concatenated_operation_step_insert_trigger
BEFORE INSERT ON concatenated_operation_step
FOR EACH ROW BEGIN
SELECT RAISE(ABORT, 'insert on concatenated_operation_step violates constraint: (step_auth_name, step_code) must already exist in coordinate_operation_with_conversion_view')
WHERE NOT EXISTS (SELECT 1 FROM coordinate_operation_with_conversion_view covwv WHERE covwv.auth_name = NEW.step_auth_name AND covwv.code = NEW.step_code);
SELECT RAISE(ABORT, 'insert on concatenated_operation_step violates constraint: step should not be a concatenated_operation')
WHERE EXISTS(SELECT 1 FROM concatenated_operation WHERE auth_name = NEW.step_auth_name AND code = NEW.step_code);
END;
CREATE TABLE geoid_model(
name TEXT NOT NULL,
operation_auth_name TEXT NOT NULL,
operation_code TEXT NOT NULL,
CONSTRAINT pk_geoid_model PRIMARY KEY (name, operation_auth_name, operation_code)
-- CONSTRAINT fk_geoid_model_operation FOREIGN KEY (operation_auth_name, operation_code) REFERENCES coordinate_operation(auth_name, code)
);
CREATE TRIGGER geoid_model_insert_trigger
BEFORE INSERT ON geoid_model
FOR EACH ROW BEGIN
SELECT RAISE(ABORT, 'insert on geoid_model violates constraint: (operation_auth_name, operation_code) must already exist in coordinate_operation_with_conversion_view')
WHERE NOT EXISTS (SELECT 1 FROM coordinate_operation_with_conversion_view covwv WHERE covwv.auth_name = NEW.operation_auth_name AND covwv.code = NEW.operation_code);
END;
CREATE TABLE alias_name(
table_name TEXT NOT NULL CHECK (table_name IN (
+34 -7
View File
@@ -2243,8 +2243,8 @@ INSERT INTO "projected_crs" VALUES('EPSG','5349','POSGAR 2007 / Argentina 7',NUL
INSERT INTO "projected_crs" VALUES('EPSG','5355','MARGEN / UTM zone 20S',NULL,NULL,'EPSG','4400','EPSG','5354','EPSG','16120','EPSG','1761',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','5356','MARGEN / UTM zone 19S',NULL,NULL,'EPSG','4400','EPSG','5354','EPSG','16119','EPSG','3827',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','5357','MARGEN / UTM zone 21S',NULL,NULL,'EPSG','4400','EPSG','5354','EPSG','16121','EPSG','3733',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','5361','SIRGAS-Chile / UTM zone 19S',NULL,NULL,'EPSG','4400','EPSG','5360','EPSG','16119','EPSG','3811',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','5362','SIRGAS-Chile / UTM zone 18S',NULL,NULL,'EPSG','4400','EPSG','5360','EPSG','16118','EPSG','3829',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','5361','SIRGAS-Chile 2002 / UTM zone 19S',NULL,NULL,'EPSG','4400','EPSG','5360','EPSG','16119','EPSG','3811',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','5362','SIRGAS-Chile 2002 / UTM zone 18S',NULL,NULL,'EPSG','4400','EPSG','5360','EPSG','16118','EPSG','3829',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','5367','CR05 / CRTM05',NULL,NULL,'EPSG','4500','EPSG','5365','EPSG','5366','EPSG','3849',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','5382','SIRGAS-ROU98 / UTM zone 21S',NULL,NULL,'EPSG','4400','EPSG','5381','EPSG','16121','EPSG','3826',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','5383','SIRGAS-ROU98 / UTM zone 22S',NULL,NULL,'EPSG','4400','EPSG','5381','EPSG','16122','EPSG','3828',NULL,0);
@@ -2383,7 +2383,7 @@ INSERT INTO "projected_crs" VALUES('EPSG','5890','JAXA Snow Depth Polar Stereogr
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);
INSERT INTO "projected_crs" VALUES('EPSG','5899','VN-2000 / TM-3 Da Nang zone',NULL,NULL,'EPSG','4400','EPSG','4756','EPSG','5895','EPSG','4218',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','5899','VN-2000 / TM-3 107-45',NULL,NULL,'EPSG','4400','EPSG','4756','EPSG','5895','EPSG','4218',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','5921','WGS 84 / EPSG Arctic Regional zone A1',NULL,NULL,'EPSG','4400','EPSG','4326','EPSG','5906','EPSG','4019',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','5922','WGS 84 / EPSG Arctic Regional zone A2',NULL,NULL,'EPSG','4400','EPSG','4326','EPSG','5907','EPSG','4027',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','5923','WGS 84 / EPSG Arctic Regional zone A3',NULL,NULL,'EPSG','4400','EPSG','4326','EPSG','5908','EPSG','4028',NULL,0);
@@ -3571,9 +3571,36 @@ INSERT INTO "projected_crs" VALUES('EPSG','8903','RGWF96 / UTM zone 1S',NULL,NUL
INSERT INTO "projected_crs" VALUES('EPSG','8908','CR-SIRGAS / CRTM05',NULL,NULL,'EPSG','4400','EPSG','8907','EPSG','5366','EPSG','3232',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','8909','CR-SIRGAS / UTM zone 16N',NULL,NULL,'EPSG','4400','EPSG','8907','EPSG','16016','EPSG','4532',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','8910','CR-SIRGAS / UTM zone 17N',NULL,NULL,'EPSG','4400','EPSG','8907','EPSG','16017','EPSG','4531',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','8950','SIRGAS-Chile 2010 / UTM zone 18S',NULL,NULL,'EPSG','4400','EPSG','8949','EPSG','16118','EPSG','3829',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','8951','SIRGAS-Chile 2010 / UTM zone 19S',NULL,NULL,'EPSG','4400','EPSG','8949','EPSG','16119','EPSG','3811',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','9039','ISN2016 / LAEA Europe',NULL,NULL,'EPSG','4532','EPSG','8086','EPSG','19986','EPSG','1120',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','9040','ISN2016 / LCC Europe',NULL,NULL,'EPSG','4532','EPSG','8086','EPSG','19985','EPSG','1120',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','9141','KOSOVAREF01 / Balkans zone 7',NULL,NULL,'EPSG','4400','EPSG','9140','EPSG','18277','EPSG','4542',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','9149','SIRGAS-Chile 2013 / UTM zone 18S',NULL,NULL,'EPSG','4400','EPSG','9148','EPSG','16118','EPSG','3829',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','9150','SIRGAS-Chile 2013 / UTM zone 19S',NULL,NULL,'EPSG','4400','EPSG','9148','EPSG','16119','EPSG','3811',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','9154','SIRGAS-Chile 2016 / UTM zone 18S',NULL,NULL,'EPSG','4400','EPSG','9153','EPSG','16118','EPSG','3829',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','9155','SIRGAS-Chile 2016 / UTM zone 19S',NULL,NULL,'EPSG','4400','EPSG','9153','EPSG','16119','EPSG','3811',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','9156','RSAO13 / UTM zone 32S',NULL,NULL,'EPSG','4400','EPSG','8699','EPSG','16132','EPSG','4551',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','9157','RSAO13 / UTM zone 33S',NULL,NULL,'EPSG','4400','EPSG','8699','EPSG','16133','EPSG','4555',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','9158','RSAO13 / UTM zone 34S',NULL,NULL,'EPSG','4400','EPSG','8699','EPSG','16134','EPSG','4539',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','9159','RSAO13 / TM 12 SE',NULL,NULL,'EPSG','4400','EPSG','8699','EPSG','16612','EPSG','1604',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','9191','WGS 84 / NIWA Albers',NULL,NULL,'EPSG','4400','EPSG','4326','EPSG','9190','EPSG','3508',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','9205','VN-2000 / TM-3 103-00',NULL,NULL,'EPSG','4400','EPSG','4756','EPSG','9058','EPSG','4541',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','9206','VN-2000 / TM-3 104-00',NULL,NULL,'EPSG','4400','EPSG','4756','EPSG','9192','EPSG','4538',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','9207','VN-2000 / TM-3 104-30',NULL,NULL,'EPSG','4400','EPSG','4756','EPSG','9193','EPSG','4545',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','9208','VN-2000 / TM-3 104-45',NULL,NULL,'EPSG','4400','EPSG','4756','EPSG','9194','EPSG','4546',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','9209','VN-2000 / TM-3 105-30',NULL,NULL,'EPSG','4400','EPSG','4756','EPSG','9195','EPSG','4548',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','9210','VN-2000 / TM-3 105-45',NULL,NULL,'EPSG','4400','EPSG','4756','EPSG','9196','EPSG','4549',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','9211','VN-2000 / TM-3 106-00',NULL,NULL,'EPSG','4400','EPSG','4756','EPSG','9197','EPSG','4550',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','9212','VN-2000 / TM-3 106-15',NULL,NULL,'EPSG','4400','EPSG','4756','EPSG','9198','EPSG','4552',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','9213','VN-2000 / TM-3 106-30',NULL,NULL,'EPSG','4400','EPSG','4756','EPSG','9199','EPSG','4553',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','9214','VN-2000 / TM-3 107-00',NULL,NULL,'EPSG','4400','EPSG','4756','EPSG','9200','EPSG','4554',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','9215','VN-2000 / TM-3 107-15',NULL,NULL,'EPSG','4400','EPSG','4756','EPSG','9201','EPSG','4556',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','9216','VN-2000 / TM-3 107-30',NULL,NULL,'EPSG','4400','EPSG','4756','EPSG','9202','EPSG','4557',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','9217','VN-2000 / TM-3 108-15',NULL,NULL,'EPSG','4400','EPSG','4756','EPSG','9203','EPSG','4559',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','9218','VN-2000 / TM-3 108-30',NULL,NULL,'EPSG','4400','EPSG','4756','EPSG','9204','EPSG','4560',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','9221','Hartebeesthoek94 / ZAF BSU Albers 25E',NULL,NULL,'EPSG','4500','EPSG','4148','EPSG','9219','EPSG','4567',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','9222','Hartebeesthoek94 / ZAF BSU Albers 44E',NULL,NULL,'EPSG','4500','EPSG','4148','EPSG','9220','EPSG','4568',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);
@@ -3733,10 +3760,10 @@ INSERT INTO "projected_crs" VALUES('EPSG','21896','Bogota 1975 / Colombia West z
INSERT INTO "projected_crs" VALUES('EPSG','21897','Bogota 1975 / Colombia Bogota zone',NULL,NULL,'EPSG','4530','EPSG','4218','EPSG','18052','EPSG','1599',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','21898','Bogota 1975 / Colombia East Central zone',NULL,NULL,'EPSG','4530','EPSG','4218','EPSG','18053','EPSG','1600',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','21899','Bogota 1975 / Colombia East zone',NULL,NULL,'EPSG','4530','EPSG','4218','EPSG','18054','EPSG','1601',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','22032','Camacupa / UTM zone 32S',NULL,NULL,'EPSG','4400','EPSG','4220','EPSG','16132','EPSG','1606',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','22033','Camacupa / UTM zone 33S',NULL,NULL,'EPSG','4400','EPSG','4220','EPSG','16133','EPSG','1607',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','22091','Camacupa / TM 11.30 SE',NULL,NULL,'EPSG','4400','EPSG','4220','EPSG','16611','EPSG','1605',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','22092','Camacupa / TM 12 SE',NULL,NULL,'EPSG','4400','EPSG','4220','EPSG','16612','EPSG','1604',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','22032','Camacupa 1948 / UTM zone 32S',NULL,NULL,'EPSG','4400','EPSG','4220','EPSG','16132','EPSG','1606',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','22033','Camacupa 1948 / UTM zone 33S',NULL,NULL,'EPSG','4400','EPSG','4220','EPSG','16133','EPSG','1607',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','22091','Camacupa 1948 / TM 11.30 SE',NULL,NULL,'EPSG','4400','EPSG','4220','EPSG','16611','EPSG','1605',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','22092','Camacupa 1948 / TM 12 SE',NULL,NULL,'EPSG','4400','EPSG','4220','EPSG','16612','EPSG','1604',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','22171','POSGAR 98 / Argentina 1',NULL,NULL,'EPSG','4530','EPSG','4190','EPSG','18031','EPSG','1608',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','22172','POSGAR 98 / Argentina 2',NULL,NULL,'EPSG','4530','EPSG','4190','EPSG','18032','EPSG','1609',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','22173','POSGAR 98 / Argentina 3',NULL,NULL,'EPSG','4530','EPSG','4190','EPSG','18033','EPSG','1610',NULL,0);
+4
View File
@@ -196,3 +196,7 @@ INSERT INTO "supersession" VALUES('grid_transformation','EPSG','5506','grid_tran
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');
+2 -1
View File
@@ -173,7 +173,7 @@ INSERT INTO "vertical_crs" VALUES('EPSG','6641','PRVD02 height',NULL,NULL,'EPSG'
INSERT INTO "vertical_crs" VALUES('EPSG','6642','VIVD09 height',NULL,NULL,'EPSG','6499','EPSG','1124','EPSG','3330',0);
INSERT INTO "vertical_crs" VALUES('EPSG','6643','ASVD02 height',NULL,NULL,'EPSG','6499','EPSG','1125','EPSG','2288',0);
INSERT INTO "vertical_crs" VALUES('EPSG','6644','GUVD04 height',NULL,NULL,'EPSG','6499','EPSG','1126','EPSG','3255',0);
INSERT INTO "vertical_crs" VALUES('EPSG','6647','CGVD2013 height',NULL,NULL,'EPSG','6499','EPSG','1127','EPSG','1061',0);
INSERT INTO "vertical_crs" VALUES('EPSG','6647','CGVD2013(CGG2013) height',NULL,NULL,'EPSG','6499','EPSG','1127','EPSG','1061',0);
INSERT INTO "vertical_crs" VALUES('EPSG','6693','JSLD72 height',NULL,NULL,'EPSG','6499','EPSG','1129','EPSG','4168',0);
INSERT INTO "vertical_crs" VALUES('EPSG','6694','JGD2000 (vertical) height',NULL,NULL,'EPSG','6499','EPSG','1130','EPSG','3263',0);
INSERT INTO "vertical_crs" VALUES('EPSG','6695','JGD2011 (vertical) height',NULL,NULL,'EPSG','6499','EPSG','1131','EPSG','3263',0);
@@ -216,3 +216,4 @@ INSERT INTO "vertical_crs" VALUES('EPSG','8897','EPSG example wellbore local ver
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);
INSERT INTO "vertical_crs" VALUES('EPSG','9130','IGN 2008 LD height',NULL,NULL,'EPSG','6499','EPSG','1250','EPSG','2893',0);
INSERT INTO "vertical_crs" VALUES('EPSG','9245','CGVD2013(CGG2013a) height',NULL,NULL,'EPSG','6499','EPSG','1256','EPSG','1061',0);
+195 -194
View File
@@ -1,196 +1,197 @@
--- This file has been generated by scripts/build_db.py. DO NOT EDIT !
INSERT INTO "vertical_datum" VALUES('EPSG','1027','EGM2008 geoid',NULL,NULL,'EPSG','1262',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1028','Fao 1979',NULL,NULL,'EPSG','3625',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1030','N2000',NULL,NULL,'EPSG','3333',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1039','New Zealand Vertical Datum 2009',NULL,NULL,'EPSG','1175',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1040','Dunedin-Bluff 1960',NULL,NULL,'EPSG','3806',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1049','Incheon',NULL,NULL,'EPSG','3739',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1050','Trieste',NULL,NULL,'EPSG','2370',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1051','Genoa',NULL,NULL,'EPSG','3736',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1054','Sri Lanka Vertical Datum',NULL,NULL,'EPSG','3310',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1059','Faroe Islands Vertical Reference 2009',NULL,NULL,'EPSG','3248',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1079','Fehmarnbelt Vertical Reference 2010',NULL,NULL,'EPSG','3890',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1080','Lowest Astronomic Tide',NULL,NULL,'EPSG','1262',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1082','Highest Astronomic Tide',NULL,NULL,'EPSG','1262',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1083','Lower Low Water Large Tide',NULL,NULL,'EPSG','1262',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1084','Higher High Water Large Tide',NULL,NULL,'EPSG','1262',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1085','Indian Spring Low Water',NULL,NULL,'EPSG','1262',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1086','Mean Lower Low Water Spring Tides',NULL,NULL,'EPSG','1262',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1087','Mean Low Water Spring Tides',NULL,NULL,'EPSG','1262',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1088','Mean High Water Spring Tides',NULL,NULL,'EPSG','1262',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1089','Mean Lower Low Water',NULL,NULL,'EPSG','1262',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1090','Mean Higher High Water',NULL,NULL,'EPSG','1262',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1091','Mean Low Water',NULL,NULL,'EPSG','1262',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1092','Mean High Water',NULL,NULL,'EPSG','1262',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1093','Low Water',NULL,NULL,'EPSG','1262',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1094','High Water',NULL,NULL,'EPSG','1262',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1096','Norway Normal Null 2000',NULL,NULL,'EPSG','1352',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1097','Grand Cayman Vertical Datum 1954',NULL,NULL,'EPSG','3185',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1098','Little Cayman Vertical Datum 1961',NULL,NULL,'EPSG','4121',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1099','Cayman Brac Vertical Datum 1961',NULL,NULL,'EPSG','3207',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1101','Cais da Pontinha - Funchal',NULL,NULL,'EPSG','4125',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1102','Cais da Vila - Porto Santo',NULL,NULL,'EPSG','3680',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1103','Cais das Velas',NULL,NULL,'EPSG','2875',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1104','Horta',NULL,NULL,'EPSG','2873',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1105','Cais da Madalena',NULL,NULL,'EPSG','2874',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1106','Santa Cruz da Graciosa',NULL,NULL,'EPSG','3681',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1107','Cais da Figueirinha - Angra do Heroismo',NULL,NULL,'EPSG','2872',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1108','Santa Cruz das Flores',NULL,NULL,'EPSG','1344',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1109','Cais da Vila do Porto',NULL,NULL,'EPSG','4126',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1110','Ponta Delgada',NULL,NULL,'EPSG','2871',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1119','Northern Marianas Vertical Datum of 2003',NULL,NULL,'EPSG','4171',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1121','Tutuila Vertical Datum of 1962',NULL,NULL,'EPSG','2288',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1122','Guam Vertical Datum of 1963',NULL,NULL,'EPSG','3255',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1123','Puerto Rico Vertical Datum of 2002',NULL,NULL,'EPSG','3294',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1124','Virgin Islands Vertical Datum of 2009',NULL,NULL,'EPSG','3330',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1125','American Samoa Vertical Datum of 2002',NULL,NULL,'EPSG','2288',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1126','Guam Vertical Datum of 2004',NULL,NULL,'EPSG','3255',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1127','Canadian Geodetic Vertical Datum of 2013',NULL,NULL,'EPSG','1061',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1129','Japanese Standard Levelling Datum 1972',NULL,NULL,'EPSG','4168',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1130','Japanese Geodetic Datum 2000 (vertical)',NULL,NULL,'EPSG','3263',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1131','Japanese Geodetic Datum 2011 (vertical)',NULL,NULL,'EPSG','3263',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1140','Singapore Height Datum',NULL,NULL,'EPSG','1210',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1146','Ras Ghumays',NULL,NULL,'EPSG','4225',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1148','Famagusta 1960',NULL,NULL,'EPSG','3236',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1149','PNG08',NULL,NULL,'EPSG','4384',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1150','Kumul 34',NULL,NULL,'EPSG','4013',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1151','Kiunga',NULL,NULL,'EPSG','4383',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1161','Deutsches Haupthoehennetz 1912',NULL,NULL,'EPSG','3339',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1162','Latvian Height System 2000',NULL,NULL,'EPSG','3268',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1164','Ordnance Datum Newlyn (Offshore)',NULL,NULL,'EPSG','4391',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1169','New Zealand Vertical Datum 2016',NULL,NULL,'EPSG','1175',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1170','Deutsches Haupthoehennetz 2016',NULL,NULL,'EPSG','3339',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1171','Port Moresby 1996',NULL,NULL,'EPSG','4425',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1172','Port Moresby 2008',NULL,NULL,'EPSG','4425',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1175','Jamestown 1971',NULL,NULL,'EPSG','3183',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1176','St. Helena Tritan Vertical Datum 2011',NULL,NULL,'EPSG','3183',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1177','St. Helena Vertical Datum 2015',NULL,NULL,'EPSG','3183',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1190','Landshaedarkerfi Islands 2004',NULL,NULL,'EPSG','3262',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1199','Greenland Vertical Reference 2000',NULL,NULL,'EPSG','4461',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1200','Greenland Vertical Reference 2016',NULL,NULL,'EPSG','4454',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1202','Baltic 1957',NULL,NULL,'EPSG','1306',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1205','EPSG example wellbore vertical datum',NULL,NULL,'EPSG','4393',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1210','Macao Height Datum',NULL,NULL,'EPSG','1147',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1213','Helsinki 1943',NULL,NULL,'EPSG','4522',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1215','Slovenian Vertical System 2010',NULL,NULL,'EPSG','3307',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1216','Serbian Vertical Reference System 2012',NULL,NULL,'EPSG','4543',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1219','MOMRA Vertical Geodetic Control',NULL,NULL,'EPSG','3303',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1224','Taiwan Vertical Datum 2001',NULL,NULL,'EPSG','3982',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1226','Datum Altimetrico de Costa Rica 1952',NULL,NULL,'EPSG','3232',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1250','IGN 2008 LD',NULL,NULL,'EPSG','2893',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5100','Mean Sea Level',NULL,NULL,'EPSG','1262',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5101','Ordnance Datum Newlyn',NULL,NULL,'EPSG','2792',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5102','National Geodetic Vertical Datum 1929',NULL,NULL,'EPSG','1323',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5103','North American Vertical Datum 1988',NULL,NULL,'EPSG','4161',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5104','Yellow Sea 1956',NULL,NULL,'EPSG','3228',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5105','Baltic 1977',NULL,NULL,'EPSG','2423',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5106','Caspian Sea',NULL,NULL,'EPSG','1291',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5107','Nivellement general de la France',NULL,NULL,'EPSG','1326',1);
INSERT INTO "vertical_datum" VALUES('EPSG','5109','Normaal Amsterdams Peil',NULL,NULL,'EPSG','1275',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5110','Ostend',NULL,NULL,'EPSG','1347',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5111','Australian Height Datum',NULL,NULL,'EPSG','4493',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5112','Australian Height Datum (Tasmania)',NULL,NULL,'EPSG','2947',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5113','Instantaneous Water Level',NULL,NULL,'EPSG','1262',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5114','Canadian Geodetic Vertical Datum of 1928',NULL,NULL,'EPSG','1289',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5115','Piraeus Harbour 1986',NULL,NULL,'EPSG','3254',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5116','Helsinki 1960',NULL,NULL,'EPSG','3333',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5117','Rikets hojdsystem 1970',NULL,NULL,'EPSG','3313',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5118','Nivellement General de la France - Lallemand',NULL,NULL,'EPSG','1326',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5119','Nivellement General de la France - IGN69',NULL,NULL,'EPSG','1326',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5120','Nivellement General de la France - IGN78',NULL,NULL,'EPSG','1327',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5121','Maputo',NULL,NULL,'EPSG','3281',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5122','Japanese Standard Levelling Datum 1969',NULL,NULL,'EPSG','4166',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5123','PDO Height Datum 1993',NULL,NULL,'EPSG','3288',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5124','Fahud Height Datum',NULL,NULL,'EPSG','4009',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5125','Ha Tien 1960',NULL,NULL,'EPSG','1302',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5126','Hon Dau 1992',NULL,NULL,'EPSG','4015',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5127','Landesnivellement 1902',NULL,NULL,'EPSG','1286',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5128','Landeshohennetz 1995',NULL,NULL,'EPSG','1286',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5129','European Vertical Reference Frame 2000',NULL,NULL,'EPSG','1299',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5130','Malin Head',NULL,NULL,'EPSG','1305',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5131','Belfast Lough',NULL,NULL,'EPSG','2530',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5132','Dansk Normal Nul',NULL,NULL,'EPSG','3237',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5133','AIOC 1995',NULL,NULL,'EPSG','2592',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5134','Black Sea',NULL,NULL,'EPSG','3251',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5135','Hong Kong Principal Datum',NULL,NULL,'EPSG','3334',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5136','Hong Kong Chart Datum',NULL,NULL,'EPSG','3335',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5137','Yellow Sea 1985',NULL,NULL,'EPSG','3228',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5138','Ordnance Datum Newlyn (Orkney Isles)',NULL,NULL,'EPSG','2793',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5139','Fair Isle',NULL,NULL,'EPSG','2794',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5140','Lerwick',NULL,NULL,'EPSG','2795',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5141','Foula',NULL,NULL,'EPSG','2796',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5142','Sule Skerry',NULL,NULL,'EPSG','2797',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5143','North Rona',NULL,NULL,'EPSG','2798',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5144','Stornoway',NULL,NULL,'EPSG','2799',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5145','St Kilda',NULL,NULL,'EPSG','2800',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5146','Flannan Isles',NULL,NULL,'EPSG','2801',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5147','St Marys',NULL,NULL,'EPSG','2802',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5148','Douglas',NULL,NULL,'EPSG','2803',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5149','Fao',NULL,NULL,'EPSG','3390',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5150','Bandar Abbas',NULL,NULL,'EPSG','3336',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5151','Nivellement General de Nouvelle Caledonie',NULL,NULL,'EPSG','2822',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5152','Poolbeg',NULL,NULL,'EPSG','1305',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5153','Nivellement General Guyanais 1977',NULL,NULL,'EPSG','3146',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5154','Martinique 1987',NULL,NULL,'EPSG','3276',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5155','Guadeloupe 1988',NULL,NULL,'EPSG','2892',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5156','Reunion 1989',NULL,NULL,'EPSG','3337',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5157','Auckland 1946',NULL,NULL,'EPSG','3764',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5158','Bluff 1955',NULL,NULL,'EPSG','3801',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5159','Dunedin 1958',NULL,NULL,'EPSG','3803',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5160','Gisborne 1926',NULL,NULL,'EPSG','3771',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5161','Lyttelton 1937',NULL,NULL,'EPSG','3804',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5162','Moturiki 1953',NULL,NULL,'EPSG','3768',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5163','Napier 1962',NULL,NULL,'EPSG','3772',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5164','Nelson 1955',NULL,NULL,'EPSG','3802',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5165','One Tree Point 1964',NULL,NULL,'EPSG','3762',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5166','Tararu 1952',NULL,NULL,'EPSG','3818',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5167','Taranaki 1970',NULL,NULL,'EPSG','3769',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5168','Wellington 1953',NULL,NULL,'EPSG','3773',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5169','Waitangi (Chatham Island) 1959',NULL,NULL,'EPSG','3894',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5170','Stewart Island 1977',NULL,NULL,'EPSG','3338',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5171','EGM96 geoid',NULL,NULL,'EPSG','1262',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5172','Nivellement General du Luxembourg',NULL,NULL,'EPSG','1146',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5173','Antalya',NULL,NULL,'EPSG','3322',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5174','Norway Normal Null 1954',NULL,NULL,'EPSG','1352',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5175','Durres',NULL,NULL,'EPSG','3212',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5176','Gebrauchshohen ADRIA',NULL,NULL,'EPSG','1037',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5177','Slovenian Vertical System 2000',NULL,NULL,'EPSG','3307',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5178','Cascais',NULL,NULL,'EPSG','1294',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5179','Constanta',NULL,NULL,'EPSG','3295',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5180','Alicante',NULL,NULL,'EPSG','4188',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5181','Deutsches Haupthoehennetz 1992',NULL,NULL,'EPSG','3339',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5182','Deutsches Haupthoehennetz 1985',NULL,NULL,'EPSG','2326',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5183','Staatlichen Nivellementnetzes 1976',NULL,NULL,'EPSG','1343',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5184','Baltic 1982',NULL,NULL,'EPSG','3224',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5185','Baltic 1980',NULL,NULL,'EPSG','1119',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5186','Kuwait PWD',NULL,NULL,'EPSG','3267',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5187','KOC Well Datum',NULL,NULL,'EPSG','3267',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5188','KOC Construction Datum',NULL,NULL,'EPSG','3267',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5189','Nivellement General de la Corse 1948',NULL,NULL,'EPSG','1327',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5190','Danger 1950',NULL,NULL,'EPSG','3299',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5191','Mayotte 1950',NULL,NULL,'EPSG','3340',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5192','Martinique 1955',NULL,NULL,'EPSG','3276',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5193','Guadeloupe 1951',NULL,NULL,'EPSG','2892',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5194','Lagos 1955',NULL,NULL,'EPSG','3287',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5195','Nivellement General de Polynesie Francaise',NULL,NULL,'EPSG','3134',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5196','IGN 1966',NULL,NULL,'EPSG','3124',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5197','Moorea SAU 1981',NULL,NULL,'EPSG','3125',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5198','Raiatea SAU 2001',NULL,NULL,'EPSG','3136',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5199','Maupiti SAU 2001',NULL,NULL,'EPSG','3126',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5200','Huahine SAU 2001',NULL,NULL,'EPSG','3135',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5201','Tahaa SAU 2001',NULL,NULL,'EPSG','3138',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5202','Bora Bora SAU 2001',NULL,NULL,'EPSG','3137',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5203','EGM84 geoid',NULL,NULL,'EPSG','1262',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5204','International Great Lakes Datum 1955',NULL,NULL,'EPSG','3468',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5205','International Great Lakes Datum 1985',NULL,NULL,'EPSG','3468',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5206','Dansk Vertikal Reference 1990',NULL,NULL,'EPSG','3237',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5207','Croatian Vertical Reference System 1971',NULL,NULL,'EPSG','3234',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5208','Rikets hojdsystem 2000',NULL,NULL,'EPSG','3313',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5209','Rikets hojdsystem 1900',NULL,NULL,'EPSG','3313',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5210','IGN 1988 LS',NULL,NULL,'EPSG','2895',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5211','IGN 1988 MG',NULL,NULL,'EPSG','2894',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5212','IGN 1992 LD',NULL,NULL,'EPSG','2893',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5213','IGN 1988 SB',NULL,NULL,'EPSG','2891',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5214','IGN 1988 SM',NULL,NULL,'EPSG','2890',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5215','European Vertical Reference Frame 2007',NULL,NULL,'EPSG','3594',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1027','EGM2008 geoid',NULL,NULL,'EPSG','1262','2008-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1028','Fao 1979',NULL,NULL,'EPSG','3625','1979-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1030','N2000',NULL,NULL,'EPSG','3333','2000-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1039','New Zealand Vertical Datum 2009',NULL,NULL,'EPSG','1175','2009-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1040','Dunedin-Bluff 1960',NULL,NULL,'EPSG','3806','1960-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1049','Incheon',NULL,NULL,'EPSG','3739','1963-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1050','Trieste',NULL,NULL,'EPSG','2370','1875-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1051','Genoa',NULL,NULL,'EPSG','3736','1942-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1054','Sri Lanka Vertical Datum',NULL,NULL,'EPSG','3310','1932-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1059','Faroe Islands Vertical Reference 2009',NULL,NULL,'EPSG','3248','2009-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1079','Fehmarnbelt Vertical Reference 2010',NULL,NULL,'EPSG','3890','2010-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1080','Lowest Astronomic Tide',NULL,NULL,'EPSG','1262',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','1082','Highest Astronomic Tide',NULL,NULL,'EPSG','1262',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','1083','Lower Low Water Large Tide',NULL,NULL,'EPSG','1262',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','1084','Higher High Water Large Tide',NULL,NULL,'EPSG','1262',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','1085','Indian Spring Low Water',NULL,NULL,'EPSG','1262',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','1086','Mean Lower Low Water Spring Tides',NULL,NULL,'EPSG','1262',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','1087','Mean Low Water Spring Tides',NULL,NULL,'EPSG','1262',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','1088','Mean High Water Spring Tides',NULL,NULL,'EPSG','1262',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','1089','Mean Lower Low Water',NULL,NULL,'EPSG','1262',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','1090','Mean Higher High Water',NULL,NULL,'EPSG','1262',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','1091','Mean Low Water',NULL,NULL,'EPSG','1262',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','1092','Mean High Water',NULL,NULL,'EPSG','1262',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','1093','Low Water',NULL,NULL,'EPSG','1262',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','1094','High Water',NULL,NULL,'EPSG','1262',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','1096','Norway Normal Null 2000',NULL,NULL,'EPSG','1352','2000-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1097','Grand Cayman Vertical Datum 1954',NULL,NULL,'EPSG','3185','1954-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1098','Little Cayman Vertical Datum 1961',NULL,NULL,'EPSG','4121','1961-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1099','Cayman Brac Vertical Datum 1961',NULL,NULL,'EPSG','3207','1961-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1101','Cais da Pontinha - Funchal',NULL,NULL,'EPSG','4125','1913-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1102','Cais da Vila - Porto Santo',NULL,NULL,'EPSG','3680','1936-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1103','Cais das Velas',NULL,NULL,'EPSG','2875','1937-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1104','Horta',NULL,NULL,'EPSG','2873','1935-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1105','Cais da Madalena',NULL,NULL,'EPSG','2874','1937-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1106','Santa Cruz da Graciosa',NULL,NULL,'EPSG','3681','1938-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1107','Cais da Figueirinha - Angra do Heroismo',NULL,NULL,'EPSG','2872','1951-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1108','Santa Cruz das Flores',NULL,NULL,'EPSG','1344','1965-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1109','Cais da Vila do Porto',NULL,NULL,'EPSG','4126','1965-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1110','Ponta Delgada',NULL,NULL,'EPSG','2871','1991-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1119','Northern Marianas Vertical Datum of 2003',NULL,NULL,'EPSG','4171','2003-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1121','Tutuila Vertical Datum of 1962',NULL,NULL,'EPSG','2288','1962-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1122','Guam Vertical Datum of 1963',NULL,NULL,'EPSG','3255','1963-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1123','Puerto Rico Vertical Datum of 2002',NULL,NULL,'EPSG','3294','2002-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1124','Virgin Islands Vertical Datum of 2009',NULL,NULL,'EPSG','3330','2009-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1125','American Samoa Vertical Datum of 2002',NULL,NULL,'EPSG','2288','2002-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1126','Guam Vertical Datum of 2004',NULL,NULL,'EPSG','3255','2004-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1127','Canadian Geodetic Vertical Datum of 2013 (CGG2013)',NULL,NULL,'EPSG','1061','2013-11-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1129','Japanese Standard Levelling Datum 1972',NULL,NULL,'EPSG','4168','1972-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1130','Japanese Geodetic Datum 2000 (vertical)',NULL,NULL,'EPSG','3263','2002-04-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1131','Japanese Geodetic Datum 2011 (vertical)',NULL,NULL,'EPSG','3263','2011-10-31',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1140','Singapore Height Datum',NULL,NULL,'EPSG','1210','2009-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1146','Ras Ghumays',NULL,NULL,'EPSG','4225','1979-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1148','Famagusta 1960',NULL,NULL,'EPSG','3236',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','1149','PNG08',NULL,NULL,'EPSG','4384','2011-10-14',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1150','Kumul 34',NULL,NULL,'EPSG','4013',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','1151','Kiunga',NULL,NULL,'EPSG','4383',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','1161','Deutsches Haupthoehennetz 1912',NULL,NULL,'EPSG','3339','1912-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1162','Latvian Height System 2000',NULL,NULL,'EPSG','3268','2005-07-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1164','Ordnance Datum Newlyn (Offshore)',NULL,NULL,'EPSG','4391','2016-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1169','New Zealand Vertical Datum 2016',NULL,NULL,'EPSG','1175','2016-06-27',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1170','Deutsches Haupthoehennetz 2016',NULL,NULL,'EPSG','3339','1996-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1171','Port Moresby 1996',NULL,NULL,'EPSG','4425',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','1172','Port Moresby 2008',NULL,NULL,'EPSG','4425',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','1175','Jamestown 1971',NULL,NULL,'EPSG','3183','1971-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1176','St. Helena Tritan Vertical Datum 2011',NULL,NULL,'EPSG','3183','2011-10-09',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1177','St. Helena Vertical Datum 2015',NULL,NULL,'EPSG','3183','2015-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1190','Landshaedarkerfi Islands 2004',NULL,NULL,'EPSG','3262','2004-08-07',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1199','Greenland Vertical Reference 2000',NULL,NULL,'EPSG','4461',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','1200','Greenland Vertical Reference 2016',NULL,NULL,'EPSG','4454',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','1202','Baltic 1957',NULL,NULL,'EPSG','1306','1957-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1205','EPSG example wellbore vertical datum',NULL,NULL,'EPSG','4393',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','1210','Macao Height Datum',NULL,NULL,'EPSG','1147','1980-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1213','Helsinki 1943',NULL,NULL,'EPSG','4522','1943-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1215','Slovenian Vertical System 2010',NULL,NULL,'EPSG','3307','2010-10-10',0);
INSERT INTO "vertical_datum" VALUES('EPSG','1216','Serbian Vertical Reference System 2012',NULL,NULL,'EPSG','4543',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','1219','MOMRA Vertical Geodetic Control',NULL,NULL,'EPSG','3303','1969-01-01',0);
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','1256','Canadian Geodetic Vertical Datum of 2013 (CGG2013a)',NULL,NULL,'EPSG','1061','2015-12-05',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);
INSERT INTO "vertical_datum" VALUES('EPSG','5103','North American Vertical Datum 1988',NULL,NULL,'EPSG','4161','1988-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5104','Yellow Sea 1956',NULL,NULL,'EPSG','3228','1956-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5105','Baltic 1977',NULL,NULL,'EPSG','2423','1977-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5106','Caspian Sea',NULL,NULL,'EPSG','1291',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','5107','Nivellement general de la France',NULL,NULL,'EPSG','1326',NULL,1);
INSERT INTO "vertical_datum" VALUES('EPSG','5109','Normaal Amsterdams Peil',NULL,NULL,'EPSG','1275',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','5110','Ostend',NULL,NULL,'EPSG','1347','1981-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5111','Australian Height Datum',NULL,NULL,'EPSG','4493','1971-05-05',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5112','Australian Height Datum (Tasmania)',NULL,NULL,'EPSG','2947','1972-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5113','Instantaneous Water Level',NULL,NULL,'EPSG','1262',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','5114','Canadian Geodetic Vertical Datum of 1928',NULL,NULL,'EPSG','1289','1928-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5115','Piraeus Harbour 1986',NULL,NULL,'EPSG','3254','1986-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5116','Helsinki 1960',NULL,NULL,'EPSG','3333','1960-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5117','Rikets hojdsystem 1970',NULL,NULL,'EPSG','3313','1970-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5118','Nivellement General de la France - Lallemand',NULL,NULL,'EPSG','1326',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','5119','Nivellement General de la France - IGN69',NULL,NULL,'EPSG','1326','1969-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5120','Nivellement General de la France - IGN78',NULL,NULL,'EPSG','1327','1978-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5121','Maputo',NULL,NULL,'EPSG','3281',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','5122','Japanese Standard Levelling Datum 1969',NULL,NULL,'EPSG','4166','1969-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5123','PDO Height Datum 1993',NULL,NULL,'EPSG','3288','1993-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5124','Fahud Height Datum',NULL,NULL,'EPSG','4009',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','5125','Ha Tien 1960',NULL,NULL,'EPSG','1302','1960-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5126','Hon Dau 1992',NULL,NULL,'EPSG','4015','1992-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5127','Landesnivellement 1902',NULL,NULL,'EPSG','1286','1902-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5128','Landeshohennetz 1995',NULL,NULL,'EPSG','1286','1995-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5129','European Vertical Reference Frame 2000',NULL,NULL,'EPSG','1299','2000-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5130','Malin Head',NULL,NULL,'EPSG','1305','1970-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5131','Belfast Lough',NULL,NULL,'EPSG','2530','1957-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5132','Dansk Normal Nul',NULL,NULL,'EPSG','3237',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','5133','AIOC 1995',NULL,NULL,'EPSG','2592','1995-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5134','Black Sea',NULL,NULL,'EPSG','3251',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','5135','Hong Kong Principal Datum',NULL,NULL,'EPSG','3334','1980-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5136','Hong Kong Chart Datum',NULL,NULL,'EPSG','3335',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','5137','Yellow Sea 1985',NULL,NULL,'EPSG','3228','1985-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5138','Ordnance Datum Newlyn (Orkney Isles)',NULL,NULL,'EPSG','2793',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','5139','Fair Isle',NULL,NULL,'EPSG','2794',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','5140','Lerwick',NULL,NULL,'EPSG','2795',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','5141','Foula',NULL,NULL,'EPSG','2796',NULL,0);
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','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','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);
INSERT INTO "vertical_datum" VALUES('EPSG','5151','Nivellement General de Nouvelle Caledonie',NULL,NULL,'EPSG','2822','1969-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5152','Poolbeg',NULL,NULL,'EPSG','1305','1837-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5153','Nivellement General Guyanais 1977',NULL,NULL,'EPSG','3146','1977-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5154','Martinique 1987',NULL,NULL,'EPSG','3276','1987-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5155','Guadeloupe 1988',NULL,NULL,'EPSG','2892','1988-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5156','Reunion 1989',NULL,NULL,'EPSG','3337','1989-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5157','Auckland 1946',NULL,NULL,'EPSG','3764','1946-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5158','Bluff 1955',NULL,NULL,'EPSG','3801','1955-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5159','Dunedin 1958',NULL,NULL,'EPSG','3803','1958-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5160','Gisborne 1926',NULL,NULL,'EPSG','3771','1926-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5161','Lyttelton 1937',NULL,NULL,'EPSG','3804','1937-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5162','Moturiki 1953',NULL,NULL,'EPSG','3768','1953-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5163','Napier 1962',NULL,NULL,'EPSG','3772','1962-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5164','Nelson 1955',NULL,NULL,'EPSG','3802','1955-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5165','One Tree Point 1964',NULL,NULL,'EPSG','3762','1964-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5166','Tararu 1952',NULL,NULL,'EPSG','3818','1952-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5167','Taranaki 1970',NULL,NULL,'EPSG','3769','1970-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5168','Wellington 1953',NULL,NULL,'EPSG','3773','1953-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5169','Waitangi (Chatham Island) 1959',NULL,NULL,'EPSG','3894','1959-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5170','Stewart Island 1977',NULL,NULL,'EPSG','3338','1977-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5171','EGM96 geoid',NULL,NULL,'EPSG','1262','1996-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5172','Nivellement General du Luxembourg',NULL,NULL,'EPSG','1146','1995-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5173','Antalya',NULL,NULL,'EPSG','3322',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','5174','Norway Normal Null 1954',NULL,NULL,'EPSG','1352','1974-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5175','Durres',NULL,NULL,'EPSG','3212',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','5176','Gebrauchshohen ADRIA',NULL,NULL,'EPSG','1037',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','5177','Slovenian Vertical System 2000',NULL,NULL,'EPSG','3307','1999-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5178','Cascais',NULL,NULL,'EPSG','1294','1938-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5179','Constanta',NULL,NULL,'EPSG','3295',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','5180','Alicante',NULL,NULL,'EPSG','4188',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','5181','Deutsches Haupthoehennetz 1992',NULL,NULL,'EPSG','3339','1992-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5182','Deutsches Haupthoehennetz 1985',NULL,NULL,'EPSG','2326','1985-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5183','Staatlichen Nivellementnetzes 1976',NULL,NULL,'EPSG','1343','1976-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5184','Baltic 1982',NULL,NULL,'EPSG','3224','1982-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5185','Baltic 1980',NULL,NULL,'EPSG','1119',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','5186','Kuwait PWD',NULL,NULL,'EPSG','3267',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','5187','KOC Well Datum',NULL,NULL,'EPSG','3267','1937-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5188','KOC Construction Datum',NULL,NULL,'EPSG','3267','1952-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5189','Nivellement General de la Corse 1948',NULL,NULL,'EPSG','1327','1948-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5190','Danger 1950',NULL,NULL,'EPSG','3299','1950-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5191','Mayotte 1950',NULL,NULL,'EPSG','3340','1950-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5192','Martinique 1955',NULL,NULL,'EPSG','3276','1955-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5193','Guadeloupe 1951',NULL,NULL,'EPSG','2892','1955-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5194','Lagos 1955',NULL,NULL,'EPSG','3287','1955-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5195','Nivellement General de Polynesie Francaise',NULL,NULL,'EPSG','3134',NULL,0);
INSERT INTO "vertical_datum" VALUES('EPSG','5196','IGN 1966',NULL,NULL,'EPSG','3124','1966-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5197','Moorea SAU 1981',NULL,NULL,'EPSG','3125','1981-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5198','Raiatea SAU 2001',NULL,NULL,'EPSG','3136','2001-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5199','Maupiti SAU 2001',NULL,NULL,'EPSG','3126','2001-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5200','Huahine SAU 2001',NULL,NULL,'EPSG','3135','2001-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5201','Tahaa SAU 2001',NULL,NULL,'EPSG','3138','2001-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5202','Bora Bora SAU 2001',NULL,NULL,'EPSG','3137','2001-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5203','EGM84 geoid',NULL,NULL,'EPSG','1262','1987-01-01',0);
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','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);
INSERT INTO "vertical_datum" VALUES('EPSG','5211','IGN 1988 MG',NULL,NULL,'EPSG','2894','1988-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5212','IGN 1992 LD',NULL,NULL,'EPSG','2893','1992-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5213','IGN 1988 SB',NULL,NULL,'EPSG','2891','1988-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5214','IGN 1988 SM',NULL,NULL,'EPSG','2890','1988-01-01',0);
INSERT INTO "vertical_datum" VALUES('EPSG','5215','European Vertical Reference Frame 2007',NULL,NULL,'EPSG','3594','2007-01-01',0);
+1
View File
@@ -22,6 +22,7 @@ set(SQL_FILES
"${SQL_DIR}/grid_transformation_custom.sql"
"${SQL_DIR}/other_transformation.sql"
"${SQL_DIR}/concatenated_operation.sql"
"${SQL_DIR}/concatenated_operation_step.sql"
"${SQL_DIR}/alias_name.sql"
"${SQL_DIR}/supersession.sql"
"${SQL_DIR}/deprecation.sql"
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

+39
View File
@@ -0,0 +1,39 @@
import os
# https://tech.signavio.com/2017/managing-sphinx-redirects
template="""<html>
<head>
<meta http-equiv="refresh" content="1; url=%s" />
<script>
window.location.href = "%s"
</script>
</head>
</html>"""
def gather_redirects():
output = {}
output.update({ 'projjson.html' : 'usage/projjson.html' })
return output
from shutil import copyfile
# copy legacy redirects
def copy_legacy_redirects(app, docname): # Sphinx expects two arguments
if app.builder.name == 'html':
for key in app.config.redirect_files:
src = key
tgt = app.config.redirect_files[key]
html = template % (tgt, tgt)
with open(os.path.join(app.outdir, src), 'wb') as f:
f.write(html.encode('utf-8'))
f.close()
def setup(app):
app.add_config_value('redirect_files', {}, 'html')
app.connect('build-finished', copy_legacy_redirects)
return { 'parallel_read_safe': False, 'parallel_write_safe': True }

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