Compare commits

..
136 Commits
Author SHA1 Message Date
Mike Taves 1da380dc0c ReadTheDocs: update output directory for artefacts, other updates 2023-01-25 21:07:51 +13:00
Mike Taves 01321f61c4 Improve docs for 6.2 2023-01-25 01:36:23 +13:00
Mike Taves 3475c76fc6 Implement ReadTheDocs for 6.2, disable other CI workflows (#3581) 2023-01-22 14:49:39 +13:00
Kristian Evers da953c042e disable website builds on commits to 6.2 branch 2020-01-01 21:47:10 +01:00
Kristian Evers 5113b00d01 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:50:00 +01:00
Kristian Evers 4c39aa63fd Add intro and table to isea doc page 2019-12-07 19:48:35 +01:00
Even Rouault 4e356ecad6 Doc: resource_files.rst: remove mentions of no longer existing esri, epsg and IGNF init-files 2019-12-06 15:04:54 +01:00
Even Rouault 90189a594d 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-06 15:04:49 +01:00
Even Rouault a049985cac Doc: resource_files.rst: document where resource files are looked for (without recent Win32 specific addition) 2019-12-06 15:04:44 +01:00
Jeff McKenna 8d0b84bd72 [Docs] Minor changes regarding datumgrid pages (#1751) (#1760)
Update README, install.rst and resource_files.rst
2019-11-30 22:50:16 +01:00
Even Rouault e8d2f811b4 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-30 18:22:51 +01:00
Kristian Evers fb9c269f4f 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:58:24 +01:00
Kristian Evers ac2762b581 Merge branch '6.2' of https://github.com/OSGeo/proj.4 into 6.2 2019-11-28 14:58:14 +01:00
Even Rouault bce4b158ab 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 13:14:35 +01:00
Even Rouault 6b067b1190 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 15:29:43 +01:00
Even Rouault 8fd8024518 Doc: configure the 'Edit on GitHub' button 2019-11-22 13:30:00 +01:00
Even Rouault e4045d66ec projjson.rst: typo fix 2019-11-21 21:17:35 +01:00
Even Rouault 6ed02f5a84 Doc: add a about_core.rst file to avoid duplication between index.rst and about.rst 2019-11-21 21:17:35 +01:00
Even Rouault 5d87ea0e97 Doc: update status of RFC-2 [skip appveyor] 2019-11-19 15:27:43 +01:00
Even Rouault 2ab603d262 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:54:08 +01:00
Even Rouault d0b5e070b9 schemas/v0.2/projjson.schema.json: update (just for the sake of having a refreshed online version. Does not concern 6.2 branch itself)
[skip appveyor]
2019-11-14 17:57:38 +01:00
Even Rouault a13e7646a9 Merge pull request #1727 from OSGeo/backport-1726-to-6.2
[Backport 6.2] Fix proj_assign_context()/pj_set_ctx() with pipelines and alternative coord operations
2019-11-13 00:04:52 +01:00
Guillaume Lostis d5e5c96b46 Minor typo fix in docs faq.rst 2019-11-12 17:38:46 +01:00
Even Rouault f970636daa 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 16:05:03 +01:00
Even Rouault 67ee557a66 Merge pull request #1723 from OSGeo/backport-1722-to-6.2
[Backport 6.2] Doc: document oddity related to identification of CRS from ESRI WKT
2019-11-12 00:53:03 +01:00
Even Rouault 8fdd512ea8 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 12:22:48 +00:00
Mike Taves 6e58a6f906 README.md: update badges to specify branch [ci skip] 2019-11-08 15:28:53 +13:00
Kristian Evers 564d0a9fcc [Backport 6.2] updated docker URLs and added Fedora entry (#1720)
[Backport 6.2] updated docker URLs and added Fedora entry
2019-11-07 15:05:05 +01:00
Markus Neteler f0e9f1e2f0 updated docker URLs and added Fedora entry 2019-11-07 09:51:32 +00:00
Kristian Evers da5bd4b704 Doc: fix formatting in usage/transformation.rst 2019-11-05 08:23:08 +01:00
Even Rouault 86c24e0bcd Add schemas/v0.2/projjson.schema.json 2019-11-04 22:38:18 +01:00
Even Rouault 2b96d78884 Merge pull request #1715 from OSGeo/backport-1712-to-6.2
[Backport 6.2] Doc: fixes in usage/transformation.rst
2019-11-04 22:36:38 +01:00
Even Rouault 2637f3c52c 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 12:21:59 +00:00
Even Rouault 29c2c5cfbd Merge pull request #1713 from OSGeo/backport-1711-to-6.2
[Backport 6.2] createOperations(): in some circumstances we wrongly promoted a Helmert geog2D transformation to a geog3D
2019-11-03 18:16:46 +01:00
Even Rouault 97a468bbbe 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 14:33:55 +00:00
Kristian Evers f95d199570 Bump version number of website 2019-11-01 19:40:39 +01:00
Kristian Evers 1e6d233d05 Update website with 6.2.1 release 2019-11-01 19:40:16 +01:00
Even Rouault c89abf2873 Merge pull request #1706 from OSGeo/backport-1701-to-6.2
[Backport 6.2] Document PROJJSON
2019-10-31 16:15:46 +01:00
Even Rouault 72dd7b0fbb Merge pull request #1705 from OSGeo/backport-1702-to-6.2
[Backport 6.2] createFromWkt(): be tolerant to missing scale_factor parameter (fixes #1700)
2019-10-31 00:49:39 +01:00
Even Rouault 970946b566 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 16:49:39 +00:00
Even Rouault 1acb10c65f Doc: add a redirects extension, and make a projjson.html redirect at the top to its current location 2019-10-30 16:41:10 +00:00
Even Rouault 0d96216201 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 15:22:17 +00:00
Even Rouault 45b2d5ff3b news.rst: fix hyperlink 2019-10-29 23:37:42 +01:00
Kristian Evers 45b36ca276 Update version numbers for 6.2.1 2019-10-28 18:50:18 +01:00
Kristian Evers 0ff8ccf939 Update NEWS for 6.2.1 2019-10-28 18:37:05 +01:00
Kristian Evers d6bacb9197 Update man-pages from Sphinx-docs 2019-10-28 17:58:07 +01:00
Kristian Evers c206d14f68 Update ABI version numbers for 6.2.1 release 2019-10-28 17:53:05 +01:00
Kristian Evers e53e4c761c Merge pull request #1695 from OSGeo/backport-1681-to-6.2
[Backport 6.2] Add code of conduct
2019-10-26 17:04:19 +02:00
Even Rouault 9e1e248cbb Merge pull request #1692 from OSGeo/backport-1691-to-6.2
[Backport 6.2] importFromWkt(): fix axis orientation for non-standard ESRI WKT (fixes #1690)
2019-10-25 19:45:39 +02:00
Kristian Evers e5b6a41f19 Add code of conduct 2019-10-25 15:03:34 +00:00
Even Rouault f96f8ef4ff importFromWkt(): fix axis orientation for non-standard ESRI WKT (fixes #1690) 2019-10-25 09:04:16 +00:00
Kristian Evers 6976050e23 Merge pull request #1685 from OSGeo/backport-1683-to-6.2
[Backport 6.2] 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-19 07:40:20 +02:00
backporting[bot] f94f1ddeaa [Backport 6.2] Fix segfaults in case of out-of-memory situations (#1684) (fixes #1678) 2019-10-18 22:40:53 +02:00
Even Rouault 00bac075a1 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 19:55:22 +00:00
Even Rouault 117ddfdc7f Merge pull request #1676 from OSGeo/backport-1675-to-6.2
[Backport 6.2] Use dedicated logo for website
2019-10-16 19:09:36 +02:00
Kristian Evers 9d29cd4901 Use dedicated logo for website
Fixes #1670
2019-10-16 12:02:33 +00:00
Even Rouault 5a641f872b Merge pull request #1668 from OSGeo/backport-1653-to-6.2
[Backport 6.2] ob_tran doc: fix/clarify semantics of o_lat_p/o_lon_p
2019-10-13 12:59:42 +02:00
Even Rouault c9c72da7a8 Merge pull request #1667 from rouault/backport-1665-to-6.2
[Backport 6.2] createOperations(): allow transforming from a compoundCRS of a bound verticalCRS to a 2D CRS
2019-10-12 14:52:58 +02:00
Even Rouault 572433ec4d createOperations(): allow transforming from a compoundCRS of a bound verticalCRS to a 2D CRS 2019-10-12 11:09:48 +02:00
Kristian Evers ad2ae23edc [Backport 6.2] Add logo to website (#1661)
[Backport 6.2] Add logo to website
2019-10-07 13:52:29 +02:00
Kristian Evers 2bc1e2e1a9 Add PROJ log
Courtesy of Sylvain Beorchia. The logo is put under the CC-0 license.
2019-10-07 13:46:36 +02:00
Kristian Evers 0edea5f44f Add logo to website 2019-10-07 11:44:13 +00:00
Kristian Evers dca0125b0d Add PROJ log
Courtesy of Sylvain Beorchia. The logo is put under the CC-0 license.
2019-10-07 11:42:49 +00:00
Even Rouault 02f0500dbf Merge pull request #1658 from OSGeo/backport-1655-to-6.2
[Backport 6.2] 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 14:17:27 +02:00
Kristian Evers 91bcfd3e00 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:51:57 +02:00
Even Rouault 29b17b5e38 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 18:49:26 +00:00
Even Rouault c1ef192087 ob_tran.cpp: add comment to link maths with Snyder's formulas 2019-10-03 12:05:44 +00:00
Even Rouault 168e5d4b53 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 11:58:19 +00:00
Even Rouault 07bbf14615 Merge pull request #1652 from OSGeo/backport-1651-to-6.2
[Backport 6.2] Only call pkg-config in configure when necessary
2019-10-03 11:33:42 +02:00
Jakob Egger 43ee3c7f54 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 07:28:57 +00:00
Even Rouault 8238b66c07 Merge pull request #1646 from OSGeo/backport-1645-to-6.2
[Backport 6.2] PROJ string CRS ingester: recognize more unit-less parameters, and general handling of +key=string_value parameters
2019-09-30 20:55:59 +02:00
Even Rouault 8e461c373a PROJ string CRS ingester: recognize more unit-less parameters, and general handling of +key=string_value parameters 2019-09-28 10:48:17 +00:00
Even Rouault f0c148abf3 Merge pull request #1636 from OSGeo/backport-1633-to-6.2
Backport #1633 to 6.2
2019-09-28 10:19:50 +02:00
Even Rouault 9ddf2d4ced createOperations() sorting: sort operations that cannot be exported as PROJ pipelines at end 2019-09-28 01:48:18 +02:00
Even Rouault 1f66818745 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-28 01:47:40 +02:00
Even Rouault b0b21db45f Merge pull request #1643 from rouault/backport-1641-to-6.2
[Backport 6.2] proj_create_crs_to_crs(): fix when there are only transformations with ballpark steps
2019-09-26 17:34:21 +02:00
Even Rouault 668d882938 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 13:28:54 +02:00
Kristian Evers 36fb1cb5d7 Merge pull request #1639 from OSGeo/backport-1637-to-6.2
[Backport 6.2] io.cpp: fix build on Solaris
2019-09-26 07:17:58 +02:00
Even Rouault be819a1340 isea: avoid shadowing warning on 'quad' on Solaris
Patch proj-6.2.0-isea.gpatch by Eric Dechaux
2019-09-25 13:56:17 +00:00
Even Rouault 7806af71e8 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 13:55:33 +00:00
Even Rouault 3854668626 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 13:35:01 +00:00
Even Rouault 3671063a1c Merge pull request #1628 from OSGeo/backport-1627-to-6.2
[Backport 6.2] Travis linux_gcc: force sphinxcontrib-bibtex version to avoid issue with installing sphinx >= 2.0
2019-09-22 14:00:51 +02:00
Even Rouault ae22375bb4 Travis linux_gcc: force sphinxcontrib-bibtex version to avoid issue with installing sphinx >= 2.0 2019-09-22 11:29:58 +00:00
Even Rouault a2a098dd9d Merge pull request #1622 from OSGeo/backport-1620-to-6.2
[Backport 6.2] Assorted set of fixes for boring oss-fuzz related errors (mostly divisions by zero in odd situations)
2019-09-19 13:08:02 +02:00
Even Rouault 02919fb712 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 19:48:46 +00:00
Even Rouault 39ed5dda17 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 19:41:15 +00:00
Even Rouault b66081ceef 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 19:34:46 +00:00
Even Rouault f38eb52f1f 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 19:10:56 +00:00
Even Rouault 2d783ecc18 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 19:08:41 +00:00
Even Rouault bf53610d87 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 19:01:04 +00:00
Even Rouault 374f934014 standard_fuzzer.cpp: tweak to be able to compile it against libproj.so 2019-09-17 19:00:24 +00:00
Even Rouault 9fc5330398 geos: avoid division by zero. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=14666 2019-09-17 18:45:06 +00:00
Even Rouault d2ba2915ed eqdc: avoid potential division by zero. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=17190 2019-09-17 17:53:13 +00:00
Kristian Evers ae6f1a1760 Update link to Austrian grid files. Fixes #1546 2019-09-17 11:20:21 +02:00
Kristian Evers 03a01adf6c [Backport 6.2] Debug Bertin1953 (#1617)
[Backport 6.2] Debug Bertin1953
2019-09-17 09:47:37 +02:00
Kristian Evers bc662fef4c Update doc image for bertin1953 2019-09-16 08:13:55 +00:00
Kristian Evers 355f43ca41 [6.2 backport] cs2cs: autopromote CRS to 3D when there's a mix… (#1615)
[6.2 backport] cs2cs: autopromote CRS to 3D when there's a mix of 2D and 3D (fixes #1563)
2019-09-16 09:23:00 +02:00
Even Rouault 1aaca77c2a Merge pull request #1616 from OSGeo/backport-1614-to-6.2
[Backport 6.2] Fixes related to #1597
2019-09-15 22:38:14 +02:00
Even Rouault 83a14b87ae cs2cs: autopromote CRS to 3D when there's a mix of 2D and 3D (fixes #1563) 2019-09-15 18:39:46 +02:00
Even Rouault e35aa372af API: add CRS::promoteTo3D(), proj_crs_promote_to_3D() and proj_crs_create_projected_3D_crs_from_2D() (fixes #1587)
(projinfo changes adding --3d from master removed)
2019-09-15 18:39:07 +02:00
Even Rouault 73042b0139 Doc: add a section to document backward incompatibilies regarding the support of +init=epsg:XXXX syntax (relates to #1597) 2019-09-15 11:39:37 +00:00
Even Rouault e5a1ea29ca 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 11:20:43 +00:00
Even Rouault 9e5807499c createFromPROJString(): ignore +no_defs when instanciating a '+init=epsg:xxxx +no_defs' string (related to #1597) 2019-09-15 11:20:43 +00:00
Even Rouault b7e7a3bd4a Ingestion of +proj=somerc +type=crs: avoid adding twice alpha, gamma, lon_0 (related to #1597) 2019-09-15 11:20:43 +00:00
Kristian Evers eb5906bb14 [Backport 6.2] Improve vertical transforms (#1613)
[Backport 6.2] Improve vertical transforms
2019-09-15 13:08:36 +02:00
Even Rouault bb1cac55e3 Merge pull request #1612 from OSGeo/backport-1610-to-6.2
[Backport 6.2] Fix support for +proj=ob_tran +o_proj=lonlat/latlong/latlon (only +o_proj=longlat worked) (fixes #1601)
2019-09-13 13:20:14 +02:00
Even Rouault f168e2397e createOperations(): when tranforming from a compoundCRS whose vertical component is a BoundCRS, do not apply the horizontal transformation twice 2019-09-13 12:19:57 +02:00
Even Rouault 29a5cae676 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-13 12:16:36 +02:00
Even Rouault 0316dc2b42 createOperations(): make sure sorting function is transitive (a < b and b < c --> a < c), to get consistent results 2019-09-13 12:05:10 +02:00
Even Rouault 8fb0f77ca5 Fix support for +proj=ob_tran +o_proj=lonlat/latlong/latlon (only +o_proj=longlat worked) (fixes #1601) 2019-09-13 00:28:24 +00:00
Even Rouault db6fdacc11 Merge pull request #1609 from OSGeo/backport-1603-to-6.2
[Backport 6.2] Improve migration code examples
2019-09-13 01:48:41 +02:00
Kai Pastor ea185460fa Improve migration code examples 2019-09-12 19:15:53 +00:00
Even Rouault f2d44f3a2e Merge pull request #1607 from OSGeo/backport-1604-to-6.2
[Backport 6.2] proj_trans_generic(): properly set coordinate time to HUGE_VAL when no value is passed to the function
2019-09-12 17:57:45 +02:00
Even Rouault 947b4ae116 Merge pull request #1606 from OSGeo/backport-1602-to-6.2
[Backport 6.2] createOperations(): fix conversion from/to PROJ.4 CRS strings with non-ISO-cosher options and towgs84/nadgrids
2019-09-12 17:57:11 +02:00
Even Rouault c87d0016e4 proj_trans_generic(): properly set coordinate time to HUGE_VAL when no value is passed to the function 2019-09-12 10:30:26 +00:00
Even Rouault 3f07b9e0fa 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 17:25:35 +00:00
Kristian Evers 9e1e008830 [Backport 6.2] Make migration code examples compile (#1599)
[Backport 6.2] Make migration code examples compile
2019-09-11 15:00:02 +02:00
Kai Pastor 5172637ea7 Make migration code examples compile 2019-09-11 06:57:34 +00:00
Kristian Evers 8d914ab177 Fix gie test after applying fix to bertin1953 2019-09-10 07:23:03 +00:00
Even Rouault 3eb5780832 Merge pull request #1594 from OSGeo/backport-1589-to-6.2
[Backport 6.2] PROJStringParser::createFromPROJString(): avoid potential infinite recursion (fixes #1574)
2019-09-06 15:34:32 +02:00
Even Rouault 99a32f5734 Merge pull request #1593 from OSGeo/backport-1590-to-6.2
[Backport 6.2] BUG: add SANITIZE_CTX for coordoperation is_instantiable and has_ballpark_transformation
2019-09-06 15:33:27 +02:00
Even Rouault 03bb6478e4 Merge pull request #1592 from OSGeo/backport-1588-to-6.2
[Backport 6.2] Add link to Rust bindings
2019-09-06 11:29:33 +02:00
snowman2 cbb4a78920 BUG: add SANITIZE_CTX for coordoperation is_instantiable and has_ballpark_transformation 2019-09-06 01:37:49 +00:00
Even Rouault b0c17a4075 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 16:01:42 +00:00
Stephan Hügel 04cd73cab9 Add link to Rust bindings 2019-09-05 15:42:07 +00:00
Even Rouault 87c90fcaa8 Merge pull request #1586 from OSGeo/backport-1583-to-6.2
[Backport 6.2] proj_create_crs_to_crs_from_pj(): make the PJ* arguments const PJ*
2019-09-05 14:23:07 +02:00
Even Rouault 75aa2e9d03 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 13:17:51 +00:00
Even Rouault ba0c3c3bf8 proj_experimental.h: fix wrong comment forPJ_ELLIPSOIDAL_CS_2D_TYPE enum 2019-09-04 14:10:44 +02:00
R. Schmunk 8db35665e0 Debug Bertin1953
Northern hemisphere "warp" implemented incorrectly. See #1579
2019-09-03 19:56:03 +00:00
Kristian Evers 1098a06c48 [Backport 6.2] Doc: add link to final WKT2:2019 document (#1577)
[Backport 6.2] Doc: add link to final WKT2:2019 document
2019-09-02 13:01:48 +03:00
Kristian Evers 31509e8ceb [Backport 6.2] Fix spelling of Potsdam datum (#1575)
[Backport 6.2] Fix spelling of Potsdam datum
2019-09-01 19:41:02 +03:00
Kristian Evers 6ef8650a60 Update download links in the docs 2019-09-01 11:21:45 +02:00
Kristian Evers 973190a95a Add release notes for 6.2.0 to website 2019-09-01 09:38:51 +02:00
Kristian Evers 89d9cc6aa9 Make sure that website is build from the 6.2 branch 2019-09-01 09:28:30 +02:00
Kai Pastor 38119a4f2b Fix spelling of potsdam datum 2019-08-30 05:02:54 +00:00
Even Rouault 9e4088ac96 Doc: add link to final WKT2:2019 document 2019-08-27 20:45:56 +00:00
346 changed files with 12013 additions and 39573 deletions
-8
View File
@@ -1,8 +0,0 @@
#
# 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
@@ -1,31 +0,0 @@
---
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...
@@ -1,7 +0,0 @@
---
name: Feature request
about: Suggest an idea for this project
labels: feature request
---
<!-- Describe the feature you'd like. -->
-6
View File
@@ -1,6 +0,0 @@
<!-- 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
@@ -1,18 +0,0 @@
# 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
@@ -1,20 +0,0 @@
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 }}
+2
View File
@@ -98,6 +98,8 @@ install_manifest.txt
tmp_breathe
/docs/.doxygen_up_to_date
/docs/build
/docs/plot/images
/latex
# m4
m4/libtool.m4
+50
View File
@@ -0,0 +1,50 @@
# .readthedocs.yaml
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
# Required
version: 2
build:
os: "ubuntu-22.04"
tools:
python: "mambaforge-4.10"
jobs:
post_checkout:
# Cancel building pull requests when there aren't changed in the docs directory or YAML file.
# You can add any other files or directories that you'd like here as well,
# like your docs requirements file, or other files that will change your docs build.
#
# If there are no changes (git diff exits with 0) we force the command to return with 183.
# This is a special exit code on Read the Docs that will cancel the build immediately.
- |
if [ "$READTHEDOCS_VERSION_TYPE" = "external" ] && git diff --quiet origin/6.2 -- docs/ .readthedocs.yaml;
then
exit 183;
fi
- (git --no-pager log --pretty="tformat:%s -- %b" -1 | grep -viq "skip ci") || exit 183
pre_build:
- ./docs/rtd/pre_build.sh
- ./scripts/doxygen.sh
- ./docs/rtd/plot.sh
post_build:
- ./docs/rtd/post_build.sh
apt_packages:
- cmake
- ninja-build
- g++
- sqlite3
- libsqlite3-dev
formats:
- pdf
- epub
conda:
environment: docs/environment.yml
sphinx:
configuration: docs/source/conf.py
fail_on_warning: true
+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 = {2020},
year = {2019},
url = {https://proj.org/},
}
+21 -52
View File
@@ -28,15 +28,6 @@ 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)
@@ -61,6 +52,7 @@ 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}
@@ -83,7 +75,6 @@ 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}"
@@ -104,9 +95,9 @@ colormsg(_HIBLUE_ "Configuring PROJ:")
#PROJ version information
################################################################################
include(ProjVersion)
proj_version(MAJOR 7 MINOR 0 PATCH 0)
set(PROJ_API_VERSION "18")
set(PROJ_BUILD_VERSION "18.0.3")
proj_version(MAJOR 6 MINOR 2 PATCH 1)
set(PROJ_API_VERSION "17")
set(PROJ_BUILD_VERSION "17.1.2")
################################################################################
# Build features and variants
@@ -128,45 +119,6 @@ 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
################################################################################
@@ -182,6 +134,23 @@ 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
+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 src/filemanager.cpp src/networkfilemanager.cpp
INPUT = src/iso19111 include/proj src/proj.h src/proj_experimental.h src/general_doc.dox
# 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
+1 -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/release.cpp: Update date to the scheduled release date.
- src/pj_release.c: Update date to the scheduled release date.
- CMakelists.txt: Update proj_version()
- doc/source/conf.py: Update version number
+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=c99 CFLAGS=-O2 LIBS=-lposix ./configure
CC=c89 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 cmake
DIST_SUBDIRS = include src man data cmake test
SUBDIRS = include src man data jniwrap cmake
DIST_SUBDIRS = include src man data jniwrap cmake test
EXTRA_DIST = CMakeLists.txt CITATION README.md
-103
View File
@@ -1,106 +1,3 @@
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
-------------------
+4 -4
View File
@@ -1,11 +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/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)
[![Travis Status](https://travis-ci.com/OSGeo/PROJ.svg?branch=6.2)](https://travis-ci.com/OSGeo/PROJ)
[![AppVeyor Status](https://ci.appveyor.com/api/projects/status/github/OSGeo/PROJ?branch=6.2&svg=true)](https://ci.appveyor.com/project/OSGeo/PROJ?branch=6.2)
[![Coveralls Status](https://coveralls.io/repos/github/OSGeo/PROJ/badge.svg?branch=6.2)](https://coveralls.io/github/OSGeo/PROJ?branch=6.2)
[![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)
[![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.
+5 -18
View File
@@ -5,24 +5,11 @@
file(RELATIVE_PATH PROJECT_ROOT_DIR
${CMAKE_INSTALL_PREFIX}/${CMAKECONFIGDIR} ${CMAKE_INSTALL_PREFIX})
# 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 ()
if(CMAKE_CROSSCOMPILING)
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,7 +10,6 @@
# and following variables are set:
# SQLITE3_INCLUDE_DIR
# SQLITE3_LIBRARY
# SQLITE3_VERSION
# find_path and find_library normally search standard locations
@@ -54,21 +53,9 @@ 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,6 +14,7 @@ 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)
+1 -9
View File
@@ -2,11 +2,6 @@
# 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)
@@ -31,8 +26,6 @@ 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()
@@ -41,13 +34,12 @@ endfunction()
function(proj_add_gie_test TESTNAME TESTCASE)
set(GIE_BIN $<TARGET_FILE_NAME:gie>)
set(GIE_BIN "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()
+1 -2
View File
@@ -89,8 +89,7 @@ endfunction()
#
# Generates output name for given target depending on platform and version.
# For instance, on Windows, dynamic link libraries get ABI version suffix
# proj_X_Y.dll.
# For instance, on Windows, libraries get ABI version suffix proj_X_Y.{dll|lib}.
#
function(proj_target_output_name TARGET_NAME OUTPUT_NAME)
+6
View File
@@ -4,6 +4,9 @@
/* 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
@@ -37,6 +40,9 @@
/* 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}"
+4 -17
View File
@@ -5,18 +5,7 @@ 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")
@@ -35,13 +24,9 @@ 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 (
# 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@ ))
elseif (MSVC AND NOT MSVC_VERSION STREQUAL "@MSVC_VERSION@")
# Reject if there's a mismatch in MSVC compiler versions
set (REASON "MSVC_TOOLSET_VERSION = @MSVC_TOOLSET_VERSION@")
set (REASON "_MSC_VER = @MSVC_VERSION@")
set (PACKAGE_VERSION_UNSUITABLE TRUE)
elseif (NOT CMAKE_CROSSCOMPILING_STR STREQUAL "@CMAKE_CROSSCOMPILING_STR@")
# Reject if there's a mismatch in ${CMAKE_CROSSCOMPILING}
@@ -67,3 +52,5 @@ endif ()
if (PACKAGE_VERSION_UNSUITABLE)
set (PACKAGE_VERSION "${PACKAGE_VERSION} (${REASON})")
endif ()
unset(CMAKE_CROSSCOMPILING_STR)
+87 -91
View File
@@ -1,7 +1,7 @@
dnl Process this file with autoconf to produce a configure script.
AC_PREREQ(2.59)
AC_INIT([PROJ], [7.0.0],
AC_INIT([PROJ], [6.2.1],
[https://github.com/OSGeo/PROJ/issues], proj, [https://proj.org])
AC_CONFIG_MACRO_DIR([m4])
AC_LANG(C)
@@ -12,7 +12,6 @@ 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
@@ -20,8 +19,6 @@ 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)
@@ -85,6 +82,20 @@ 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++])
@@ -171,15 +182,6 @@ 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/ /"`
@@ -195,12 +197,81 @@ 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).
@@ -237,11 +308,7 @@ dnl Check for sqlite3 library and binary
dnl ---------------------------------------------------------------------------
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])
PKG_CHECK_MODULES([SQLITE3], [sqlite3 >= 3.7])
fi
AC_SUBST(SQLITE3_CFLAGS,$SQLITE3_CFLAGS)
AC_SUBST(SQLITE3_LIBS,$SQLITE3_LIBS)
@@ -251,78 +318,6 @@ 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 ---------------------------------------------------------------------------
@@ -350,7 +345,8 @@ 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])
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])
if ! test "x$with_external_gtest" = "xyes" ; then
AC_CONFIG_FILES([test/googletest/Makefile test/googletest/include/Makefile
test/googletest/include/gtest/Makefile
+1 -40
View File
@@ -2,10 +2,6 @@
# files containing dictionary of useful projection
#
set(CONFIG_FILES
proj.ini
)
set(PROJ_DICTIONARY
null
world
@@ -48,7 +44,6 @@ 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"
@@ -58,49 +53,15 @@ 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 ${CONFIG_FILES} ${PROJ_DICTIONARY} ${GRIDSHIFT_FILES})
foreach(FILE ${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}
+4 -77
View File
@@ -1,6 +1,6 @@
DATAPATH = $(top_srcdir)/data
pkgdata_DATA = proj.ini GL27 nad.lst nad27 nad83 world other.extra \
pkgdata_DATA = GL27 nad.lst nad27 nad83 world other.extra \
CH null \
ITRF2000 ITRF2008 ITRF2014 proj.db \
projjson.schema.json
@@ -27,7 +27,6 @@ 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 \
@@ -38,55 +37,12 @@ SQL_ORDERED_LIST = sql/begin.sql \
sql/customizations.sql \
sql/commit.sql
EXTRA_DIST = proj.ini GL27 nad.lst nad27 nad83 \
EXTRA_DIST = GL27 nad.lst nad27 nad83 \
world other.extra \
CH \
ITRF2000 ITRF2008 ITRF2014 \
projjson.schema.json \
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 \
CMakeLists.txt tests/test_nodata.gtx null \
generate_all_sql_in.cmake sql_filelist.cmake \
$(SQL_ORDERED_LIST)
@@ -139,41 +95,12 @@ 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; \
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
fi
clean-local:
$(RM) proj.db
$(RM) -rf for_tests
-16
View File
@@ -1,16 +0,0 @@
[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
+1 -11
View File
@@ -1,5 +1,5 @@
{
"$id": "https://proj.org/schemas/v0.2/projjson.schema.json",
"$id": "https://proj.org/schemas/v0.1/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,16 +932,6 @@
},
"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": {},
+1 -6810
View File
File diff suppressed because it is too large Load Diff
+21 -21
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.73,101.33,107.64,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','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.64,0);
INSERT INTO "area" VALUES('EPSG','1138','Laos','Laos.',13.92,22.5,100.09,107.7,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.4,102.14,112.55,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','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.33,23.4,102.14,109.53,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','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);
@@ -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.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','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','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.03,11.04,105.49,107.58,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','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.','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','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','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.33,23.4,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.5,23.33,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);
@@ -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.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','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','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.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','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','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);
@@ -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.73,102.34,107.64,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','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.33,23.4,102.14,109.53,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','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.35,11.04,104.24,107.11,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','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.4,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.33,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.33,23.4,102.14,109.53,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','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.2,22.82,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.23,22.8,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,9 +3191,9 @@ 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.33,23.4,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.5,23.33,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.57,22.95,106.5,109.53,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 - 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);
+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','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','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','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,109 +29,6 @@ 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;
+209 -210
View File
@@ -1,212 +1,211 @@
--- 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,'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);
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);
-427
View File
@@ -1,427 +0,0 @@
--- 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');
+21
View File
@@ -739,6 +739,15 @@ 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);
@@ -761,8 +770,15 @@ 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);
@@ -770,6 +786,7 @@ 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);
@@ -808,6 +825,10 @@ 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);
-49
View File
@@ -26,17 +26,6 @@ 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
@@ -76,41 +65,3 @@ 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');
+564 -1066
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+25 -56
View File
@@ -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)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','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','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)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','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. Also distributed with file name CGQ77-98.gsb.','Approximation at the +/- 1m level.','EPSG','9615','NTv2','EPSG','4609','EPSG','4326','EPSG','1368',1.0,'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) (1) (code 1844) assuming that NAD83(CSRS) is equivalent to WGS 84 within the accuracy of the transformation. Also distributed as QUE27-98.gsb.','Approximation at the +/- 1m level.','EPSG','9615','NTv2','EPSG','4267','EPSG','4326','EPSG','1368',1.0,'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)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','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. Also distributed with file name NAD83-98.gsb.','Approximation at the +/- 1m level.','EPSG','9615','NTv2','EPSG','4269','EPSG','4326','EPSG','1368',1.0,'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) (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','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)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','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','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',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','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','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',1);
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.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','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','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);
@@ -261,27 +261,14 @@ 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','9106','ATS77 to NAD83(CSRS)v6 (4)','Derived through NAD83(CSRS)v6 but within accuracy of transformation may be assumed to apply to any version.','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','9110','NAD83 to NAD83(CSRS)v3 (5)','Derived through NAD83(CSRS)v3 but within accuracy of transformation may be assumed to apply to any version.','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);
@@ -289,14 +276,14 @@ INSERT INTO "grid_transformation" VALUES('EPSG','9114','NAD27 to NAD83(CSRS)v3 (
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','9118','NAD27 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','9124','ITRF2008 to CGVD2013 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 model CGG2013a (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 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 model CGG2013 (CT code 9124).','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','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);
@@ -323,24 +310,6 @@ INSERT INTO "grid_transformation" VALUES('EPSG','9175','NAD83(NSRS2007) to PRVD0
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);
-47
View File
@@ -49,50 +49,3 @@ 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);
+4 -6
View File
@@ -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 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','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','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. 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','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','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',1);
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','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);
@@ -1166,8 +1166,6 @@ INSERT INTO "helmert_transformation" VALUES('EPSG','9189','WGS 84 to IG05/12 Int
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);
+775 -805
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.8.4');
INSERT INTO "metadata" VALUES('EPSG.DATE', '2019-11-12');
INSERT INTO "metadata" VALUES('EPSG.VERSION', 'v9.8.2');
INSERT INTO "metadata" VALUES('EPSG.DATE', '2019-09-23');
-21
View File
@@ -192,32 +192,11 @@ 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);
+106 -73
View File
@@ -43,13 +43,14 @@ 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 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))
CONSTRAINT fk_ellipsoid_unit_of_measure FOREIGN KEY (uom_auth_name, uom_code) REFERENCES unit_of_measure(auth_name, code)
);
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;
@@ -64,11 +65,18 @@ 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 check_area_lat CHECK (south_lat <= north_lat),
CONSTRAINT check_area_lon CHECK (west_lon <= east_lon OR (east_lon + 360 - west_lon <= 200))
CONSTRAINT pk_area PRIMARY KEY (auth_name, code)
);
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),
@@ -100,7 +108,6 @@ 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),
@@ -127,7 +134,6 @@ 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)
@@ -145,12 +151,20 @@ 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 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))
CONSTRAINT pk_coordinate_system PRIMARY KEY (auth_name, code)
);
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),
@@ -192,12 +206,7 @@ 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 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))
CONSTRAINT fk_geodetic_crs_area FOREIGN KEY (area_of_use_auth_name, area_of_use_code) REFERENCES area(auth_name, code)
);
CREATE TRIGGER geodetic_crs_insert_trigger
@@ -207,9 +216,24 @@ 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;
@@ -666,12 +690,7 @@ 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 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))
CONSTRAINT fk_projected_crs_area FOREIGN KEY (area_of_use_auth_name, area_of_use_code) REFERENCES area(auth_name, code)
);
CREATE TRIGGER projected_crs_insert_trigger
@@ -681,6 +700,12 @@ 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');
@@ -690,9 +715,18 @@ 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;
@@ -1101,22 +1135,30 @@ 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 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))
CONSTRAINT fk_grid_alternatives_grid_packages FOREIGN KEY (package_name) REFERENCES grid_packages(package_name)
);
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(
@@ -1209,8 +1251,7 @@ 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 check_other_transformation_method CHECK (NOT (method_auth_name = 'PROJ' AND method_code NOT IN ('PROJString', 'WKT')))
CONSTRAINT fk_other_transformation_param7_uom FOREIGN KEY (param7_uom_auth_name, param7_uom_code) REFERENCES unit_of_measure(auth_name, code)
);
CREATE TRIGGER other_transformation_insert_trigger
@@ -1225,6 +1266,9 @@ 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')
@@ -1253,6 +1297,15 @@ 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)),
@@ -1261,6 +1314,9 @@ 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)
);
@@ -1271,12 +1327,28 @@ 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')
@@ -1285,45 +1357,6 @@ 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 (
-4
View File
@@ -196,7 +196,3 @@ 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');
+1 -2
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(CGG2013) height',NULL,NULL,'EPSG','6499','EPSG','1127','EPSG','1061',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','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,4 +216,3 @@ 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);
+194 -195
View File
@@ -1,197 +1,196 @@
--- 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','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);
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);
-1
View File
@@ -22,7 +22,6 @@ 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.
@@ -16,7 +16,7 @@ task:
folder: $HOME/.ccache
pkginstall_script:
- pkg install -y autoconf automake libtool pkgconf sqlite3 tiff wget unzip ccache gmake
- pkg install -y autoconf automake libtool pkgconf sqlite3 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)
+12 -11
View File
@@ -1,4 +1,4 @@
# This is the config file for building proj and running its test suite
# This is the config file for building proj.4 and running its test suite
# with Travis-ci.org
language: cpp
@@ -15,8 +15,9 @@ matrix:
include:
- os: linux
dist: xenial
dist: trusty
compiler: gcc
sudo: required
services:
- docker
env:
@@ -24,8 +25,9 @@ matrix:
- DETAILS="linux, gcc"
- os: linux
dist: xenial
dist: trusty
compiler: gcc
sudo: required
services:
- docker
env:
@@ -38,15 +40,12 @@ matrix:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-7
- make
- autoconf
- automake
packages: ['g++-7','make','autoconf','automake']
- os: linux
dist: xenial
dist: trusty
compiler: clang
sudo: required
services:
- docker
env:
@@ -59,15 +58,17 @@ matrix:
- DETAILS="osx"
- os: linux
dist: xenial
dist: trusty
compiler: gcc
sudo: required
env:
- BUILD_NAME=mingw32
- DETAILS="mingw32"
- os: linux
compiler: gcc
dist: xenial
dist: trusty
sudo: required
env:
- BUILD_NAME=csa
- DETAILS="CLang Static Analyzer"
@@ -27,10 +27,9 @@ 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
@@ -42,21 +41,19 @@ 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
+17
View File
@@ -0,0 +1,17 @@
name: proj
channels:
- conda-forge
dependencies:
- descartes
- doxygen < 1.8.17
- geojson
- matplotlib
- shapely < 1.8
- pip
- pip:
- breathe < 4.15
- Jinja2 < 3.1
- pybtex
- sphinx < 3
- sphinx-rtd-theme < 1.0
- sphinxcontrib-bibtex
-86
View File
@@ -1,86 +0,0 @@
name: proj
channels:
- defaults
dependencies:
- blas=1.0=mkl
- bzip2=1.0.6=h1de35cc_5
- ca-certificates=2018.03.07=0
- cairo=1.14.12=hc4e6be7_4
- certifi=2018.8.24=py37_1
- click=6.7=py37_0
- click-plugins=1.0.3=py37_1
- cligj=0.4.0=py37_1
- curl=7.61.0=ha441bb4_0
- cycler=0.10.0=py37_0
- descartes=1.1.0=py37_0
- expat=2.2.6=h0a44026_0
- fiona=1.7.12=py37h0dff353_0
- fontconfig=2.13.0=h5d5b041_1
- freetype=2.9.1=hb4e5f40_0
- freexl=1.0.5=h1de35cc_0
- gdal=2.2.4=py37h6440ff4_1
- geos=3.6.2=h5470d99_2
- gettext=0.19.8.1=h15daf44_3
- giflib=5.1.4=h1de35cc_1
- glib=2.56.2=hd9629dc_0
- hdf4=4.2.13=h39711bb_2
- hdf5=1.10.2=hfa1e0ec_1
- icu=58.2=h4b95b61_1
- intel-openmp=2019.0=118
- jpeg=9b=he5867d9_2
- json-c=0.13.1=h3efe00b_0
- kealib=1.4.7=h40e48e4_6
- kiwisolver=1.0.1=py37h0a44026_0
- krb5=1.16.1=h24a3359_6
- libboost=1.67.0=hebc422b_4
- libcurl=7.61.0=hf30b1f0_0
- libcxx=4.0.1=h579ed51_0
- libcxxabi=4.0.1=hebd6815_0
- libdap4=3.19.1=h3d3e54a_0
- libedit=3.1.20170329=hb402a30_2
- libffi=3.2.1=h475c297_4
- libgdal=2.2.4=h7b1ea53_1
- libgfortran=3.0.1=h93005f0_2
- libiconv=1.15=hdd342a3_7
- libkml=1.3.0=hbe12b63_4
- libnetcdf=4.6.1=h4e6abe9_1
- libpng=1.6.34=he12f830_0
- libpq=10.5=hf30b1f0_0
- libspatialite=4.3.0a=ha12ebda_19
- libssh2=1.8.0=h322a93b_4
- libtiff=4.0.9=hcb84e12_2
- libuuid=1.0.3=h6bb4b03_2
- libxml2=2.9.8=hab757c2_1
- matplotlib=2.2.3=py37h54f8f79_0
- mkl=2019.0=118
- mkl_fft=1.0.4=py37h5d10147_1
- mkl_random=1.0.1=py37h5d10147_1
- munch=2.3.2=py37_0
- ncurses=6.1=h0a44026_0
- numpy=1.15.1=py37h6a91979_0
- numpy-base=1.15.1=py37h8a80b8c_0
- openjpeg=2.3.0=hb95cd4c_1
- openssl=1.0.2p=h1de35cc_0
- pcre=8.42=h378b8a2_0
- pip=10.0.1=py37_0
- pixman=0.34.0=hca0a616_3
- poppler=0.65.0=ha097c24_1
- poppler-data=0.4.9=0
- proj4=5.0.1=h1de35cc_0
- pyparsing=2.2.0=py37_1
- python=3.7.0=hc167b69_0
- python-dateutil=2.7.3=py37_0
- pytz=2018.5=py37_0
- readline=7.0=h1de35cc_5
- setuptools=40.2.0=py37_0
- shapely=1.6.4=py37h20de77a_0
- six=1.11.0=py37_1
- sqlite=3.24.0=ha441bb4_0
- tk=8.6.8=ha441bb4_0
- tornado=5.1=py37h1de35cc_0
- wheel=0.31.1=py37_0
- xerces-c=3.2.1=h44e365a_0
- xz=5.2.4=h1de35cc_4
- zlib=1.2.11=hf3cbc9b_2
prefix: /usr/local/miniconda3/envs/proj
Regular → Executable
+110 -58
View File
@@ -1,5 +1,6 @@
#!/usr/bin/env python3
'''
Plot map data in different projections supported by PROJ.4
Plot map data in different projections supported by PROJ.
Call with:
@@ -41,28 +42,31 @@ or "line". The rest of the inputs are fairly free form.
Change PROJ to path on your local system before running the script.
'''
from __future__ import print_function
from __future__ import division
import argparse
import os
import os.path
import shutil
import sys
import json
import subprocess
import functools
from pathlib import Path
import geojson
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.patches import Polygon
import fiona
from shapely.geometry import Polygon
from shapely.geometry import MultiPolygon
from shapely.geometry import MultiPolygon, Polygon, box as Box
from shapely.geometry import shape
from shapely.ops import transform
from descartes import PolygonPatch
PROJ = '../../src/proj'
PROJ_LIB = '../../data'
PROJ_COMMAND = os.environ.get('PROJ_EXE', '../../src/proj')
if not os.path.exists(PROJ_COMMAND):
PROJ = shutil.which('proj')
if PROJ is None:
raise ValueError("specify PROJ_EXE or modify PATH to find proj")
else:
PROJ = PROJ_COMMAND
PROJ_LIB = os.environ.get('PROJ_LIB', '../../data')
LINE_LOW = 'data/coastline.geojson'
LINE_MED = 'data/coastline50.geojson'
@@ -160,9 +164,9 @@ def project(coordinates, proj_string, in_radians=False):
try:
proc = subprocess.Popen(args, stdin=subprocess.PIPE, stdout=subprocess.PIPE,
env={'PROJ_LIB': os.path.abspath(PROJ_LIB)})
except FileNotFoundError:
print("'proj' binary not found, please update PROJ constant in plot.py "
"to point to your local 'proj' binary")
except FileNotFoundError as e:
print("'proj' binary not found, set the PROJ_EXE environment variable "
"to point to your local 'proj' binary --%s--" % e)
exit(1)
stdout, _ = proc.communicate(coordinates.tobytes(order='C'))
@@ -223,7 +227,10 @@ def resample_polygon(polygon):
'''
Use interp_coords() to resample (multi)polygons.
'''
xy = polygon.exterior.coords.xy
try:
xy = polygon.exterior.coords.xy
except AttributeError: #no xy's
return polygon
ext = interp_coords(xy, 2)
# interiors
rings = []
@@ -232,27 +239,46 @@ def resample_polygon(polygon):
return Polygon(ext, rings)
def plot_with_interruptions(axes, x, y, delta_cut=1e100, **kwargs):
"""
Plot x/y with proper splitting for interrupted projections.
"""
_x = np.atleast_1d(x)
_y = np.atleast_1d(y)
dx = np.nan_to_num(_x[1: ]) - np.nan_to_num(_x[0: -1])
dy = np.nan_to_num(_y[1: ]) - np.nan_to_num(_y[0: -1])
split, = ((np.abs(dx) > delta_cut) | (np.abs(dy) > delta_cut)).nonzero()
split = np.append(split, _x.size - 1)
split += 1
last_part = 0
for part in split:
axes.plot(x[last_part: part],
y[last_part: part],
**kwargs)
last_part = part
def plotproj(plotdef, data, outdir):
'''
Plot map.
'''
axes = plt.axes()
bounds = (plotdef['lonmin'], plotdef['latmin'], plotdef['lonmax'], plotdef['latmax'])
for geom in data.filter(bbox=bounds):
temp_pol = shape(geom['geometry'])
box = Box(
plotdef['lonmin'], plotdef['latmin'],
plotdef['lonmax'], plotdef['latmax'])
for feat in data["features"]:
geom = shape(feat["geometry"])
if not geom.intersects(box):
continue
box = Polygon([
(plotdef['lonmin'], plotdef['latmin']),
(plotdef['lonmin'], plotdef['latmax']),
(plotdef['lonmax'], plotdef['latmax']),
(plotdef['lonmax'], plotdef['latmin']),
])
temp_pol = temp_pol.intersection(box)
temp_pol = geom.intersection(box)
if plotdef['type'] == 'poly':
if isinstance(temp_pol, MultiPolygon):
polys = [resample_polygon(polygon) for polygon in temp_pol]
polys = [resample_polygon(polygon) for polygon in temp_pol.geoms]
pol = MultiPolygon(polys)
else:
pol = resample_polygon(temp_pol)
@@ -263,11 +289,15 @@ def plotproj(plotdef, data, outdir):
proj_geom = transform(trans, pol)
if plotdef['type'] == 'poly':
patch = PolygonPatch(proj_geom, fc=COLOR_LAND, zorder=0)
axes.add_patch(patch)
try:
patch = PolygonPatch(proj_geom, fc=COLOR_LAND, zorder=0)
axes.add_patch(patch)
except TypeError:
pass
else:
x, y = proj_geom.xy
axes.plot(x, y, color=COLOR_COAST, linewidth=0.5)
plot_with_interruptions(axes, x, y, color=COLOR_COAST, linewidth=0.5,
delta_cut=plotdef.get('delta_cut', 1e100))
# Plot frame
frame = [
@@ -278,7 +308,8 @@ def plotproj(plotdef, data, outdir):
line = project(line, plotdef['projstring'])
x = line[:, 0]
y = line[:, 1]
axes.plot(x, y, '-k')
plot_with_interruptions(axes, x, y, color='black', linestyle='-',
delta_cut=plotdef.get('delta_cut', 1e6))
graticule = build_graticule(
plotdef['lonmin'],
@@ -292,7 +323,28 @@ def plotproj(plotdef, data, outdir):
feature = project(feature, plotdef['projstring'])
x = feature[:, 0]
y = feature[:, 1]
axes.plot(x, y, color=COLOR_GRAT, linewidth=0.4)
plot_with_interruptions(axes, x, y, color=COLOR_GRAT, linewidth=0.4,
delta_cut=plotdef.get('delta_cut', 1e6))
# Plot interrupted boundaries if necessary
interrupted_lines = []
if 'top_interrupted_lons' in plotdef:
for lon in plotdef['top_interrupted_lons']:
for delta in [-0.0001, 0.0001]:
merid = meridian(lon + delta, 0.0, plotdef['latmax'])
interrupted_lines.append(project(merid, plotdef['projstring']))
if 'bottom_interrupted_lons' in plotdef:
for lon in plotdef['bottom_interrupted_lons']:
for delta in [-0.0001, 0.0001]:
merid = meridian(lon + delta, plotdef['latmin'], 0)
interrupted_lines.append(project(merid, plotdef['projstring']))
for line in interrupted_lines:
x = line[:, 0]
y = line[:, 1]
plot_with_interruptions(axes, x, y, color=COLOR_GRAT, linewidth=0.4,
delta_cut=plotdef.get('delta_cut', 1e100))
# Switch off the axis lines...
plt.axis('off')
@@ -311,9 +363,12 @@ def plotproj(plotdef, data, outdir):
# Make sure the plot is not stretched
axes.set_aspect('equal')
if not os.path.exists(outdir):
os.makedirs(outdir)
plt.savefig(outdir + '/' + plotdef['filename'],
outdir = Path(outdir)
if not outdir.exists():
outdir.mkdir(parents=True)
if not outdir.is_dir():
raise OSError("outdir is not a directory")
plt.savefig(outdir / plotdef['filename'],
dpi=400,
bbox_inches='tight')
@@ -323,36 +378,22 @@ def plotproj(plotdef, data, outdir):
plt.close()
def main():
def main(plotdefs, outdir, plots=[]):
'''
Main function of plotting script.
Parses json-file with plot setups and runs the plotting
for each plot setup.
'''
plotdefs = json.loads(Path(plotdefs).read_text())
data = {
('line', 'low'): fiona.open(LINE_LOW),
('line', 'med'): fiona.open(LINE_MED),
('poly', 'low'): fiona.open(POLY_LOW),
('poly', 'med'): fiona.open(POLY_MED),
('line', 'low'): geojson.loads(Path(LINE_LOW).read_text()),
('line', 'med'): geojson.loads(Path(LINE_MED).read_text()),
('poly', 'low'): geojson.loads(Path(POLY_LOW).read_text()),
('poly', 'med'): geojson.loads(Path(POLY_MED).read_text()),
}
if os.path.exists(sys.argv[1]):
# first argument is the JSON plot definition setup file
with open(sys.argv[1]) as plotsetup:
plotdefs = json.load(plotsetup)
else:
raise ValueError('No plot definition file entered')
plots = []
# second argument is the output dir
outdir = sys.argv[2]
# subsecond arguments are (optional) names of plot in plotdef.json
if len(sys.argv) > 3:
plots = sys.argv[3:len(sys.argv)]
for i, plotdef in enumerate(plotdefs):
if plots != [] and plotdef['name'] not in plots:
continue
@@ -364,9 +405,20 @@ def main():
plotproj(plotdef, data[(plotdef['type'], plotdef['res'])], outdir)
for key in data:
data[key].close()
if __name__ == "__main__":
sys.exit(main())
parser = argparse.ArgumentParser(
description=__doc__,
formatter_class=argparse.RawDescriptionHelpFormatter)
parser.add_argument(
'plotdefs',
help='A JSON file with setup for each auto-generated plot')
parser.add_argument(
'outdir',
help='Directory to put the plots in.')
parser.add_argument(
'plots', nargs='*',
help='A list of plot names within the plotdefs file. '
'More than one plotname can be given at once.')
args = parser.parse_args()
sys.exit(main(**vars(args)))
-2
View File
@@ -1,2 +0,0 @@
python3 plot.py plotdefs.json images/
+12
View File
@@ -0,0 +1,12 @@
#!/bin/sh
set -e
export PATH="$HOME/.local/bin:$PATH"
export PROJ_LIB="$HOME/.local/share/proj"
cd docs/plot
python plot.py plotdefs.json images
cd ../..
mkdir -p docs/source/operations/projections/images/
cp -r docs/plot/images/* docs/source/operations/projections/images/
+19
View File
@@ -0,0 +1,19 @@
#!/bin/sh
set -e
# https://github.com/readthedocs/readthedocs.org/pull/9888
READTHEDOCS_OUTPUT="_readthedocs"
find ${READTHEDOCS_OUTPUT} -type d
READTHEDOCS_OUTPUT_HTML="${READTHEDOCS_OUTPUT}/html"
# Undoes the hack done in scripts/doxygen.sh
sed "s/io::Convention_/io::Convention/g" < ${READTHEDOCS_OUTPUT_HTML}/development/reference/cpp/io.html | sed "s/>Convention_/>Convention/g" | sed "s/_WKT2/WKT2/g" | sed "s/_WKT1/WKT1/g" > ${READTHEDOCS_OUTPUT_HTML}/development/reference/cpp/io.html.tmp
mv ${READTHEDOCS_OUTPUT_HTML}/development/reference/cpp/io.html.tmp ${READTHEDOCS_OUTPUT_HTML}/development/reference/cpp/io.html
# Undoes the hacks of scripts/generate_breathe_friendly_general_doc.py
sed "s/<em class=\"property\">namespace <\/em>//g" < ${READTHEDOCS_OUTPUT_HTML}/development/reference/cpp/cpp_general.html > ${READTHEDOCS_OUTPUT_HTML}/development/reference/cpp/cpp_general.html.tmp
mv ${READTHEDOCS_OUTPUT_HTML}/development/reference/cpp/cpp_general.html.tmp ${READTHEDOCS_OUTPUT_HTML}/development/reference/cpp/cpp_general.html
# Copy JSON schemas for public consumption
READTHEDOCS_OUTPUT_SCHEMAS="${READTHEDOCS_OUTPUT_HTML}/schemas"
cp -r schemas ${READTHEDOCS_OUTPUT_SCHEMAS}

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