Compare commits

...
112 Commits
Author SHA1 Message Date
積丹尼 Dan Jacobson f450a64cb4 Update defmodel.rst (#3787)
Example causes scrolling horizontally, even on desktop.
2023-08-24 15:59:16 -05:00
積丹尼 Dan Jacobson b20aae20ea Update bertin1953.rst (#3788)
Remove src.
2023-08-24 15:59:02 -05:00
積丹尼 Dan Jacobson 409cff48b8 Update cass.rst (#3789)
- Less horizontal scrolling, which was seen even on desktop.
- Zapped default meter parameter.
2023-08-24 15:58:27 -05:00
積丹尼 Dan Jacobson a9da323d1d Update nzmg.rst (#3790)
Here I am taking a guess at which grid this is referring to and thus trying to make it clearer.
2023-08-24 15:58:08 -05:00
積丹尼 Dan Jacobson d0a9a98482 Update s2.rst (#3791)
Clean off testing residue.

Perhaps one day also hyperlink
"Quadrilateralized Spherical Cube"
page.
2023-08-24 15:57:54 -05:00
積丹尼 Dan Jacobson b54eb99f97 Update tmerc.rst (#3792)
Trimming defaults reduces horizontal scrolling.
2023-08-24 15:57:41 -05:00
積丹尼 Dan Jacobson 6af88b6597 Update unitconvert.rst (#3806)
Mention defaults.
I only listed the ones I know.
The rest I didn't list.
2023-08-24 15:52:28 -05:00
Even RouaultandMike Taves 4db9130122 ReadTheDocs: add htmlzip to offline formats; remove ePub (#3818)
Co-authored-by: Mike Taves <mwtoews@gmail.com>
2023-07-17 09:00:40 +12:00
Even RouaultandMike Taves eb218c715c plot.py: rewrite using shapely>=2 (#3814)
Co-authored-by: Mike Taves <mwtoews@gmail.com>
2023-07-07 06:25:42 +12:00
Kristian Evers df1e7abe85 Merge pull request #3803 from jidanni/patch-33
Update news.rst
2023-06-29 22:52:40 +02:00
積丹尼 Dan Jacobson 8baceca324 Update news.rst
Make case uniform.
2023-06-29 09:59:02 -05:00
Even Rouault 62fc59cd4c Merge pull request #3793 from jidanni/patch-32
Update calcofi.rst
2023-06-25 16:31:18 +02:00
Even Rouault 3105cb2f37 Merge pull request #3765 from jidanni/patch-5
Get rid of "src/" in ccon.rst
2023-06-25 16:29:24 +02:00
積丹尼 Dan Jacobson da726831e7 Update calcofi.rst
-121.15 degrees W. would be 121.15 degrees E.
2023-06-24 22:13:32 +08:00
積丹尼 Dan Jacobson 4b737da052 Get rid of "src/" in ccon.rst
P.S., one can even remove the quotes in "%E"... at least for Unix...
2023-06-23 21:15:39 +08:00
Mike Taves 0908dd5cac Docs: use conf_py_path for "Edit on GitHub" link 2023-06-20 06:29:50 +12:00
Even Rouault 317707f025 Merge pull request #3757 from jidanni/patch-8
Remove testing residue
2023-06-19 14:18:14 +02:00
積丹尼 Dan Jacobson 06fb22a68f Remove testing residue
Clean off testing residue.
2023-06-19 20:13:19 +08:00
Kristian Evers 6a8784f455 Merge pull request #3753 from OSGeo/kbevers-patch-1
docs: Point edit on GitHub button to 9.2 branch
2023-06-17 19:45:40 +02:00
Kristian Evers 0bd64ff83c docs: Point edit on GitHub button to 9.2 branch
Fixes #3751
2023-06-17 19:25:21 +02:00
Mike Taves c22e7856e3 Update CITATION.cff for 9.2.1 release 2023-06-01 23:43:55 +12:00
Mike Taves f87112ae18 CMake: add /disabled_workflows/ to CPACK_SOURCE_IGNORE_FILES [ci skip] 2023-06-01 20:25:03 +12:00
Kristian Evers 1615e1dcd4 Update website for 9.2.1 release 2023-06-01 09:40:36 +02:00
Mike Taves 21166b23fa Doc/CI: Transition to ReadTheDocs, clean-up previous methods
- Remove HTML references to PDF documentation
- Disable GitHub doc workflow
2023-06-01 11:05:28 +12:00
Kristian Evers 5405125a65 Update version numbers to 9.2.1 2023-05-24 20:56:15 +02:00
Kristian Evers b3ec502b5d Update NEWS for 9.2.1 release 2023-05-24 20:51:05 +02:00
Kristian Evers 151e921270 Update man-pages from Sphinx-docs 2023-05-24 20:51:05 +02:00
Kristian Evers e4454c08b3 Merge pull request #3740 from OSGeo/backport-3738-to-9.2
[Backport 9.2] Add Danish grid files to grid_alternatives
2023-05-24 15:28:29 +02:00
Kristian Evers 998c720fc4 Add Danish grid files to grid_alternatives 2023-05-24 11:18:30 +00:00
Even Rouault 4ef6a5a733 Merge pull request #3739 from OSGeo/backport-3736-to-9.2
[Backport 9.2] tinshift: raise maximum size of JSON file to 100 MB (fixes #3732)
2023-05-24 13:18:16 +02:00
Even Rouault 86f2c64263 tinshift: raise maximum size of JSON file to 100 MB (fixes #3732)
Loading a 60 MB JSON file takes ~ 3 seconds on a release build, and
consumes ~ 1.3 GB RAM according to Valgrind
2023-05-23 17:57:54 +00:00
Even Rouault 18807751f3 Merge pull request #3735 from rouault/backport_pr_3731
[Backport 9.2] Database: update to EPSG 10.088
2023-05-16 18:42:35 +02:00
Even Rouault 3f5e7fec20 Merge pull request #3734 from OSGeo/backport-3730-to-9.2
[Backport 9.2] proj_trans(): set PROJ_ERR_COORD_TRANSFM_NO_OPERATION error when failing in ONLY_BEST=YES mode
2023-05-16 18:41:59 +02:00
Even Rouault 6eedddcf8d Merge pull request #3733 from OSGeo/backport-3729-to-9.2
[Backport 9.2] cs2cs / proj_create_crs_to_crs(): fix regression with geocentric CRS
2023-05-16 18:41:28 +02:00
Even Rouault 3154661519 Add support for EPSG:1102 'Lambert Conic Conformal (1SP variant B)' method, and import related EPSG records 2023-05-16 11:58:20 +02:00
Even Rouault cbe58b8438 Database: update to EPSG 10.088
The import script has been modified to avoid import errors on the
following Danish CRS:
- Skipping EPSG:10258 GS reconstruction east-orientated as we do not handle yet projection method EPSG:1102 / Lambert Conic Conformal (1SP variant B)
- Skipping EPSG:10262 GSB reconstruction east-orientated as we do not handle yet projection method EPSG:1102 / Lambert Conic Conformal (1SP variant B)
- Skipping EPSG:10266 KK reconstruction east-orientated as we do not handle yet projection method EPSG:1102 / Lambert Conic Conformal (1SP variant B)
2023-05-16 11:58:19 +02:00
Even Rouault 7e5120b14a proj_trans(): set PROJ_ERR_COORD_TRANSFM_NO_OPERATION error when failing in ONLY_BEST=YES mode 2023-05-16 09:14:10 +00:00
Even Rouault e3a405023b cs2cs / proj_create_crs_to_crs(): fix regression with geocentric CRS
Related to use case of https://github.com/OSGeo/gdal/issues/7753

When a transformation involved a datum shift with a grid and a
geocentric CRS as source/target, since PROJ 9.2.0 and the changes for
the only_best mode, even in just warning mode, if the grid of the "best"
transformation was missing, then the transformation would completely
fail, whereas with earlier versions it would fallback to a ballpark
transformation. So restore that mode, and actually enhance the operation
selection logic, by allowing to select operations based on their area of
validity even if the input coordinate are geocentric (in which case a
conversion of them to geographic is done).
2023-05-16 09:14:07 +00:00
Even Rouault f645ffa366 Doc: proj_create_crs_to_crs_from_pj(): formatting fix 2023-05-13 13:12:07 +02:00
Even Rouault affc005e45 Merge pull request #3728 from OSGeo/backport-3727-to-9.2
[Backport 9.2] CRS instanciation from PROJ.4 string: set 'Unknown based on XXXX ellipsoid' datum name...
2023-05-13 12:09:27 +02:00
Even Rouault 94db72eb54 CRS instanciation from PROJ.4 string: set 'Unknown based on XXXX ellipsoid' datum name...
...when instanciating from known +a,+rf

and change WGS84 -> WGS 84 and GRS80 -> GRS 1980 to use EPSG names
when building from +ellps=WGS84/GRS80 (fixes #3725)

Now we get
```
$ bin/projinfo  "+proj=geos +lon_0=0 +h=35786400 +ellps=WGS84 +units=m +sweep=y +no_defs +type=crs"
PROJ.4 string:
+proj=geos +lon_0=0 +h=35786400 +x_0=0 +y_0=0 +ellps=WGS84 +units=m +no_defs +type=crs

WKT2:2019 string:
PROJCRS["unknown",
    BASEGEOGCRS["unknown",
        DATUM["Unknown based on WGS 84 ellipsoid",
            ELLIPSOID["WGS 84",6378137,298.257223563,
                LENGTHUNIT["metre",1],
                ID["EPSG",7030]]],
        PRIMEM["Greenwich",0,
            ANGLEUNIT["degree",0.0174532925199433],
            ID["EPSG",8901]]],
    CONVERSION["unknown",
        METHOD["Geostationary Satellite (Sweep Y)"],
        PARAMETER["Longitude of natural origin",0,
            ANGLEUNIT["degree",0.0174532925199433],
            ID["EPSG",8802]],
        PARAMETER["Satellite Height",35786400,
            LENGTHUNIT["metre",1,
                ID["EPSG",9001]]],
        PARAMETER["False easting",0,
            LENGTHUNIT["metre",1],
            ID["EPSG",8806]],
        PARAMETER["False northing",0,
            LENGTHUNIT["metre",1],
            ID["EPSG",8807]]],
    CS[Cartesian,2],
        AXIS["(E)",east,
            ORDER[1],
            LENGTHUNIT["metre",1,
                ID["EPSG",9001]]],
        AXIS["(N)",north,
            ORDER[2],
            LENGTHUNIT["metre",1,
                ID["EPSG",9001]]]]

$ bin/projinfo  "+proj=geos +lon_0=0 +h=35786400 +a=6378137.0 +rf=298.257223563 +units=m +sweep=y +no_defs +type=crs"
PROJ.4 string:
+proj=geos +lon_0=0 +h=35786400 +x_0=0 +y_0=0 +ellps=WGS84 +units=m +no_defs +type=crs

WKT2:2019 string:
PROJCRS["unknown",
    BASEGEOGCRS["unknown",
        DATUM["Unknown based on WGS 84 ellipsoid",
            ELLIPSOID["WGS 84",6378137,298.257223563,
                LENGTHUNIT["metre",1,
                    ID["EPSG",9001]]]],
        PRIMEM["Greenwich",0,
            ANGLEUNIT["degree",0.0174532925199433],
            ID["EPSG",8901]]],
    CONVERSION["unknown",
        METHOD["Geostationary Satellite (Sweep Y)"],
        PARAMETER["Longitude of natural origin",0,
            ANGLEUNIT["degree",0.0174532925199433],
            ID["EPSG",8802]],
        PARAMETER["Satellite Height",35786400,
            LENGTHUNIT["metre",1,
                ID["EPSG",9001]]],
        PARAMETER["False easting",0,
            LENGTHUNIT["metre",1],
            ID["EPSG",8806]],
        PARAMETER["False northing",0,
            LENGTHUNIT["metre",1],
            ID["EPSG",8807]]],
    CS[Cartesian,2],
        AXIS["(E)",east,
            ORDER[1],
            LENGTHUNIT["metre",1,
                ID["EPSG",9001]]],
        AXIS["(N)",north,
            ORDER[2],
            LENGTHUNIT["metre",1,
                ID["EPSG",9001]]]]
```
2023-05-12 16:16:20 +00:00
Even Rouault 553ce561dc Merge pull request #3726 from OSGeo/backport-3724-to-9.2
[Backport 9.2] Fix unreleased regression related to 78d563c97f, that caused GDAL's test_gdalwarp_lib_135 test to fail
2023-05-12 18:15:33 +02:00
Even Rouault d6c756ad6a Fix unreleased regression related to 78d563c97f, that caused GDAL's test_gdalwarp_lib_135 test to fail 2023-05-11 09:37:12 +00:00
Even Rouault f3f6f8f9de Merge pull request #3723 from OSGeo/backport-3720-to-9.2
[Backport 9.2] ESRI WKT: improve roundtrip of name and definition for UPS WGS84 CRS
2023-05-11 11:36:33 +02:00
Even Rouault dc666ad4d5 WKT ESRI: recognize Polar_Stereographic_Variant_A method name which is used in the official ESRI formulation of EPSG:5041 and EPSG:5042 2023-05-09 12:54:11 +00:00
Even Rouault a2fc302a1d Import from ESRI WKT: remove special case of renaming UPS_North / UPS_South which appears to be undesirable 2023-05-09 12:54:11 +00:00
Even Rouault 67c49f2f29 Merge pull request #3722 from OSGeo/backport-3721-to-9.2
[Backport 9.2] Database: update to EPSG 10.087
2023-05-09 11:52:56 +02:00
Even Rouault 6e4cc1e4c3 Database: update to EPSG 10.087 2023-05-09 00:03:45 +00:00
Even Rouault 13500a220e Merge pull request #3716 from OSGeo/backport-3715-to-9.2
[Backport 9.2] Database: update to EPSG 10.086
2023-04-30 15:25:51 +02:00
Even Rouault 3ca6753005 Database: update to EPSG 10.086 2023-04-30 12:03:01 +00:00
Even RouaultandMike Taves 37a6994c5f [Backport 9.2] CI: upgrade vcpkg tag used for AppVeyor; use --triplet option (#3713)
* CI: upgrade vcpkg tag used for AppVeyor; use --triplet option

* resolve MSVC warnings C4800

---------

Co-authored-by: Mike Taves <mwtoews@gmail.com>
2023-05-01 00:00:09 +12:00
Even Rouault 94db5ee907 Merge pull request #3708 from OSGeo/backport-3707-to-9.2
[Backport 9.2] proj_create_crs_to_crs(): restore behaviour of PROJ 9.1
2023-04-20 00:45:27 +02:00
Even Rouault 8391f17a3c proj_create_crs_to_crs(): restore behaviour of PROJ 9.1
Fixes https://lists.osgeo.org/pipermail/proj/2023-April/011003.html
that is ``cs2cs EPSG:4326+5773 EPSG:4326+5782`` without grids available.

Fixes situations where getting operations in PROJ_GRID_AVAILABILITY_KNOWN_AVAILABLE
mode returns one single gridded operations where the grid isn't available or
a ballpark operation.
We retry in PROJ_GRID_AVAILABILITY_DISCARD_OPERATION_IF_MISSING_GRID
mode to get a potential ballpark operation.

Follow-up to similar fix of https://github.com/OSGeo/PROJ/pull/3614
2023-04-19 20:01:22 +00:00
Even Rouault fa6dbddd53 DatabaseContext::lookForGridInfo(): deal with special 'null' grid 2023-04-19 20:01:22 +00:00
Even Rouault adb8ca1543 createOperationsVertToVert(): assign an extent 2023-04-19 20:01:22 +00:00
Even Rouault 186482d366 Merge pull request #3704 from OSGeo/backport-3645-to-9.2
[Backport 9.2] Adds Pseudo Mercator to build_db_from_iau.py
2023-04-07 21:53:55 +02:00
Even Rouault 2cacaccf00 Database: refresh IAU CRS with addition of Pseudo Mercator ones 2023-04-07 18:03:17 +00:00
Andrew Annex 7f5b81e1be Adds Pseudo Mercator to build_db_from_iau.py
Note there is some inconsistency with hyphenation of "Pseudo-Mercator"
so this may need a double check, but I believe what I have is consistent
with EPSG:3857 WKT2:2019 representation.
2023-04-07 18:03:17 +00:00
Even Rouault 54f064407a Merge pull request #3703 from OSGeo/backport-3697-to-9.2
[Backport 9.2] CMake: avoid imbalanced cmake_policy push/pop if TIFF or CURL dependency cannot be found (fixes #3696)
2023-04-07 20:03:02 +02:00
Even Rouault 6915c6811d Merge pull request #3701 from OSGeo/backport-3700-to-9.2
[Backport 9.2] Fix typo "geograpic" -> "geographic" in logging/error output
2023-04-06 22:09:15 +02:00
Even Rouault 007bdae32b Merge pull request #3699 from OSGeo/backport-3695-to-9.2
[Backport 9.2] PROJJSON: fix import/export of integer parameter value, and deal with…
2023-04-06 22:08:53 +02:00
Even Rouault 2304078113 CMake: avoid imbalanced cmake_policy push/pop if TIFF or CURL dependency cannot be found (fixes #3696) 2023-04-06 20:08:43 +00:00
Even Rouault f628b2d16a Merge pull request #3698 from OSGeo/backport-3694-to-9.2
[Backport 9.2] Database: register grids for New Caledonia (added per https://github.com/OSGeo/PROJ-data/pull/99) and tune createOperations()
2023-04-06 22:08:26 +02:00
Hannes b26d5e7724 Fix typo "geograpic" -> "geographic" in logging/error output 2023-04-05 09:33:08 +00:00
Even Rouault 5f73421239 PROJJSON: fix import/export of integer parameter value, and deal with interpolation CRS parameters in conversions (fixes #3689) 2023-04-04 09:35:22 +00:00
Even Rouault 2bebb6bdf2 createOperations(): tune to get better results in some cases, typically RGNC91-93 to RGNC15 2023-04-04 09:34:56 +00:00
Even Rouault 819a3d28ee Database: register grids for New Caledonia (added per https://github.com/OSGeo/PROJ-data/pull/99) 2023-04-04 09:34:56 +00:00
Even Rouault 561722c802 Merge pull request #3693 from OSGeo/backport-3692-to-9.2
[Backport 9.2] Database: update to EPSG 10.085
2023-04-02 15:26:38 +02:00
Even Rouault a19be87d42 Database: update to EPSG 10.085 2023-04-01 18:48:52 +00:00
Even Rouault d08d94b7b5 Merge pull request #3691 from OSGeo/backport-3685-to-9.2
[Backport 9.2] EngineeringCRS: make proj_create_engineering_crs() set a datum name, …
2023-04-01 19:46:33 +02:00
Even Rouault 1a8b8c2571 Merge pull request #3690 from OSGeo/backport-3686-to-9.2
[Backport 9.2] Database: register Hessen HeTA2010 grid (cf OSGeo/PROJ-data#98)
2023-04-01 19:46:19 +02:00
Even Rouault cb79c5c4c8 EngineeringCRS: make proj_create_engineering_crs() set a datum name, and relax isEquivalentTo() comparisons to deal with case of https://github.com/r-spatial/sf/issues/2049#issuecomment-1486600723 2023-04-01 15:38:07 +00:00
Even Rouault 911ff226bd Database: register Hessen HeTA2010 grid (cf OSGeo/PROJ-data#98) 2023-04-01 15:37:57 +00:00
Kristian Evers 54c01de745 Merge pull request #3684 from OSGeo/backport-3683-to-9.2
[Backport 9.2] Update helmert.rst
2023-03-28 10:37:34 +02:00
Kristian Evers 33a18a9f82 Merge pull request #3683 from tomkom/patch-1
Update helmert.rst
2023-03-28 05:39:41 +00:00
Even Rouault 39bf2602ee Merge pull request #3681 from OSGeo/backport-3678-to-9.2
[Backport 9.2] Database: add alias for old ESRI datum/CRS names of EPSG:8353 S_JTSK_JTSK03_Krovak_East_North
2023-03-25 17:09:03 +01:00
Even Rouault c53b06c03f Database: add alias for old ESRI datum/CRS names of EPSG:8353 S_JTSK_JTSK03_Krovak_East_North
Fixes https://github.com/OSGeo/gdal/issues/7505
2023-03-24 13:59:16 +00:00
Even Rouault 5251fc16c5 Merge pull request #3679 from OSGeo/backport-3674-to-9.2
[Backport 9.2] Doc: fix search functionnality
2023-03-24 14:56:02 +01:00
Even Rouault 7b12add6a5 Doc: fix search functionnality 2023-03-24 00:53:53 +00:00
Even Rouault 3af9f4a6c8 Merge pull request #3677 from OSGeo/backport-3673-to-9.2
[Backport 9.2] Coord. operation factory: count identified concatenated operations as a single step
2023-03-24 01:29:30 +01:00
Even Rouault c5042c26c2 Merge pull request #3676 from OSGeo/backport-3672-to-9.2
[Backport 9.2] WKT/PROJJSON: import/export accuracy of ConcatenatedOperation
2023-03-24 01:29:16 +01:00
Even Rouault e8aeb2c38e Merge pull request #3675 from OSGeo/backport-3668-to-9.2
[Backport 9.2] vgridshift/gridshift: accept hydroid_height as valid band description
2023-03-24 01:29:03 +01:00
Even Rouault 58f618f9b2 Coord. operation factory: count identified concatenated operations as a single step 2023-03-22 19:37:29 +00:00
Even Rouault 057bbd94e5 WKT/PROJJSON: import/export accuracy of ConcatenatedOperation
Bump PROJJSON spec to v0.7
2023-03-22 19:36:55 +00:00
Even Rouault 978c68a53c vgridshift/gridshift: accept hydroid_height as valid band description 2023-03-22 19:36:23 +00:00
Even Rouault 8168911b71 Merge pull request #3667 from OSGeo/backport-3665-to-9.2
[Backport 9.2] Use ghcr.io/osgeo/proj-docs as Docker hub is sunsetting free organizations (refs OSGeo/gdal#7447)
2023-03-22 13:40:52 +01:00
Even Rouault 88bd56fdf1 Use ghcr.io/osgeo/proj-docs as Docker hub is sunsetting free organizations (refs OSGeo/gdal#7447) 2023-03-16 20:23:10 +00:00
Even Rouault 1ef29f0df3 Merge pull request #3662 from OSGeo/backport-3661-to-9.2
[Backport 9.2] [Performance regression fix] Fix slowness on proj_trans() on WGS 84 <--> NAD83 conversions
2023-03-11 16:21:41 +01:00
Even Rouault c7f93e2a45 Merge pull request #3661 from rouault/fix_slow_proj_trans
[Performance regression fix] Fix slowness on proj_trans() on WGS 84 <--> NAD83 conversions
2023-03-11 14:34:15 +00:00
Even Rouault 1bb2656053 Merge pull request #3659 from OSGeo/backport-3656-to-9.2
[Backport 9.2] PROJ string CRS parser: make sure that PROJ arguments of the rotated …
2023-03-09 22:00:14 +01:00
Mike Taves 25989ecebf CI: update other actions, use apt-get for scripts 2023-03-10 09:44:27 +13:00
Even Rouault 4e26f04d74 Merge pull request #3656 from rouault/fix_3654
PROJ string CRS parser: make sure that PROJ arguments of the rotated …
2023-03-09 17:20:17 +00:00
Even Rouault 70ad5fdedc Merge pull request #3655 from OSGeo/backport-3652-to-9.2
[Backport 9.2] proj_create_operations(): fix documentation related to 3D transformations (fixes #3651)
2023-03-09 18:19:49 +01:00
Mike Taves 6cc37d9416 CI: update ubuntu images, actions/checkout, actions/cache, unique job IDs (#3657) 2023-03-09 13:14:20 +13:00
Even Rouault e74509d267 Merge pull request #3652 from rouault/fix_3651
proj_create_operations(): fix documentation related to 3D transformations (fixes #3651)
2023-03-08 20:21:43 +00:00
Even Rouault 0005cb6f9a Merge pull request #3650 from OSGeo/backport-3646-to-9.2
[Backport 9.2] Database: update to EPSG 10.084
2023-03-07 15:10:05 +01:00
Even Rouault 01860d683d Merge pull request #3646 from rouault/epsg_10_084
Database: update to EPSG 10.084
2023-03-07 14:07:34 +00:00
Even Rouault 6b3109040d Merge pull request #3647 from OSGeo/backport-3643-to-9.2
[Backport 9.2] Database: update to EPSG 10.083
2023-03-07 11:46:43 +01:00
Even Rouault 0bdccde72e Merge pull request #3643 from rouault/epsg_10_083
Database: update to EPSG 10.083
2023-03-07 10:15:38 +00:00
Even Rouault de36b52eca Merge pull request #3644 from OSGeo/backport-3642-to-9.2
[Backport 9.2] Fix build errors with Cygwin (fixes #3639)
2023-03-07 10:41:58 +01:00
Even Rouault 438c5494c7 Merge pull request #3642 from rouault/fix_3639
Fix build errors with Cygwin (fixes #3639)
2023-03-05 23:14:11 +00:00
Even Rouault 876d6f4caa testvarious: do not output program name / version number 2023-03-05 18:06:34 +01:00
Kristian Evers ecf783a16b Make sure docs are deployed from 9.2 branch 2023-03-01 10:58:30 +01:00
Kristian Evers 4a7fbe48b4 Update website for 9.2.0 release 2023-03-01 10:51:44 +01:00
Even Rouault 861a85d300 Merge pull request #3638 from OSGeo/backport-3636-to-9.2
[Backport 9.2] WKT_ESRI export: do not export NAD83 3D as NAD83(HARN)
2023-02-23 21:29:15 +01:00
Even Rouault 01c14c763a Merge pull request #3636 from rouault/nad83_3d_as_wkt1_esri
WKT_ESRI export: do not export NAD83 3D as NAD83(HARN)
2023-02-23 20:03:16 +00:00
Even Rouault db219196de Merge pull request #3637 from OSGeo/backport-3635-to-9.2
[Backport 9.2] Database: add explicit casts to make sure all arms of columns selected by views have the same type affinity
2023-02-23 20:02:51 +01:00
Even Rouault f6a742312b Merge pull request #3635 from rouault/fix_3629
Database: add explicit casts to make sure all arms of columns selected by views have the same type affinity
2023-02-23 18:37:21 +00:00
Even Rouault d1abf4d5cb Merge pull request #3634 from OSGeo/backport-3633-to-9.2
[Backport 9.2] JSON/WKT: avoid precision issues on non-Intel architectures on coordinate epochs (fixes #3632)
2023-02-23 17:47:46 +01:00
Even Rouault 7848a25e56 Merge pull request #3633 from rouault/fix_3632
JSON/WKT: avoid precision issues on non-Intel architectures on coordinate epochs (fixes #3632)
2023-02-23 16:15:18 +00:00
Even Rouault b5910c8744 Merge pull request #3631 from OSGeo/backport-3630-to-9.2
[Backport 9.2] NEWS: move bug fix mention from 9.1.1 to 9.2.0
2023-02-22 16:28:56 +01:00
Even Rouault d8f82c1707 Merge pull request #3630 from rouault/NEWS_fix
NEWS: move bug fix mention from 9.1.1 to 9.2.0
2023-02-22 15:23:04 +00:00
125 changed files with 4502 additions and 1251 deletions
+1 -1
View File
@@ -7,7 +7,7 @@ on:
jobs:
backport:
runs-on: ubuntu-18.04
runs-on: ubuntu-latest
name: Backport
steps:
- name: Backport Bot
+1 -1
View File
@@ -26,7 +26,7 @@ jobs:
fuzz-seconds: 600
dry-run: false
- name: Upload Crash
uses: actions/upload-artifact@v1
uses: actions/upload-artifact@v3
if: failure() && steps.build.outcome == 'success'
with:
name: artifacts
+2 -2
View File
@@ -20,10 +20,10 @@ jobs:
if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')"
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v3
- name: Cache
uses: actions/cache@v2
uses: actions/cache@v3
id: cache
with:
path: |
@@ -2,7 +2,7 @@
set -e
sudo apt update
sudo apt-get update
DEBIAN_FRONTEND=noninteractive sudo apt-get install -y --no-install-recommends \
g++ cmake make sqlite3 libsqlite3-dev libtiff-dev libcurl4-openssl-dev jq
+7 -7
View File
@@ -14,17 +14,17 @@ concurrency:
jobs:
cppcheck_2004:
runs-on: ubuntu-20.04
cppcheck_2204:
runs-on: ubuntu-22.04
if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')"
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v3
- name: Install Requirements
run: |
sudo apt update
sudo apt install -y --no-install-recommends cppcheck
sudo apt-get update
sudo apt-get install -y --no-install-recommends cppcheck
- name: Run cppcheck test
run: ./scripts/cppcheck.sh
@@ -33,11 +33,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v3
- name: Install Requirements
run: |
sudo apt install python3-pip
sudo apt-get install python3-pip
sudo pip3 install cffconvert
- name: Validate citation file
+5 -5
View File
@@ -11,7 +11,7 @@ concurrency:
cancel-in-progress: true
jobs:
build:
conda:
name: Conda ${{ matrix.platform }}
if: github.repository == 'OSGeo/PROJ'
@@ -25,12 +25,12 @@ jobs:
PLATFORM: ${{ matrix.platform }}
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- uses: conda-incubator/setup-miniconda@v2
with:
channels: conda-forge
auto-update-conda: true
miniforge-variant: Mambaforge
miniforge-version: latest
- name: Setup
shell: bash -l {0}
@@ -44,7 +44,7 @@ jobs:
working-directory: ./proj.4-feedstock
- uses: actions/upload-artifact@v2
- uses: actions/upload-artifact@v3
with:
name: ${{ matrix.platform }}-conda-package
path: ./proj.4-feedstock/packages/
+4 -4
View File
@@ -1,4 +1,4 @@
name: coverity-scan
name: Coverity scan
# Controls when the action will run.
on:
@@ -11,11 +11,11 @@ on:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
build:
runs-on: ubuntu-20.04
coverity:
runs-on: ubuntu-22.04
if: github.repository == 'OSGeo/PROJ'
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Install Libraries
run: |
+5 -5
View File
@@ -33,7 +33,7 @@ jobs:
PUSH_PACKAGES: ${{ github.repository_owner == 'OSGeo' && github.event_name != 'pull_request' }}
CONTAINER: ${{ matrix.container }}
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Lint
id: lint
run: |
@@ -42,19 +42,19 @@ jobs:
echo "ref" ${{ github.ref }}
- name: Setup Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v1
uses: docker/setup-buildx-action@v2
with:
version: latest
- if: ${{ env.PUSH_PACKAGES == 'true' }}
name: Login to GitHub Container Registry
uses: docker/login-action@v1
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GHCR_TOKEN }}
- if: ${{ env.PUSH_PACKAGES == 'true' }}
name: Login to Docker Hub
uses: docker/login-action@v1
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
@@ -68,7 +68,7 @@ jobs:
echo ::set-output name=BUILD_DATE::$(date -u +'%Y-%m-%dT%H:%M:%SZ')
echo ::set-output name=VERSION::${VERSION}
- name: Build image
uses: docker/build-push-action@v2
uses: docker/build-push-action@v4
with:
push: ${{ env.PUSH_PACKAGES == 'true' }}
builder: ${{ steps.buildx.outputs.name }}
+2 -2
View File
@@ -19,10 +19,10 @@ jobs:
if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')"
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v3
- name: Cache
uses: actions/cache@v2
uses: actions/cache@v3
id: cache
with:
path: |
+2 -2
View File
@@ -19,10 +19,10 @@ jobs:
if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')"
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v3
- name: Cache
uses: actions/cache@v2
uses: actions/cache@v3
id: cache
with:
path: |
+2 -2
View File
@@ -19,7 +19,7 @@ jobs:
if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')"
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- uses: conda-incubator/setup-miniconda@v2
with:
@@ -28,7 +28,7 @@ jobs:
use-mamba: true
- name: Cache
uses: actions/cache@v2
uses: actions/cache@v3
id: cache
with:
path: ${{ github.workspace }}/.ccache
+2 -2
View File
@@ -19,10 +19,10 @@ jobs:
if: "!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')"
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v3
- name: Cache
uses: actions/cache@v2
uses: actions/cache@v3
id: cache
with:
path: |
+5 -7
View File
@@ -32,11 +32,11 @@ jobs:
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- uses: ilammy/msvc-dev-cmd@v1
- name: Cache vcpkg packages
uses: actions/cache@v2
uses: actions/cache@v3
id: cache
with:
path: c:\vcpkg\installed
@@ -46,9 +46,7 @@ jobs:
shell: cmd
if: steps.cache.outputs.cache-hit != 'true'
run: |
vcpkg install sqlite3[core,tool]:${{ env.ARCH }}-windows
vcpkg install tiff:${{ env.ARCH }}-windows
vcpkg install curl:${{ env.ARCH }}-windows
vcpkg install sqlite3[core,tool] tiff curl --triplet=${{ env.ARCH }}-windows
- name: Build
shell: cmd
@@ -103,10 +101,10 @@ jobs:
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Cache
uses: actions/cache@v2
uses: actions/cache@v3
id: cache
with:
path: ~/.ccache
+1 -1
View File
@@ -30,8 +30,8 @@ build:
- libcurl4-openssl-dev
formats:
- htmlzip
- pdf
- epub
conda:
environment: docs/environment.yml
+2 -2
View File
@@ -2,8 +2,8 @@ cff-version: 1.2.0
message: Please cite this software using these metadata or in the CITATION file.
type: software
title: PROJ
version: 9.2.0
date-released: 2023-03-01
version: 9.2.1
date-released: 2023-06-01
doi: 10.5281/zenodo.5884394
abstract: PROJ is a generic coordinate transformation software that transforms
geospatial coordinates from one coordinate reference system (CRS) to another.
+2 -1
View File
@@ -115,7 +115,7 @@ message(STATUS "Configuring PROJ:")
#PROJ version information
################################################################################
include(ProjVersion)
proj_version(MAJOR 9 MINOR 2 PATCH 0)
proj_version(MAJOR 9 MINOR 2 PATCH 1)
set(PROJ_SOVERSION 25)
set(PROJ_BUILD_VERSION "${PROJ_SOVERSION}.${PROJ_VERSION}")
@@ -364,6 +364,7 @@ set(CPACK_SOURCE_IGNORE_FILES
/autom4te\\.cache
/CODE_OF_CONDUCT.md
/CONTRIBUTING.md
/disabled_workflows/
/Dockerfile
/docs/
/Doxyfile
+57 -2
View File
@@ -1,3 +1,59 @@
9.2.1 Release Notes
-------------------
Database updates
--------
o Add alias for old ESRI datum/CRS names of EPSG:8353
S_JTSK_JTSK03_Krovak_East_North (#3678)
o Pseudo Mercator now supported with IAU CRS's (#3645)
o Updated to EPSG 10.088 (#3731)
Bug fixes
----------
o Fixed build errors with Cygwin (#3642)
o PROJ string CRS parser: make sure that PROJ arguments of the rotated
string are kept in the WKT representation (#3656)
o Fix slowness on proj_trans() when doing WGS 84 <--> NAD83 conversions (#3661)
o vgridshift/gridshift: accept hydroid_height as valid band description (#3675)
o WKT/PROJJSON: import/export accuracy of ConcatenatedOperation (#3676)
o Coordinate operation factory: count identified concatenated operations as a
single step (#3677)
o EngineeringCRS: make proj_create_engineering_crs() set a datum name
and relax isEquivalentTo() comparisons (#3685)
o PROJJSON: fix import/export of integer parameter value, and deal with
interpolation CRS parameters in conversions (#3695)
o CMake: avoid imbalanced cmake_policy push/pop if TIFF or CURL dependency
cannot be found (#3697)
o proj_create_crs_to_crs(): restore transformation selection behaviour
of PROJ 9.1 when grids are missing (#3707)
o ESRI WKT: improve roundtrip of name and definition for UPS WGS84 CRS (#3720)
o CRS instanciation from PROJ.4 string: set 'Unknown based on XXXX ellipsoid'
datum name when instanciating from known +a, +rf (#3727)
o cs2cs / proj_create_crs_to_crs(): fix regression with geocentric CRS (#3729)
o proj_trans(): set PROJ_ERR_COORD_TRANSFM_NO_OPERATION error when failing
in ONLY_BEST=YES mode (#3730)
o tinshift: raise maximum size of JSON file to 100 MB (#3736)
9.2.0 Release Notes
-------------------
@@ -144,6 +200,7 @@
o WKT1 parser: only emit warning when encountering invalid UNKNOWN WKT1 axis direction (#3618)
o projinfo: fix long option name --source-crs (#3601)
9.1.1 Release Notes
@@ -208,8 +265,6 @@
o Link geodtest against libm when available (#3341)
o projinfo: fix long option name --source-crs (#3601)
9.1.0 Release Notes
-------------------
+2 -2
View File
@@ -31,10 +31,10 @@ build_script:
# The checkout of a precise sha1 for VS2015 is a workaround for https://github.com/microsoft/vcpkg/issues/11666
- if not exist %VCPKG_INSTALLED%\bin (
cd "%VCPKG_ROOT%" &
git fetch --depth=1 origin 2022.04.12 &
git fetch --depth=1 origin 2023.04.15 &
(if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2015" (git -c advice.detachedHead=false checkout FETCH_HEAD)) &
.\bootstrap-vcpkg.bat -disableMetrics &
vcpkg install curl sqlite3[core,tool] tiff &
vcpkg install sqlite3[core,tool] tiff curl --triplet=%platform%-windows &
cd %APPVEYOR_BUILD_FOLDER%
)
- dir %VCPKG_INSTALLED%\bin
+14 -2
View File
@@ -13,12 +13,25 @@ endif()
include(CMakeFindDependencyMacro)
# We cannot have a find_dependency() call between cmake_policy(PUSH)/cmake_policy(POP)
# because find_dependency() issues a return() on failure, which results in
# imbalanced push/pop
# Cf https://gitlab.kitware.com/cmake/cmake/-/issues/17612
cmake_policy(PUSH)
cmake_policy(SET CMP0012 NEW)
if("@ENABLE_TIFF@")
find_dependency(TIFF)
set(PROJ_CONFIG_FIND_TIFF_DEP ON)
endif()
if("@CURL_ENABLED@")
set(PROJ_CONFIG_FIND_CURL_DEP ON)
endif()
cmake_policy(POP)
if(DEFINED PROJ_CONFIG_FIND_TIFF_DEP)
find_dependency(TIFF)
endif()
if(DEFINED PROJ_CONFIG_FIND_CURL_DEP)
# Chainload CURL usage requirements
find_dependency(CURL)
# Target CURL::libcurl only defined since CMake 3.12
@@ -30,7 +43,6 @@ if("@CURL_ENABLED@")
)
endif()
endif()
cmake_policy(POP)
function(set_variable_from_rel_or_absolute_path var root rel_or_abs_path)
if(IS_ABSOLUTE "${rel_or_abs_path}")
+3 -2
View File
@@ -1,7 +1,7 @@
{
"$id": "https://proj.org/schemas/v0.6/projjson.schema.json",
"$id": "https://proj.org/schemas/v0.7/projjson.schema.json",
"$schema": "http://json-schema.org/draft-07/schema#",
"description": "Schema for PROJJSON (v0.6)",
"description": "Schema for PROJJSON (v0.7)",
"$comment": "This file exists both in data/ and in schemas/vXXX/. Keep both in sync. And if changing the value of $id, change PROJJSON_DEFAULT_VERSION accordingly in io.cpp",
"oneOf": [
@@ -177,6 +177,7 @@
"type": "array",
"items": { "$ref": "#/definitions/single_operation" }
},
"accuracy": { "type": "string" },
"$schema" : {},
"scope": {},
"area": {},
+54 -4
View File
@@ -172,7 +172,7 @@ INSERT INTO "alias_name" VALUES('vertical_datum','EPSG','5156','Reunion 1989','E
INSERT INTO "alias_name" VALUES('vertical_datum','EPSG','5156','IGN89','EPSG');
INSERT INTO "alias_name" VALUES('vertical_datum','EPSG','5155','IGN 1988','EPSG');
INSERT INTO "alias_name" VALUES('vertical_datum','EPSG','5154','IGN87','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','6661','LKS92','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','6661','LKS-92','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','6615','Madeira SE Base','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','6665','Graciosa','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','6665','Azores Central 1995','EPSG');
@@ -699,6 +699,19 @@ INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1344','OxWo08-IRF','EPS
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1334','DoPw22-IRF','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1335','ShAb07-IRF','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1351','SMITB20-IRF','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1353','ETRS89/DREF91/2016','EPSG');
INSERT INTO "alias_name" VALUES('vertical_datum','EPSG','1354','NGA 2022','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1355','RGSH2020','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','6661','Latvia 1992','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1356','LKS-2020','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1357','RGNC15','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1346','S45B-IRF','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1347','GS-IRF','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1348','GSB-IRF','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1349','KK-IRF','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1350','Ostenfeld-IRF','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1332','S34J-IRF','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_datum','EPSG','1337','S34S-IRF','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','21100','Genuk / NEIEZ','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2140','NAD83(CSRS98) / SCoPQ zone 3','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','2141','NAD83(CSRS98) / SCoPQ zone 4','EPSG');
@@ -1756,7 +1769,7 @@ INSERT INTO "alias_name" VALUES('projected_crs','EPSG','25884','LKS94 / TM Balti
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','25884','EST97 / TM Baltic93','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3300','EST92','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3301','EST97','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3059','LKS92','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3059','LKS92 / Latvia TM','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','4131','Indian (DMA Reduced)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3176','Indian (DMA Reduced) / TM 106 NE','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3148','Indian (DMA Reduced) / UTM zone 48N','EPSG');
@@ -2285,7 +2298,7 @@ INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3401','NAD83 / 10TM AEP
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3403','NAD83 / 10TM AEP Resource','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3402','NAD83 / 10TM AEP Forest','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3854','ST74 0 gon 65:-1','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3163','RGNC / Lambert New Caledonia','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3163','Lambert NC91','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','4298','Timbalai 1968','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','4298','BT68','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','29849','BT68 / UTM zone 49N','EPSG');
@@ -3626,7 +3639,6 @@ INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3159','NAD83(CSRS) / UTM
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3160','NAD83(CSRS) / UTM 16N','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3161','NAD83 / Ontario MNR LCC','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3162','NAD83(CSRS) / ON MNR LCC','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3163','RGNC / LCC New Caledonia','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3164','ST87 Ouvea / UTM 58S','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3165','NEA74 Noumea / LCC','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3166','NEA74 Noumea / LCC2','EPSG');
@@ -7299,6 +7311,7 @@ INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3106','Gulshan 303 / BUT
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','9678','Gulshan / Bangladesh TM','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','9680','WGS 84 / Bangladesh Universal Transverse Mercator','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','9680','WGS 84 / BUTM 2010','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','9549','LTF2004(G) / LTF2004(C)','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','6893','WGS 84 / World Mercator + EGM2008 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','7955','St. Helena Tritan / UTM zone 30S + Tritan 2011 height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','7956','SHMG2015 + SHVD2015 height','EPSG');
@@ -7835,3 +7848,40 @@ INSERT INTO "alias_name" VALUES('projected_crs','EPSG','10275','ETRS89 / SMITB20
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','10276','ETRS89 / SMITB20 SnakeGrid + Newlyn height','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','10280','ETRS89 / RBEPP12 SnakeGrid','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','10281','ETRS89 / RBEPP12 SnakeGrid + Newlyn height','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','10284','ETRS89/DREF91/R16','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','10286','ETRS89/DREF91/R16 / UTM 31(N-zE)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','10287','ETRS89/DREF91/R16 / UTM 31(zE-N)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','10288','ETRS89/DREF91/R16 / UTM 32(N-zE)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','10289','ETRS89/DREF91/R16 / UTM 32(zE-N)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','10290','ETRS89/DREF91/R16 / UTM 33(N-zE)','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','10291','ETRS89/DREF91/R16 / UTM 33(zE-N)','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','10298','REPANGOL','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','4948','LKS92','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','4949','LKS92','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','4661','LKS92','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','3059','LKS-92 TM','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','10306','LKS-2020 TM','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','10176','980','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','10176','IGS20 - XYZ','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','10177','981','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','10177','IGS20 - LatLonEHt','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','10178','982','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','10178','IGS20 - LatLon','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','10285','ETRS89/DREF91/R16 / 3GK zn3','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','4749','RGNC91-93 (lat-lon)','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','4907','RGNC91-93 (lat-lon)','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','10309','RGNC15 (lat-lon)','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','10310','RGNC15 (lat-lon)','EPSG');
INSERT INTO "alias_name" VALUES('vertical_crs','EPSG','9351','NGNC height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','9540','RGNC91-93 + NGNC height','EPSG');
INSERT INTO "alias_name" VALUES('compound_crs','EPSG','10318','RGNC15 (lon-lat) + NGNC height','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','10314','Lambert NC15','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','10315','RGNC / UTM zone 57S','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','10316','RGNC / UTM zone 58S','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','10160','System 34 Jylland, østvendt','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','10250','System 34 Sjælland, østvendt','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','10254','System 45 Bornholm, østvendt','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','10262','Generalstabens System Bornholm, østvendt','EPSG');
INSERT INTO "alias_name" VALUES('geodetic_crs','EPSG','10268','OS-IRF','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','10258','Generalstabens System, østvendt','EPSG');
INSERT INTO "alias_name" VALUES('projected_crs','EPSG','10266','Københavns Kommunes System, østvendt','EPSG');
+5 -1
View File
@@ -732,7 +732,7 @@ INSERT INTO "compound_crs" VALUES('EPSG','9920','OSGB36 / British National Grid
INSERT INTO "usage" VALUES('EPSG','17332','compound_crs','EPSG','9920','EPSG','4390','EPSG','1026');
INSERT INTO "compound_crs" VALUES('EPSG','9922','ETRS89 / ITM + BI height',NULL,'EPSG','2157','EPSG','9451',0);
INSERT INTO "usage" VALUES('EPSG','17338','compound_crs','EPSG','9922','EPSG','1305','EPSG','1026');
INSERT INTO "compound_crs" VALUES('EPSG','9924','ETRS89 + DHHN2016 height',NULL,'EPSG','4258','EPSG','7837',0);
INSERT INTO "compound_crs" VALUES('EPSG','9924','ETRS89 + DHHN2016 height',NULL,'EPSG','4258','EPSG','7837',1);
INSERT INTO "usage" VALUES('EPSG','17168','compound_crs','EPSG','9924','EPSG','3339','EPSG','1026');
INSERT INTO "compound_crs" VALUES('EPSG','9928','DB_REF2003 zone 2',NULL,'EPSG','5682','EPSG','9923',0);
INSERT INTO "usage" VALUES('EPSG','17297','compound_crs','EPSG','9928','EPSG','1624','EPSG','1141');
@@ -830,6 +830,10 @@ INSERT INTO "compound_crs" VALUES('EPSG','10276','SMITB20 Grid + ODN height',NUL
INSERT INTO "usage" VALUES('EPSG','19179','compound_crs','EPSG','10276','EPSG','4688','EPSG','1141');
INSERT INTO "compound_crs" VALUES('EPSG','10281','RBEPP12 Grid + ODN height',NULL,'EPSG','10280','EPSG','5701',0);
INSERT INTO "usage" VALUES('EPSG','19185','compound_crs','EPSG','10281','EPSG','4689','EPSG','1141');
INSERT INTO "compound_crs" VALUES('EPSG','10293','ETRS89/DREF91/2016 + DHHN2016 height',NULL,'EPSG','10284','EPSG','7837',0);
INSERT INTO "usage" VALUES('EPSG','19275','compound_crs','EPSG','10293','EPSG','1103','EPSG','1026');
INSERT INTO "compound_crs" VALUES('EPSG','10318','RGNC15 (lon-lat) + NGNC08 height',NULL,'EPSG','10312','EPSG','9351',0);
INSERT INTO "usage" VALUES('EPSG','19634','compound_crs','EPSG','10318','EPSG','3430','EPSG','1026');
INSERT INTO "compound_crs" VALUES('EPSG','20001','ETRS89 + SVD2006 height',NULL,'EPSG','4258','EPSG','20000',0);
INSERT INTO "usage" VALUES('EPSG','17956','compound_crs','EPSG','20001','EPSG','4058','EPSG','1026');
INSERT INTO "compound_crs" VALUES('EPSG','20003','MWC18 Grid + ODN height',NULL,'EPSG','20002','EPSG','5701',0);
+16
View File
@@ -1736,6 +1736,8 @@ INSERT INTO "conversion" VALUES('EPSG','9455','GBK19-TM','In conjunction with tr
INSERT INTO "usage" VALUES('EPSG','14130','conversion','EPSG','9455','EPSG','4607','EPSG','1141');
INSERT INTO "conversion" VALUES('EPSG','9497','Gauss-Kruger CABA 2019','Projection created in 2017 for the purpose of modernizing the city''s cadastre and linking it to modern reference frames. Origin approximates the 1919 origin of the cross of the main tower of the San José de Flores church ("0 de Flores" plane grid).','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',-34.374536,'EPSG','9110','EPSG','8802','Longitude of natural origin',-58.274791,'EPSG','9110','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',20000.0,'EPSG','9001','EPSG','8807','False northing',70000.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('EPSG','14242','conversion','EPSG','9497','EPSG','4610','EPSG','1056');
INSERT INTO "conversion" VALUES('EPSG','9548','Lyon Turin Ferroviaire 2004 (C)','May be emulated using LCC 1SP variant A with false northing of -39367.968 metres at natural origin of 44°22''45"N.','EPSG','1102','Lambert Conic Conformal (1SP variant B)','EPSG','8801','Latitude of natural origin',44.2245,'EPSG','9110','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8821','Latitude of false origin',45.11,'EPSG','9110','EPSG','8822','Longitude of false origin',6.49,'EPSG','9110','EPSG','8826','Easting at false origin',150000.0,'EPSG','9001','EPSG','8827','Northing at false origin',50000.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('EPSG','14927','conversion','EPSG','9548','EPSG','4613','EPSG','1271');
INSERT INTO "conversion" VALUES('EPSG','9673','US Forest Service region 6 Albers','','EPSG','9822','Albers Equal Area','EPSG','8821','Latitude of false origin',34.0,'EPSG','9102','EPSG','8822','Longitude of false origin',-120.0,'EPSG','9102','EPSG','8823','Latitude of 1st standard parallel',43.0,'EPSG','9102','EPSG','8824','Latitude of 2nd standard parallel',48.0,'EPSG','9102','EPSG','8826','Easting at false origin',600000.0,'EPSG','9001','EPSG','8827','Northing at false origin',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('EPSG','14786','conversion','EPSG','9673','EPSG','2381','EPSG','1165');
INSERT INTO "conversion" VALUES('EPSG','9677','Bangladesh Transverse Mercator','','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',90.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',0.9996,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',-2000000.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
@@ -1840,6 +1842,8 @@ INSERT INTO "conversion" VALUES('EPSG','10147','Brisbane City Survey Grid 2020',
INSERT INTO "usage" VALUES('EPSG','18476','conversion','EPSG','10147','EPSG','2990','EPSG','1029');
INSERT INTO "conversion" VALUES('EPSG','10148','Amtrak North East Corridor Coordinate System 2021 (International feet)','If using Hotine Oblique Mercator (variant A) method (code 9812), FE = -16,589,516.268572...ft, FN = -9,803,584.307096...ft.','EPSG','9815','Hotine Oblique Mercator (variant B)','EPSG','8811','Latitude of projection centre',40.5,'EPSG','9110','EPSG','8812','Longitude of projection centre',-74.0,'EPSG','9110','EPSG','8813','Azimuth of initial line',58.0,'EPSG','9110','EPSG','8814','Angle from Rectified to Skew Grid',58.0,'EPSG','9110','EPSG','8815','Scale factor on initial line',0.99999,'EPSG','9201','EPSG','8816','Easting at projection centre',1500000.0,'EPSG','9002','EPSG','8817','Northing at projection centre',1500000.0,'EPSG','9002',0);
INSERT INTO "usage" VALUES('EPSG','18487','conversion','EPSG','10148','EPSG','4669','EPSG','1141');
INSERT INTO "conversion" VALUES('EPSG','10159','S34-reconstruction','Created in 2022. In conjunction with transformation ETRS89 to S34J-IRF (1) for Jutland or ETRS89 to S34S-IRF (1) for Zealand (codes 10161 and 10251), defines the relationship of ETRS89 to the historic S34J and S34S CRSs using a modern parameterisation.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',10.37,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',-210327.0,'EPSG','9001','EPSG','8807','False northing',-6034310.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('EPSG','19660','conversion','EPSG','10159','EPSG','4575','EPSG','1203');
INSERT INTO "conversion" VALUES('EPSG','10182','DoPw22-TM','In conjunction with transformation ETRS89 to DoPw22-IRF (1) (code 10181), emulates the DoPw22 Snake projection.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',52.42,'EPSG','9110','EPSG','8802','Longitude of natural origin',-4.09,'EPSG','9110','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',64859.6557,'EPSG','9001','EPSG','8807','False northing',122266.5277,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('EPSG','18659','conversion','EPSG','10182','EPSG','4686','EPSG','1141');
INSERT INTO "conversion" VALUES('EPSG','10187','ShAb07-TM','In conjunction with transformation ETRS89 to ShAb07-IRF (1) (code 10186), emulates the ShAb07 Snake projection.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',52.36,'EPSG','9110','EPSG','8802','Longitude of natural origin',-3.21,'EPSG','9110','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',56023.5377,'EPSG','9001','EPSG','8807','False northing',24567.6764,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
@@ -1870,6 +1874,14 @@ INSERT INTO "conversion" VALUES('EPSG','10234','OxWo08-TM','In conjunction with
INSERT INTO "usage" VALUES('EPSG','18761','conversion','EPSG','10234','EPSG','4680','EPSG','1141');
INSERT INTO "conversion" VALUES('EPSG','10239','SYC20-TM','In conjunction with transformation ETRS89 to SYC20-IRF (1) (code 10238), emulates the SYC20 Snake projection.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',52.54,'EPSG','9110','EPSG','8802','Longitude of natural origin',-2.36,'EPSG','9110','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',110094.4312,'EPSG','9001','EPSG','8807','False northing',120623.8396,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('EPSG','18762','conversion','EPSG','10239','EPSG','4679','EPSG','1141');
INSERT INTO "conversion" VALUES('EPSG','10253','S45B-reconstruction','Created in 2022. In conjunction with transformation ETRS89 to S45B-IRF (1) (code 10255) defines the relationship of ETRS89 to the historic S45B CRS using a modern parameterisation.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',55.11171,'EPSG','9102','EPSG','8802','Longitude of natural origin',14.88927,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',-50000.0,'EPSG','9001','EPSG','8807','False northing',50000.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('EPSG','19778','conversion','EPSG','10253','EPSG','2533','EPSG','1203');
INSERT INTO "conversion" VALUES('EPSG','10257','Generalstabens System LCC','Created in 2022. Together with transformation ETRS89 to GS-IRF (1) for Jutland and Zealand or ETRS89 to KK-IRF (1) for Copenhagen (codes 10259 and 10267), defines the relationship of ETRS89 to the historic GS and KK CRSs using a modern parameterisation.','EPSG','1102','Lambert Conic Conformal (1SP variant B)','EPSG','8801','Latitude of natural origin',56.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8821','Latitude of false origin',55.0,'EPSG','9102','EPSG','8822','Longitude of false origin',10.37775,'EPSG','9102','EPSG','8826','Easting at false origin',0.0,'EPSG','9001','EPSG','8827','Northing at false origin',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('EPSG','19706','conversion','EPSG','10257','EPSG','4575','EPSG','1203');
INSERT INTO "conversion" VALUES('EPSG','10261','GSB-reconstruction','Created in 2022. In conjunction with transformation ETRS89 to GSB-IRF (1) (code 10263) defines the relationship of ETRS89 to the historic Generalstaben projCRS using a modern parameterisation.','EPSG','1102','Lambert Conic Conformal (1SP variant B)','EPSG','8801','Latitude of natural origin',56.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8821','Latitude of false origin',55.0,'EPSG','9102','EPSG','8822','Longitude of false origin',14.92775,'EPSG','9102','EPSG','8826','Easting at false origin',-18831.46,'EPSG','9001','EPSG','8827','Northing at false origin',5614.621,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('EPSG','19777','conversion','EPSG','10261','EPSG','2533','EPSG','1203');
INSERT INTO "conversion" VALUES('EPSG','10269','Ostenfeld-reconstruction','Created in 2022. In conjunction with transformation ETRS89 to Ostenfeld-IRF (1) (code 10271) defines the relationship of ETRS89 to the historic Ostenfeld CRS of Prussia using a modern parameterisation.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',54.4685,'EPSG','9102','EPSG','8802','Longitude of natural origin',9.233,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','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,0);
INSERT INTO "usage" VALUES('EPSG','19694','conversion','EPSG','10269','EPSG','4694','EPSG','1203');
INSERT INTO "conversion" VALUES('EPSG','10274','SMITB20-TM','In conjunction with transformation ETRS89 to SMITB20-IRF (1) (code 10273), emulates the SMITB20 Snake projection.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',50.45,'EPSG','9110','EPSG','8802','Longitude of natural origin',-3.51,'EPSG','9110','EPSG','8805','Scale factor at natural origin',1.0,'EPSG','9201','EPSG','8806','False easting',110693.666,'EPSG','9001','EPSG','8807','False northing',102089.2943,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('EPSG','19177','conversion','EPSG','10274','EPSG','4688','EPSG','1141');
INSERT INTO "conversion" VALUES('EPSG','10279','RBEPP12-LCC','In conjunction with transformation ETRS89 to RBEPP12-IRF (1) (code 10278), emulates the RBEPP12 Snake projection.','EPSG','9802','Lambert Conic Conformal (2SP)','EPSG','8821','Latitude of false origin',50.51,'EPSG','9110','EPSG','8822','Longitude of false origin',-3.15,'EPSG','9110','EPSG','8823','Latitude of 1st standard parallel',50.18,'EPSG','9110','EPSG','8824','Latitude of 2nd standard parallel',51.27,'EPSG','9110','EPSG','8826','Easting at false origin',372382.8292,'EPSG','9001','EPSG','8827','Northing at false origin',217764.7796,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,0);
@@ -1878,6 +1890,10 @@ INSERT INTO "conversion" VALUES('EPSG','10301','Arkansas CS27 North','','EPSG','
INSERT INTO "usage" VALUES('EPSG','11111','conversion','EPSG','10301','EPSG','2169','EPSG','1142');
INSERT INTO "conversion" VALUES('EPSG','10302','Arkansas CS27 South','','EPSG','9802','Lambert Conic Conformal (2SP)','EPSG','8821','Latitude of false origin',32.4,'EPSG','9110','EPSG','8822','Longitude of false origin',-92.0,'EPSG','9110','EPSG','8823','Latitude of 1st standard parallel',34.46,'EPSG','9110','EPSG','8824','Latitude of 2nd standard parallel',33.18,'EPSG','9110','EPSG','8826','Easting at false origin',2000000.0,'EPSG','9003','EPSG','8827','Northing at false origin',0.0,'EPSG','9003',NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('EPSG','11112','conversion','EPSG','10302','EPSG','2170','EPSG','1142');
INSERT INTO "conversion" VALUES('EPSG','10313','Lambert New Caledonia 2015','','EPSG','9802','Lambert Conic Conformal (2SP)','EPSG','8821','Latitude of false origin',-21.3,'EPSG','9110','EPSG','8822','Longitude of false origin',166.0,'EPSG','9110','EPSG','8823','Latitude of 1st standard parallel',-20.4,'EPSG','9110','EPSG','8824','Latitude of 2nd standard parallel',-22.2,'EPSG','9110','EPSG','8826','Easting at false origin',2400000.0,'EPSG','9001','EPSG','8827','Northing at false origin',2300000.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('EPSG','19602','conversion','EPSG','10313','EPSG','3430','EPSG','1142');
INSERT INTO "conversion" VALUES('EPSG','10325','Bosnia and Herzegovina Transverse Mercator','Replaces Balkans TM zones in Bosnia and Herzegovina.','EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',18.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',0.9999,'EPSG','9201','EPSG','8806','False easting',500000.0,'EPSG','9001','EPSG','8807','False northing',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('EPSG','19739','conversion','EPSG','10325','EPSG','1050','EPSG','1056');
INSERT INTO "conversion" VALUES('EPSG','10331','SPCS83 Arkansas North zone (meters)','See code 15385 for equivalent non-metric definition.','EPSG','9802','Lambert Conic Conformal (2SP)','EPSG','8821','Latitude of false origin',34.2,'EPSG','9110','EPSG','8822','Longitude of false origin',-92.0,'EPSG','9110','EPSG','8823','Latitude of 1st standard parallel',36.14,'EPSG','9110','EPSG','8824','Latitude of 2nd standard parallel',34.56,'EPSG','9110','EPSG','8826','Easting at false origin',400000.0,'EPSG','9001','EPSG','8827','Northing at false origin',0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('EPSG','11113','conversion','EPSG','10331','EPSG','2169','EPSG','1142');
INSERT INTO "conversion" VALUES('EPSG','10332','SPCS83 Arkansas South zone (meters)','See code 15386 for equivalent non-metric definition.','EPSG','9802','Lambert Conic Conformal (2SP)','EPSG','8821','Latitude of false origin',32.4,'EPSG','9110','EPSG','8822','Longitude of false origin',-92.0,'EPSG','9110','EPSG','8823','Latitude of 1st standard parallel',34.46,'EPSG','9110','EPSG','8824','Latitude of 2nd standard parallel',33.18,'EPSG','9110','EPSG','8826','Easting at false origin',400000.0,'EPSG','9001','EPSG','8827','Northing at false origin',400000.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,0);
+3
View File
@@ -94,6 +94,9 @@ BEGIN
SELECT RAISE(ABORT, 'insert on conversion violates constraint: bad parameters for Equal Earth')
WHERE NEW.deprecated != 1 AND NEW.method_auth_name = 'EPSG' AND NEW.method_code = '1078' AND (NEW.method_name != 'Equal Earth' OR NEW.param1_auth_name != 'EPSG' OR NEW.param1_code != '8802' OR NEW.param1_name != 'Longitude of natural origin' OR NEW.param1_value IS NULL OR NEW.param1_uom_auth_name IS NULL OR NEW.param1_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param1_uom_auth_name AND code = NEW.param1_uom_code) != 'angle' OR NEW.param2_auth_name != 'EPSG' OR NEW.param2_code != '8806' OR NEW.param2_name != 'False easting' OR NEW.param2_value IS NULL OR NEW.param2_uom_auth_name IS NULL OR NEW.param2_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param2_uom_auth_name AND code = NEW.param2_uom_code) != 'length' OR NEW.param3_auth_name != 'EPSG' OR NEW.param3_code != '8807' OR NEW.param3_name != 'False northing' OR NEW.param3_value IS NULL OR NEW.param3_uom_auth_name IS NULL OR NEW.param3_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param3_uom_auth_name AND code = NEW.param3_uom_code) != 'length' OR NEW.param4_auth_name IS NOT NULL OR NEW.param4_code IS NOT NULL OR NEW.param4_name IS NOT NULL OR NEW.param4_value IS NOT NULL OR NEW.param4_uom_auth_name IS NOT NULL OR NEW.param4_uom_code IS NOT NULL OR NEW.param5_auth_name IS NOT NULL OR NEW.param5_code IS NOT NULL OR NEW.param5_name IS NOT NULL OR NEW.param5_value IS NOT NULL OR NEW.param5_uom_auth_name IS NOT NULL OR NEW.param5_uom_code IS NOT NULL OR NEW.param6_auth_name IS NOT NULL OR NEW.param6_code IS NOT NULL OR NEW.param6_name IS NOT NULL OR NEW.param6_value IS NOT NULL OR NEW.param6_uom_auth_name IS NOT NULL OR NEW.param6_uom_code IS NOT NULL OR NEW.param7_auth_name IS NOT NULL OR NEW.param7_code IS NOT NULL OR NEW.param7_name IS NOT NULL OR NEW.param7_value IS NOT NULL OR NEW.param7_uom_auth_name IS NOT NULL OR NEW.param7_uom_code IS NOT NULL);
SELECT RAISE(ABORT, 'insert on conversion violates constraint: bad parameters for Lambert Conic Conformal (1SP variant B)')
WHERE NEW.deprecated != 1 AND NEW.method_auth_name = 'EPSG' AND NEW.method_code = '1102' AND (NEW.method_name != 'Lambert Conic Conformal (1SP variant B)' OR NEW.param1_auth_name != 'EPSG' OR NEW.param1_code != '8801' OR NEW.param1_name != 'Latitude of natural origin' OR NEW.param1_value IS NULL OR NEW.param1_uom_auth_name IS NULL OR NEW.param1_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param1_uom_auth_name AND code = NEW.param1_uom_code) != 'angle' OR NEW.param2_auth_name != 'EPSG' OR NEW.param2_code != '8805' OR NEW.param2_name != 'Scale factor at natural origin' OR NEW.param2_value IS NULL OR NEW.param2_uom_auth_name IS NULL OR NEW.param2_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param2_uom_auth_name AND code = NEW.param2_uom_code) != 'scale' OR NEW.param3_auth_name != 'EPSG' OR NEW.param3_code != '8821' OR NEW.param3_name != 'Latitude of false origin' OR NEW.param3_value IS NULL OR NEW.param3_uom_auth_name IS NULL OR NEW.param3_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param3_uom_auth_name AND code = NEW.param3_uom_code) != 'angle' OR NEW.param4_auth_name != 'EPSG' OR NEW.param4_code != '8822' OR NEW.param4_name != 'Longitude of false origin' OR NEW.param4_value IS NULL OR NEW.param4_uom_auth_name IS NULL OR NEW.param4_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param4_uom_auth_name AND code = NEW.param4_uom_code) != 'angle' OR NEW.param5_auth_name != 'EPSG' OR NEW.param5_code != '8826' OR NEW.param5_name != 'Easting at false origin' OR NEW.param5_value IS NULL OR NEW.param5_uom_auth_name IS NULL OR NEW.param5_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param5_uom_auth_name AND code = NEW.param5_uom_code) != 'length' OR NEW.param6_auth_name != 'EPSG' OR NEW.param6_code != '8827' OR NEW.param6_name != 'Northing at false origin' OR NEW.param6_value IS NULL OR NEW.param6_uom_auth_name IS NULL OR NEW.param6_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param6_uom_auth_name AND code = NEW.param6_uom_code) != 'length' OR NEW.param7_auth_name IS NOT NULL OR NEW.param7_code IS NOT NULL OR NEW.param7_name IS NOT NULL OR NEW.param7_value IS NOT NULL OR NEW.param7_uom_auth_name IS NOT NULL OR NEW.param7_uom_code IS NOT NULL);
SELECT RAISE(ABORT, 'insert on conversion violates constraint: bad parameters for Transverse Mercator 3D')
WHERE NEW.deprecated != 1 AND NEW.method_auth_name = 'EPSG' AND NEW.method_code = '1111' AND (NEW.method_name != 'Transverse Mercator 3D' OR NEW.param1_auth_name != 'EPSG' OR NEW.param1_code != '8801' OR NEW.param1_name != 'Latitude of natural origin' OR NEW.param1_value IS NULL OR NEW.param1_uom_auth_name IS NULL OR NEW.param1_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param1_uom_auth_name AND code = NEW.param1_uom_code) != 'angle' OR NEW.param2_auth_name != 'EPSG' OR NEW.param2_code != '8802' OR NEW.param2_name != 'Longitude of natural origin' OR NEW.param2_value IS NULL OR NEW.param2_uom_auth_name IS NULL OR NEW.param2_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param2_uom_auth_name AND code = NEW.param2_uom_code) != 'angle' OR NEW.param3_auth_name != 'EPSG' OR NEW.param3_code != '8805' OR NEW.param3_name != 'Scale factor at natural origin' OR NEW.param3_value IS NULL OR NEW.param3_uom_auth_name IS NULL OR NEW.param3_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param3_uom_auth_name AND code = NEW.param3_uom_code) != 'scale' OR NEW.param4_auth_name != 'EPSG' OR NEW.param4_code != '8806' OR NEW.param4_name != 'False easting' OR NEW.param4_value IS NULL OR NEW.param4_uom_auth_name IS NULL OR NEW.param4_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param4_uom_auth_name AND code = NEW.param4_uom_code) != 'length' OR NEW.param5_auth_name != 'EPSG' OR NEW.param5_code != '8807' OR NEW.param5_name != 'False northing' OR NEW.param5_value IS NULL OR NEW.param5_uom_auth_name IS NULL OR NEW.param5_uom_code IS NULL OR (SELECT type FROM unit_of_measure WHERE auth_name = NEW.param5_uom_auth_name AND code = NEW.param5_uom_code) != 'length' OR NEW.param6_auth_name IS NOT NULL OR NEW.param6_code IS NOT NULL OR NEW.param6_name IS NOT NULL OR NEW.param6_value IS NOT NULL OR NEW.param6_uom_auth_name IS NOT NULL OR NEW.param6_uom_code IS NOT NULL OR NEW.param7_auth_name IS NOT NULL OR NEW.param7_code IS NOT NULL OR NEW.param7_name IS NOT NULL OR NEW.param7_value IS NOT NULL OR NEW.param7_uom_auth_name IS NOT NULL OR NEW.param7_uom_code IS NOT NULL);
+2
View File
@@ -468,3 +468,5 @@ INSERT INTO "deprecation" VALUES('compound_crs','EPSG','5832','EPSG','9928','EPS
INSERT INTO "deprecation" VALUES('compound_crs','EPSG','5833','EPSG','9929','EPSG');
INSERT INTO "deprecation" VALUES('compound_crs','EPSG','5834','EPSG','9930','EPSG');
INSERT INTO "deprecation" VALUES('compound_crs','EPSG','5835','EPSG','9931','EPSG');
INSERT INTO "deprecation" VALUES('compound_crs','EPSG','9924','EPSG','10293','EPSG');
INSERT INTO "deprecation" VALUES('projected_crs','EPSG','8395','EPSG','10285','EPSG');
+159 -182
View File
@@ -552,6 +552,7 @@ INSERT INTO alias_name VALUES('geodetic_datum','EPSG','1196','North_American_Dat
INSERT INTO alias_name VALUES('geodetic_datum','EPSG','1197','North_American_Datum_of_1983_(CSRS)_version_6','ESRI');
INSERT INTO alias_name VALUES('geodetic_datum','EPSG','1198','North_American_Datum_of_1983_(CSRS)_version_7','ESRI');
INSERT INTO alias_name VALUES('geodetic_datum','EPSG','1201','S-JTSK_[JTSK03]','ESRI');
INSERT INTO alias_name VALUES('geodetic_datum','EPSG','1201','S_JTSK_JTSK03','ESRI');
INSERT INTO alias_name VALUES('geodetic_datum','EPSG','1204','European_Terrestrial_Reference_Frame_2005','ESRI');
INSERT INTO alias_name VALUES('geodetic_datum','EPSG','1206','European_Terrestrial_Reference_Frame_2014','ESRI');
INSERT INTO alias_name VALUES('geodetic_datum','EPSG','1207','Macao_1920','ESRI');
@@ -1643,6 +1644,7 @@ INSERT INTO alias_name VALUES('geodetic_crs','EPSG','8248','NAD83(CSRS)v5_3D','E
INSERT INTO alias_name VALUES('geodetic_crs','EPSG','8251','NAD83(CSRS)v6_3D','ESRI');
INSERT INTO alias_name VALUES('geodetic_crs','EPSG','8254','NAD83(CSRS)v7_3D','ESRI');
INSERT INTO alias_name VALUES('geodetic_crs','EPSG','8351','S-JTSK_[JTSK03]','ESRI');
INSERT INTO alias_name VALUES('geodetic_crs','EPSG','8351','S_JTSK_JTSK03','ESRI');
INSERT INTO alias_name VALUES('geodetic_crs','EPSG','8399','ETRF2005_3D','ESRI');
INSERT INTO alias_name VALUES('geodetic_crs','EPSG','8403','ETRF2014_3D','ESRI');
INSERT INTO alias_name VALUES('geodetic_crs','EPSG','8426','Hong_Kong_Geodetic_CS_3D','ESRI');
@@ -6804,7 +6806,9 @@ INSERT INTO alias_name VALUES('projected_crs','EPSG','8346','OCRS_Warner_Highway
INSERT INTO alias_name VALUES('projected_crs','EPSG','8347','OCRS_Willamette_Pass_NAD_1983_2011_TM_Meters','ESRI');
INSERT INTO alias_name VALUES('projected_crs','EPSG','8348','OCRS_Willamette_Pass_NAD_1983_2011_TM_Ft_Intl','ESRI');
INSERT INTO alias_name VALUES('projected_crs','EPSG','8352','S-JTSK_[JTSK03]_Krovak','ESRI');
INSERT INTO alias_name VALUES('projected_crs','EPSG','8352','S_JTSK_JTSK03_Krovak','ESRI');
INSERT INTO alias_name VALUES('projected_crs','EPSG','8353','S-JTSK_[JTSK03]_Krovak_East_North','ESRI');
INSERT INTO alias_name VALUES('projected_crs','EPSG','8353','S_JTSK_JTSK03_Krovak_East_North','ESRI');
INSERT INTO alias_name VALUES('projected_crs','EPSG','8379','NAD_1983_NCRS_Las_Vegas_(m)','ESRI');
INSERT INTO alias_name VALUES('projected_crs','EPSG','8380','NAD_1983_NCRS_Las_Vegas_(ftUS)','ESRI');
INSERT INTO alias_name VALUES('projected_crs','EPSG','8381','NAD_1983_NCRS_Las_Vegas_high_(m)','ESRI');
@@ -12122,213 +12126,186 @@ INSERT INTO "conversion" VALUES('ESRI','102900','unnamed',NULL,'EPSG','9807','Tr
INSERT INTO "usage" VALUES('ESRI', 'CONV_102900_USAGE','conversion','ESRI','102900','ESRI','152','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','102900','OSGB36_Highways_England_C19H2',NULL,'EPSG','4400','EPSG','4277','ESRI','102900',NULL,1);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102900_USAGE','projected_crs','ESRI','102900','ESRI','152','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','153','Illinois - Aurora','Illinois - Aurora',41.45,42.5,-88.95,-88.19,0);
INSERT INTO "conversion" VALUES('ESRI','102901','unnamed',NULL,'EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',41.25,'EPSG','9102','EPSG','8802','Longitude of natural origin',-88.5,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.00003,'EPSG','9201','EPSG','8806','False easting',3773000.0,'EPSG','9003','EPSG','8807','False northing',492000.0,'EPSG','9003',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'CONV_102901_USAGE','conversion','ESRI','102901','ESRI','153','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', 'CONV_102901_USAGE','conversion','ESRI','102901','EPSG','4703','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','102901','NAD_1983_(2011)_ICS_Aurora_(US_Feet)',NULL,'EPSG','4497','EPSG','6318','ESRI','102901',NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102901_USAGE','projected_crs','ESRI','102901','ESRI','153','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','154','Illinois - Freeport','Illinois - Freeport',41.92,42.51,-90.66,-89.39,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102901_USAGE','projected_crs','ESRI','102901','EPSG','4703','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','102902','NAD_1983_(2011)_ICS_Freeport_(US_Feet)',NULL,NULL,NULL,'EPSG','6318',NULL,NULL,'PROJCS["NAD_1983_(2011)_ICS_Freeport_(US_Feet)",GEOGCS["GCS_NAD_1983_2011",DATUM["D_NAD_1983_2011",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["False_Easting",1804000.0],PARAMETER["False_Northing",755000.0],PARAMETER["Central_Meridian",-89.95],PARAMETER["Scale_Factor",1.000029],PARAMETER["Latitude_Of_Origin",42.2],UNIT["Foot_US",0.3048006096012192]]',0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102902_USAGE','projected_crs','ESRI','102902','ESRI','154','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','155','Illinois - Chicago','Illinois - Chicago',41.46,42.5,-88.27,-87.52,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102902_USAGE','projected_crs','ESRI','102902','EPSG','4701','EPSG','1024');
INSERT INTO "conversion" VALUES('ESRI','102903','unnamed',NULL,'EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',41.25,'EPSG','9102','EPSG','8802','Longitude of natural origin',-87.8,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.000023,'EPSG','9201','EPSG','8806','False easting',4757000.0,'EPSG','9003','EPSG','8807','False northing',492000.0,'EPSG','9003',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'CONV_102903_USAGE','conversion','ESRI','102903','ESRI','155','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', 'CONV_102903_USAGE','conversion','ESRI','102903','EPSG','4704','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','102903','NAD_1983_(2011)_ICS_Chicago_(US_Feet)',NULL,'EPSG','4497','EPSG','6318','ESRI','102903',NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102903_USAGE','projected_crs','ESRI','102903','ESRI','155','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','156','Illinois - Rockford','Illinois - Rockford',41.58,42.51,-89.69,-88.93,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102903_USAGE','projected_crs','ESRI','102903','EPSG','4704','EPSG','1024');
INSERT INTO "conversion" VALUES('ESRI','102904','unnamed',NULL,'EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',41.25,'EPSG','9102','EPSG','8802','Longitude of natural origin',-89.25,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.000029,'EPSG','9201','EPSG','8806','False easting',2822000.0,'EPSG','9003','EPSG','8807','False northing',492000.0,'EPSG','9003',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'CONV_102904_USAGE','conversion','ESRI','102904','ESRI','156','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', 'CONV_102904_USAGE','conversion','ESRI','102904','EPSG','4702','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','102904','NAD_1983_(2011)_ICS_Rockford_(US_Feet)',NULL,'EPSG','4497','EPSG','6318','ESRI','102904',NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102904_USAGE','projected_crs','ESRI','102904','ESRI','156','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','157','Illinois - Moline','Illinois - Moline',41.32,41.79,-91.08,-90.15,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102904_USAGE','projected_crs','ESRI','102904','EPSG','4702','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','102905','NAD_1983_(2011)_ICS_Moline_(US_Feet)',NULL,NULL,NULL,'EPSG','6318',NULL,NULL,'PROJCS["NAD_1983_(2011)_ICS_Moline_(US_Feet)",GEOGCS["GCS_NAD_1983_2011",DATUM["D_NAD_1983_2011",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["False_Easting",5741000.0],PARAMETER["False_Northing",755000.0],PARAMETER["Central_Meridian",-90.6],PARAMETER["Scale_Factor",1.000024],PARAMETER["Latitude_Of_Origin",41.55],UNIT["Foot_US",0.3048006096012192]]',0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102905_USAGE','projected_crs','ESRI','102905','ESRI','157','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','158','Illinois - Ottawa','Illinois - Ottawa',40.92,41.64,-89.87,-88.24,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102905_USAGE','projected_crs','ESRI','102905','EPSG','4705','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','102906','NAD_1983_(2011)_ICS_Ottawa_(US_Feet)',NULL,NULL,NULL,'EPSG','6318',NULL,NULL,'PROJCS["NAD_1983_(2011)_ICS_Ottawa_(US_Feet)",GEOGCS["GCS_NAD_1983_2011",DATUM["D_NAD_1983_2011",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["False_Easting",7743000.0],PARAMETER["False_Northing",755000.0],PARAMETER["Central_Meridian",-89.05],PARAMETER["Scale_Factor",1.000023],PARAMETER["Latitude_Of_Origin",41.3],UNIT["Foot_US",0.3048006096012192]]',0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102906_USAGE','projected_crs','ESRI','102906','ESRI','158','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','159','Illinois - Sterling','Illinois - Sterling',41.14,41.94,-90.44,-89.62,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102906_USAGE','projected_crs','ESRI','102906','EPSG','4707','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','102907','NAD_1983_(2011)_ICS_Sterling_(US_Feet)',NULL,NULL,NULL,'EPSG','6318',NULL,NULL,'PROJCS["NAD_1983_(2011)_ICS_Sterling_(US_Feet)",GEOGCS["GCS_NAD_1983_2011",DATUM["D_NAD_1983_2011",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["False_Easting",6726000.0],PARAMETER["False_Northing",755000.0],PARAMETER["Central_Meridian",-90.05],PARAMETER["Scale_Factor",1.00002],PARAMETER["Latitude_Of_Origin",41.55],UNIT["Foot_US",0.3048006096012192]]',0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102907_USAGE','projected_crs','ESRI','102907','ESRI','159','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','160','Illinois - Joliet','Illinois - Joliet',40.99,41.73,-88.27,-87.52,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102907_USAGE','projected_crs','ESRI','102907','EPSG','4706','EPSG','1024');
INSERT INTO "conversion" VALUES('ESRI','102908','unnamed',NULL,'EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',40.55,'EPSG','9102','EPSG','8802','Longitude of natural origin',-88.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.000022,'EPSG','9201','EPSG','8806','False easting',8694000.0,'EPSG','9003','EPSG','8807','False northing',492000.0,'EPSG','9003',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'CONV_102908_USAGE','conversion','ESRI','102908','ESRI','160','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', 'CONV_102908_USAGE','conversion','ESRI','102908','EPSG','4708','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','102908','NAD_1983_(2011)_ICS_Joliet_(US_Feet)',NULL,'EPSG','4497','EPSG','6318','ESRI','102908',NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102908_USAGE','projected_crs','ESRI','102908','ESRI','160','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','161','Illinois - Eureka','Illinois - Eureka',40.59,41.15,-89.64,-88.92,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102908_USAGE','projected_crs','ESRI','102908','EPSG','4708','EPSG','1024');
INSERT INTO "conversion" VALUES('ESRI','102909','unnamed',NULL,'EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',37.45,'EPSG','9102','EPSG','8802','Longitude of natural origin',-89.3,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.000025,'EPSG','9201','EPSG','8806','False easting',2756000.0,'EPSG','9003','EPSG','8807','False northing',427000.0,'EPSG','9003',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'CONV_102909_USAGE','conversion','ESRI','102909','ESRI','161','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', 'CONV_102909_USAGE','conversion','ESRI','102909','EPSG','4712','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','102909','NAD_1983_(2011)_ICS_Eureka_(US_Feet)',NULL,'EPSG','4497','EPSG','6318','ESRI','102909',NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102909_USAGE','projected_crs','ESRI','102909','ESRI','161','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','162','Illinois - Pontiac','Illinois - Pontiac',40.61,41.12,-88.94,-88.23,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102909_USAGE','projected_crs','ESRI','102909','EPSG','4712','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','102910','NAD_1983_(2011)_ICS_Pontiac_(US_Feet)',NULL,NULL,NULL,'EPSG','6318',NULL,NULL,'PROJCS["NAD_1983_(2011)_ICS_Pontiac_(US_Feet)",GEOGCS["GCS_NAD_1983_2011",DATUM["D_NAD_1983_2011",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["False_Easting",4757000.0],PARAMETER["False_Northing",1739000.0],PARAMETER["Central_Meridian",-88.55],PARAMETER["Scale_Factor",1.000025],PARAMETER["Latitude_Of_Origin",40.9],UNIT["Foot_US",0.3048006096012192]]',0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102910_USAGE','projected_crs','ESRI','102910','ESRI','162','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','163','Illinois - Monmouth','Illinois - Monmouth',40.62,41.34,-91.19,-90.43,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102910_USAGE','projected_crs','ESRI','102910','EPSG','4714','EPSG','1024');
INSERT INTO "conversion" VALUES('ESRI','102911','unnamed',NULL,'EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',40.2,'EPSG','9102','EPSG','8802','Longitude of natural origin',-90.85,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.000024,'EPSG','9201','EPSG','8806','False easting',9678000.0,'EPSG','9003','EPSG','8807','False northing',492000.0,'EPSG','9003',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'CONV_102911_USAGE','conversion','ESRI','102911','ESRI','163','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', 'CONV_102911_USAGE','conversion','ESRI','102911','EPSG','4709','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','102911','NAD_1983_(2011)_ICS_Monmouth_(US_Feet)',NULL,'EPSG','4497','EPSG','6318','ESRI','102911',NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102911_USAGE','projected_crs','ESRI','102911','ESRI','163','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','164','Illinois - Watseka','Illinois - Watseka',40.39,41.02,-88.47,-87.52,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102911_USAGE','projected_crs','ESRI','102911','EPSG','4709','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','153','Illinois - Watseka','Illinois - Watseka',40.39,41.02,-88.47,-87.52,0);
INSERT INTO "projected_crs" VALUES('ESRI','102912','NAD_1983_(2011)_ICS_Watseka_(US_Feet)',NULL,NULL,NULL,'EPSG','6318',NULL,NULL,'PROJCS["NAD_1983_(2011)_ICS_Watseka_(US_Feet)",GEOGCS["GCS_NAD_1983_2011",DATUM["D_NAD_1983_2011",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["False_Easting",5741000.0],PARAMETER["False_Northing",1739000.0],PARAMETER["Central_Meridian",-87.95],PARAMETER["Scale_Factor",1.000024],PARAMETER["Latitude_Of_Origin",40.75],UNIT["Foot_US",0.3048006096012192]]',0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102912_USAGE','projected_crs','ESRI','102912','ESRI','164','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','165','Illinois - Peoria','Illinois - Peoria',40.31,40.98,-90.01,-89.26,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102912_USAGE','projected_crs','ESRI','102912','ESRI','153','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','154','Illinois - Peoria','Illinois - Peoria',40.31,40.98,-90.01,-89.26,0);
INSERT INTO "conversion" VALUES('ESRI','102913','unnamed',NULL,'EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',37.4,'EPSG','9102','EPSG','8802','Longitude of natural origin',-89.65,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.000023,'EPSG','9201','EPSG','8806','False easting',1378000.0,'EPSG','9003','EPSG','8807','False northing',622000.0,'EPSG','9003',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'CONV_102913_USAGE','conversion','ESRI','102913','ESRI','165','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', 'CONV_102913_USAGE','conversion','ESRI','102913','ESRI','154','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','102913','NAD_1983_(2011)_ICS_Peoria_(US_Feet)',NULL,'EPSG','4497','EPSG','6318','ESRI','102913',NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102913_USAGE','projected_crs','ESRI','102913','ESRI','165','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','166','Illinois - Bloomington','Illinois - Bloomington',40.28,40.76,-89.27,-88.45,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102913_USAGE','projected_crs','ESRI','102913','ESRI','154','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','102914','NAD_1983_(2011)_ICS_Bloomington_(US_Feet)',NULL,NULL,NULL,'EPSG','6318',NULL,NULL,'PROJCS["NAD_1983_(2011)_ICS_Bloomington_(US_Feet)",GEOGCS["GCS_NAD_1983_2011",DATUM["D_NAD_1983_2011",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["False_Easting",3773000.0],PARAMETER["False_Northing",1739000.0],PARAMETER["Central_Meridian",-88.85],PARAMETER["Scale_Factor",1.000031],PARAMETER["Latitude_Of_Origin",40.5],UNIT["Foot_US",0.3048006096012192]]',0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102914_USAGE','projected_crs','ESRI','102914','ESRI','166','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','167','Illinois - Galesburg','Illinois - Galesburg',40.18,41.24,-90.46,-89.63,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102914_USAGE','projected_crs','ESRI','102914','EPSG','4713','EPSG','1024');
INSERT INTO "conversion" VALUES('ESRI','102915','unnamed',NULL,'EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',37.25,'EPSG','9102','EPSG','8802','Longitude of natural origin',-90.1,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.000023,'EPSG','9201','EPSG','8806','False easting',230000.0,'EPSG','9003','EPSG','8807','False northing',492000.0,'EPSG','9003',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'CONV_102915_USAGE','conversion','ESRI','102915','ESRI','167','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', 'CONV_102915_USAGE','conversion','ESRI','102915','EPSG','4710','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','102915','NAD_1983_(2011)_ICS_Galesburg_(US_Feet)',NULL,'EPSG','4497','EPSG','6318','ESRI','102915',NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102915_USAGE','projected_crs','ESRI','102915','ESRI','167','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','168','Illinois - Champaign','Illinois - Champaign',39.86,40.5,-88.47,-87.52,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102915_USAGE','projected_crs','ESRI','102915','EPSG','4710','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','102916','NAD_1983_(2011)_ICS_Champaign_(US_Feet)',NULL,NULL,NULL,'EPSG','6318',NULL,NULL,'PROJCS["NAD_1983_(2011)_ICS_Champaign_(US_Feet)",GEOGCS["GCS_NAD_1983_2011",DATUM["D_NAD_1983_2011",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["False_Easting",328000.0],PARAMETER["False_Northing",2822000.0],PARAMETER["Central_Meridian",-88.0],PARAMETER["Scale_Factor",1.000026],PARAMETER["Latitude_Of_Origin",40.15],UNIT["Foot_US",0.3048006096012192]]',0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102916_USAGE','projected_crs','ESRI','102916','ESRI','168','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','169','Illinois - Decatur','Illinois - Decatur',39.21,40.29,-89.22,-88.46,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102916_USAGE','projected_crs','ESRI','102916','EPSG','4720','EPSG','1024');
INSERT INTO "conversion" VALUES('ESRI','102917','unnamed',NULL,'EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',36.3,'EPSG','9102','EPSG','8802','Longitude of natural origin',-88.8,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.000024,'EPSG','9201','EPSG','8806','False easting',9678000.0,'EPSG','9003','EPSG','8807','False northing',492000.0,'EPSG','9003',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'CONV_102917_USAGE','conversion','ESRI','102917','ESRI','169','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', 'CONV_102917_USAGE','conversion','ESRI','102917','EPSG','4719','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','102917','NAD_1983_(2011)_ICS_Decatur_(US_Feet)',NULL,'EPSG','4497','EPSG','6318','ESRI','102917',NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102917_USAGE','projected_crs','ESRI','102917','ESRI','169','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','170','Illinois - Quincy','Illinois - Quincy',39.75,40.64,-91.52,-90.9,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102917_USAGE','projected_crs','ESRI','102917','EPSG','4719','EPSG','1024');
INSERT INTO "conversion" VALUES('ESRI','102918','unnamed',NULL,'EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',36.75,'EPSG','9102','EPSG','8802','Longitude of natural origin',-91.25,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.000023,'EPSG','9201','EPSG','8806','False easting',6726000.0,'EPSG','9003','EPSG','8807','False northing',492000.0,'EPSG','9003',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'CONV_102918_USAGE','conversion','ESRI','102918','ESRI','170','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', 'CONV_102918_USAGE','conversion','ESRI','102918','EPSG','4716','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','102918','NAD_1983_(2011)_ICS_Quincy_(US_Feet)',NULL,'EPSG','4497','EPSG','6318','ESRI','102918',NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102918_USAGE','projected_crs','ESRI','102918','ESRI','170','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','171','Illinois - Lincoln','Illinois - Lincoln',39.87,40.44,-90.59,-89.14,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102918_USAGE','projected_crs','ESRI','102918','EPSG','4716','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','102919','NAD_1983_(2011)_ICS_Lincoln_(US_Feet)',NULL,NULL,NULL,'EPSG','6318',NULL,NULL,'PROJCS["NAD_1983_(2011)_ICS_Lincoln_(US_Feet)",GEOGCS["GCS_NAD_1983_2011",DATUM["D_NAD_1983_2011",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["False_Easting",8760000.0],PARAMETER["False_Northing",1739000.0],PARAMETER["Central_Meridian",-89.8],PARAMETER["Scale_Factor",1.000018],PARAMETER["Latitude_Of_Origin",40.15],UNIT["Foot_US",0.3048006096012192]]',0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102919_USAGE','projected_crs','ESRI','102919','ESRI','171','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','172','Illinois - Macomb','Illinois - Macomb',39.83,40.64,-90.92,-90.18,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102919_USAGE','projected_crs','ESRI','102919','EPSG','4718','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','155','Illinois - Macomb','Illinois - Macomb',39.83,40.64,-90.92,-90.18,0);
INSERT INTO "conversion" VALUES('ESRI','102920','unnamed',NULL,'EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',36.8,'EPSG','9102','EPSG','8802','Longitude of natural origin',-90.6,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.000024,'EPSG','9201','EPSG','8806','False easting',7710000.0,'EPSG','9003','EPSG','8807','False northing',492000.0,'EPSG','9003',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'CONV_102920_USAGE','conversion','ESRI','102920','ESRI','172','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', 'CONV_102920_USAGE','conversion','ESRI','102920','ESRI','155','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','102920','NAD_1983_(2011)_ICS_Macomb_(US_Feet)',NULL,'EPSG','4497','EPSG','6318','ESRI','102920',NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102920_USAGE','projected_crs','ESRI','102920','ESRI','172','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','173','Illinois - Springfield','Illinois - Springfield',39.52,39.98,-90.01,-89.21,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102920_USAGE','projected_crs','ESRI','102920','ESRI','155','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','156','Illinois - Springfield','Illinois - Springfield',39.52,39.98,-90.01,-89.21,0);
INSERT INTO "projected_crs" VALUES('ESRI','102921','NAD_1983_(2011)_ICS_Springfield_(US_Feet)',NULL,NULL,NULL,'EPSG','6318',NULL,NULL,'PROJCS["NAD_1983_(2011)_ICS_Springfield_(US_Feet)",GEOGCS["GCS_NAD_1983_2011",DATUM["D_NAD_1983_2011",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["False_Easting",2329000.0],PARAMETER["False_Northing",2887000.0],PARAMETER["Central_Meridian",-89.65],PARAMETER["Scale_Factor",1.000022],PARAMETER["Latitude_Of_Origin",39.75],UNIT["Foot_US",0.3048006096012192]]',0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102921_USAGE','projected_crs','ESRI','102921','ESRI','173','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','174','Illinois - Jacksonville','Illinois - Jacksonville',39.39,39.88,-91.38,-89.92,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102921_USAGE','projected_crs','ESRI','102921','ESRI','156','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','102922','NAD_1983_(2011)_ICS_Jacksonville_(US_Feet)',NULL,NULL,NULL,'EPSG','6318',NULL,NULL,'PROJCS["NAD_1983_(2011)_ICS_Jacksonville_(US_Feet)",GEOGCS["GCS_NAD_1983_2011",DATUM["D_NAD_1983_2011",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["False_Easting",1247000.0],PARAMETER["False_Northing",2822000.0],PARAMETER["Central_Meridian",-90.6],PARAMETER["Scale_Factor",1.000023],PARAMETER["Latitude_Of_Origin",39.65],UNIT["Foot_US",0.3048006096012192]]',0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102922_USAGE','projected_crs','ESRI','102922','ESRI','174','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','175','Illinois - Taylorville','Illinois - Taylorville',38.99,39.83,-89.71,-89.02,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102922_USAGE','projected_crs','ESRI','102922','EPSG','4721','EPSG','1024');
INSERT INTO "conversion" VALUES('ESRI','102923','unnamed',NULL,'EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',33.15,'EPSG','9102','EPSG','8802','Longitude of natural origin',-89.4,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.000023,'EPSG','9201','EPSG','8806','False easting',6726000.0,'EPSG','9003','EPSG','8807','False northing',492000.0,'EPSG','9003',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'CONV_102923_USAGE','conversion','ESRI','102923','ESRI','175','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', 'CONV_102923_USAGE','conversion','ESRI','102923','EPSG','4726','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','102923','NAD_1983_(2011)_ICS_Taylorville_(US_Feet)',NULL,'EPSG','4497','EPSG','6318','ESRI','102923',NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102923_USAGE','projected_crs','ESRI','102923','ESRI','175','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','176','Illinois - Charleston','Illinois - Charleston',39.37,39.89,-88.48,-87.53,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102923_USAGE','projected_crs','ESRI','102923','EPSG','4726','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','102924','NAD_1983_(2011)_ICS_Charleston_(US_Feet)',NULL,NULL,NULL,'EPSG','6318',NULL,NULL,'PROJCS["NAD_1983_(2011)_ICS_Charleston_(US_Feet)",GEOGCS["GCS_NAD_1983_2011",DATUM["D_NAD_1983_2011",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["False_Easting",3773000.0],PARAMETER["False_Northing",2756000.0],PARAMETER["Central_Meridian",-88.0],PARAMETER["Scale_Factor",1.000024],PARAMETER["Latitude_Of_Origin",39.65],UNIT["Foot_US",0.3048006096012192]]',0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102924_USAGE','projected_crs','ESRI','102924','ESRI','176','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','177','Illinois - Carlinville','Illinois - Carlinville',38.99,39.53,-90.63,-89.69,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102924_USAGE','projected_crs','ESRI','102924','EPSG','4723','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','102925','NAD_1983_(2011)_ICS_Carlinville_(US_Feet)',NULL,NULL,NULL,'EPSG','6318',NULL,NULL,'PROJCS["NAD_1983_(2011)_ICS_Carlinville_(US_Feet)",GEOGCS["GCS_NAD_1983_2011",DATUM["D_NAD_1983_2011",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["False_Easting",5741000.0],PARAMETER["False_Northing",2756000.0],PARAMETER["Central_Meridian",-90.15],PARAMETER["Scale_Factor",1.00002],PARAMETER["Latitude_Of_Origin",39.3],UNIT["Foot_US",0.3048006096012192]]',0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102925_USAGE','projected_crs','ESRI','102925','ESRI','177','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','178','Illinois - Robinson','Illinois - Robinson',38.84,39.49,-88.48,-87.51,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102925_USAGE','projected_crs','ESRI','102925','EPSG','4725','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','102926','NAD_1983_(2011)_ICS_Robinson_(US_Feet)',NULL,NULL,NULL,'EPSG','6318',NULL,NULL,'PROJCS["NAD_1983_(2011)_ICS_Robinson_(US_Feet)",GEOGCS["GCS_NAD_1983_2011",DATUM["D_NAD_1983_2011",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["False_Easting",8694000.0],PARAMETER["False_Northing",2756000.0],PARAMETER["Central_Meridian",-88.0],PARAMETER["Scale_Factor",1.000017],PARAMETER["Latitude_Of_Origin",39.1],UNIT["Foot_US",0.3048006096012192]]',0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102926_USAGE','projected_crs','ESRI','102926','ESRI','178','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','179','Illinois - Jerseyville','Illinois - Jerseyville',38.86,39.41,-90.94,-90.14,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102926_USAGE','projected_crs','ESRI','102926','EPSG','4728','EPSG','1024');
INSERT INTO "conversion" VALUES('ESRI','102927','unnamed',NULL,'EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',32.85,'EPSG','9102','EPSG','8802','Longitude of natural origin',-90.5,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.000019,'EPSG','9201','EPSG','8806','False easting',4757000.0,'EPSG','9003','EPSG','8807','False northing',492000.0,'EPSG','9003',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'CONV_102927_USAGE','conversion','ESRI','102927','ESRI','179','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', 'CONV_102927_USAGE','conversion','ESRI','102927','EPSG','4724','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','102927','NAD_1983_(2011)_ICS_Jerseyville_(US_Feet)',NULL,'EPSG','4497','EPSG','6318','ESRI','102927',NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102927_USAGE','projected_crs','ESRI','102927','ESRI','179','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','180','Illinois - Effingham','Illinois - Effingham',38.73,39.22,-89.64,-88.36,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102927_USAGE','projected_crs','ESRI','102927','EPSG','4724','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','102928','NAD_1983_(2011)_ICS_Effingham_(US_Feet)',NULL,NULL,NULL,'EPSG','6318',NULL,NULL,'PROJCS["NAD_1983_(2011)_ICS_Effingham_(US_Feet)",GEOGCS["GCS_NAD_1983_2011",DATUM["D_NAD_1983_2011",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["False_Easting",7710000.0],PARAMETER["False_Northing",2756000.0],PARAMETER["Central_Meridian",-89.0],PARAMETER["Scale_Factor",1.000019],PARAMETER["Latitude_Of_Origin",38.95],UNIT["Foot_US",0.3048006096012192]]',0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102928_USAGE','projected_crs','ESRI','102928','ESRI','180','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','181','Illinois - Belleville','Illinois - Belleville',38.08,39.01,-90.38,-89.59,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102928_USAGE','projected_crs','ESRI','102928','EPSG','4727','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','157','Illinois - Belleville','Illinois - Belleville',38.08,39.01,-90.38,-89.59,0);
INSERT INTO "conversion" VALUES('ESRI','102929','unnamed',NULL,'EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',32.35,'EPSG','9102','EPSG','8802','Longitude of natural origin',-90.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.000016,'EPSG','9201','EPSG','8806','False easting',9678000.0,'EPSG','9003','EPSG','8807','False northing',492000.0,'EPSG','9003',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'CONV_102929_USAGE','conversion','ESRI','102929','ESRI','181','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', 'CONV_102929_USAGE','conversion','ESRI','102929','ESRI','157','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','102929','NAD_1983_(2011)_ICS_Belleville_(US_Feet)',NULL,'EPSG','4497','EPSG','6318','ESRI','102929',NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102929_USAGE','projected_crs','ESRI','102929','ESRI','181','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','182','Illinois - Olney','Illinois - Olney',38.23,38.92,-88.71,-87.49,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102929_USAGE','projected_crs','ESRI','102929','ESRI','157','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','102930','NAD_1983_(2011)_ICS_Olney_(US_Feet)',NULL,NULL,NULL,'EPSG','6318',NULL,NULL,'PROJCS["NAD_1983_(2011)_ICS_Olney_(US_Feet)",GEOGCS["GCS_NAD_1983_2011",DATUM["D_NAD_1983_2011",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["False_Easting",1247000.0],PARAMETER["False_Northing",3773000.0],PARAMETER["Central_Meridian",-88.15],PARAMETER["Scale_Factor",1.000013],PARAMETER["Latitude_Of_Origin",38.55],UNIT["Foot_US",0.3048006096012192]]',0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102930_USAGE','projected_crs','ESRI','102930','ESRI','182','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','183','Illinois - Mount Vernon','Illinois - Mount Vernon',38.12,38.83,-89.71,-88.69,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102930_USAGE','projected_crs','ESRI','102930','EPSG','4731','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','102931','NAD_1983_(2011)_ICS_Mount_Vernon_(US_Feet)',NULL,NULL,NULL,'EPSG','6318',NULL,NULL,'PROJCS["NAD_1983_(2011)_ICS_Mount_Vernon_(US_Feet)",GEOGCS["GCS_NAD_1983_2011",DATUM["D_NAD_1983_2011",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["False_Easting",328000.0],PARAMETER["False_Northing",3773000.0],PARAMETER["Central_Meridian",-89.15],PARAMETER["Scale_Factor",1.000015],PARAMETER["Latitude_Of_Origin",38.45],UNIT["Foot_US",0.3048006096012192]]',0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102931_USAGE','projected_crs','ESRI','102931','ESRI','183','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','184','Illinois - Carbondale','Illinois - Carbondale',37.56,38.26,-90.21,-87.91,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102931_USAGE','projected_crs','ESRI','102931','EPSG','4730','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','102932','NAD_1983_(2011)_ICS_Carbondale_(US_Feet)',NULL,NULL,NULL,'EPSG','6318',NULL,NULL,'PROJCS["NAD_1983_(2011)_ICS_Carbondale_(US_Feet)",GEOGCS["GCS_NAD_1983_2011",DATUM["D_NAD_1983_2011",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["False_Easting",2395000.0],PARAMETER["False_Northing",3773000.0],PARAMETER["Central_Meridian",-88.95],PARAMETER["Scale_Factor",1.000012],PARAMETER["Latitude_Of_Origin",37.9],UNIT["Foot_US",0.3048006096012192]]',0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102932_USAGE','projected_crs','ESRI','102932','ESRI','184','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','185','Illinois - Metropolis','Illinois - Metropolis',36.97,37.61,-89.53,-88.05,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102932_USAGE','projected_crs','ESRI','102932','EPSG','4732','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','158','Illinois - Metropolis','Illinois - Metropolis',36.97,37.61,-89.53,-88.05,0);
INSERT INTO "projected_crs" VALUES('ESRI','102933','NAD_1983_(2011)_ICS_Metropolis_(US_Feet)',NULL,NULL,NULL,'EPSG','6318',NULL,NULL,'PROJCS["NAD_1983_(2011)_ICS_Metropolis_(US_Feet)",GEOGCS["GCS_NAD_1983_2011",DATUM["D_NAD_1983_2011",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic_1SP"],PARAMETER["False_Easting",3642000.0],PARAMETER["False_Northing",3839000.0],PARAMETER["Central_Meridian",-88.9],PARAMETER["Scale_Factor",1.00001],PARAMETER["Latitude_Of_Origin",37.2],UNIT["Foot_US",0.3048006096012192]]',0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102933_USAGE','projected_crs','ESRI','102933','ESRI','185','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','186','Bangladesh - Dinajpur','Bangladesh - Dinajpur',25.2166,26.6334,88.0833,89.3,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102933_USAGE','projected_crs','ESRI','102933','ESRI','158','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','159','Bangladesh - Dinajpur','Bangladesh - Dinajpur',25.2166,26.6334,88.0833,89.3,0);
INSERT INTO "coordinate_system" VALUES('ESRI','Chain','Cartesian',2);
INSERT INTO "axis" VALUES('ESRI','3','Easting','E','east','ESRI','Chain',1,'EPSG','9097');
INSERT INTO "axis" VALUES('ESRI','4','Northing','N','north','ESRI','Chain',2,'EPSG','9097');
INSERT INTO "conversion" VALUES('ESRI','102934','unnamed',NULL,'EPSG','9806','Cassini-Soldner','EPSG','8801','Latitude of natural origin',25.5,'EPSG','9102','EPSG','8802','Longitude of natural origin',88.5,'EPSG','9102','EPSG','8806','False easting',0.0,'EPSG','9097','EPSG','8807','False northing',0.0,'EPSG','9097',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'CONV_102934_USAGE','conversion','ESRI','102934','ESRI','186','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', 'CONV_102934_USAGE','conversion','ESRI','102934','ESRI','159','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','102934','Cassini_Bangladesh_Zone_01_Dinajpur',NULL,'ESRI','Chain','EPSG','4042','ESRI','102934',NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102934_USAGE','projected_crs','ESRI','102934','ESRI','186','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','187','Bangladesh - Rangpur','Bangladesh - Rangpur',25.0333,26.45,88.9,89.8834,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102934_USAGE','projected_crs','ESRI','102934','ESRI','159','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','160','Bangladesh - Rangpur','Bangladesh - Rangpur',25.0333,26.45,88.9,89.8834,0);
INSERT INTO "conversion" VALUES('ESRI','102935','unnamed',NULL,'EPSG','9806','Cassini-Soldner','EPSG','8801','Latitude of natural origin',25.5,'EPSG','9102','EPSG','8802','Longitude of natural origin',89.5,'EPSG','9102','EPSG','8806','False easting',0.0,'EPSG','9097','EPSG','8807','False northing',0.0,'EPSG','9097',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'CONV_102935_USAGE','conversion','ESRI','102935','ESRI','187','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', 'CONV_102935_USAGE','conversion','ESRI','102935','ESRI','160','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','102935','Cassini_Bangladesh_Zone_02_Rangpur',NULL,'ESRI','Chain','EPSG','4042','ESRI','102935',NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102935_USAGE','projected_crs','ESRI','102935','ESRI','187','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','188','Bangladesh - Rajshahi','Bangladesh - Rajshahi',24.1,25.2,88.0,89.3334,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102935_USAGE','projected_crs','ESRI','102935','ESRI','160','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','161','Bangladesh - Rajshahi','Bangladesh - Rajshahi',24.1,25.2,88.0,89.3334,0);
INSERT INTO "conversion" VALUES('ESRI','102936','unnamed',NULL,'EPSG','9806','Cassini-Soldner','EPSG','8801','Latitude of natural origin',24.5,'EPSG','9102','EPSG','8802','Longitude of natural origin',88.5,'EPSG','9102','EPSG','8806','False easting',0.0,'EPSG','9097','EPSG','8807','False northing',0.0,'EPSG','9097',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'CONV_102936_USAGE','conversion','ESRI','102936','ESRI','188','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', 'CONV_102936_USAGE','conversion','ESRI','102936','ESRI','161','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','102936','Cassini_Bangladesh_Zone_03_Rajshahi',NULL,'ESRI','Chain','EPSG','4042','ESRI','102936',NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102936_USAGE','projected_crs','ESRI','102936','ESRI','188','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','189','Bangladesh - Bogura','Bangladesh - Bogura',24.5333,25.2667,88.9166,89.75,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102936_USAGE','projected_crs','ESRI','102936','ESRI','161','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','162','Bangladesh - Bogura','Bangladesh - Bogura',24.5333,25.2667,88.9166,89.75,0);
INSERT INTO "conversion" VALUES('ESRI','102937','unnamed',NULL,'EPSG','9806','Cassini-Soldner','EPSG','8801','Latitude of natural origin',24.5,'EPSG','9102','EPSG','8802','Longitude of natural origin',89.5,'EPSG','9102','EPSG','8806','False easting',0.0,'EPSG','9097','EPSG','8807','False northing',0.0,'EPSG','9097',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'CONV_102937_USAGE','conversion','ESRI','102937','ESRI','189','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', 'CONV_102937_USAGE','conversion','ESRI','102937','ESRI','162','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','102937','Cassini_Bangladesh_Zone_04_Bogura',NULL,'ESRI','Chain','EPSG','4042','ESRI','102937',NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102937_USAGE','projected_crs','ESRI','102937','ESRI','189','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','190','Bangladesh - Pabna','Bangladesh - Pabna',23.8,24.7667,88.9833,89.8167,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102937_USAGE','projected_crs','ESRI','102937','ESRI','162','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','163','Bangladesh - Pabna','Bangladesh - Pabna',23.8,24.7667,88.9833,89.8167,0);
INSERT INTO "projected_crs" VALUES('ESRI','102938','Cassini_Bangladesh_Zone_05_Pabna',NULL,'ESRI','Chain','EPSG','4042','ESRI','102937',NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102938_USAGE','projected_crs','ESRI','102938','ESRI','190','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','191','Bangladesh - Mymensingh','Bangladesh - Mymensingh',23.95,24.4334,89.6333,91.25,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102938_USAGE','projected_crs','ESRI','102938','ESRI','163','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','164','Bangladesh - Mymensingh','Bangladesh - Mymensingh',23.95,24.4334,89.6333,91.25,0);
INSERT INTO "conversion" VALUES('ESRI','102939','unnamed',NULL,'EPSG','9806','Cassini-Soldner','EPSG','8801','Latitude of natural origin',24.5,'EPSG','9102','EPSG','8802','Longitude of natural origin',90.5,'EPSG','9102','EPSG','8806','False easting',0.0,'EPSG','9097','EPSG','8807','False northing',0.0,'EPSG','9097',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'CONV_102939_USAGE','conversion','ESRI','102939','ESRI','191','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', 'CONV_102939_USAGE','conversion','ESRI','102939','ESRI','164','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','102939','Cassini_Bangladesh_Zone_06_Mymensingh',NULL,'ESRI','Chain','EPSG','4042','ESRI','102939',NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102939_USAGE','projected_crs','ESRI','102939','ESRI','191','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','192','Bangladesh - Dhaka','Bangladesh - Dhaka',23.3666,24.3334,89.6833,90.9834,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102939_USAGE','projected_crs','ESRI','102939','ESRI','164','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','165','Bangladesh - Dhaka','Bangladesh - Dhaka',23.3666,24.3334,89.6833,90.9834,0);
INSERT INTO "projected_crs" VALUES('ESRI','102940','Cassini_Bangladesh_Zone_07_Dhaka',NULL,'ESRI','Chain','EPSG','4042','ESRI','102939',NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102940_USAGE','projected_crs','ESRI','102940','ESRI','192','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','193','Bangladesh - Faridpur','Bangladesh - Faridpur',22.8333,23.9,89.2833,89.5834,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102940_USAGE','projected_crs','ESRI','102940','ESRI','165','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','166','Bangladesh - Faridpur','Bangladesh - Faridpur',22.8333,23.9,89.2833,89.5834,0);
INSERT INTO "conversion" VALUES('ESRI','102941','unnamed',NULL,'EPSG','9806','Cassini-Soldner','EPSG','8801','Latitude of natural origin',23.5,'EPSG','9102','EPSG','8802','Longitude of natural origin',90.0,'EPSG','9102','EPSG','8806','False easting',0.0,'EPSG','9097','EPSG','8807','False northing',0.0,'EPSG','9097',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'CONV_102941_USAGE','conversion','ESRI','102941','ESRI','193','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', 'CONV_102941_USAGE','conversion','ESRI','102941','ESRI','166','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','102941','Cassini_Bangladesh_Zone_08_Faridpur',NULL,'ESRI','Chain','EPSG','4042','ESRI','102941',NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102941_USAGE','projected_crs','ESRI','102941','ESRI','193','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','194','Bangladesh - Sylhet','Bangladesh - Sylhet',23.9666,25.2,90.9166,92.4834,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102941_USAGE','projected_crs','ESRI','102941','ESRI','166','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','167','Bangladesh - Sylhet','Bangladesh - Sylhet',23.9666,25.2,90.9166,92.4834,0);
INSERT INTO "conversion" VALUES('ESRI','102942','unnamed',NULL,'EPSG','9806','Cassini-Soldner','EPSG','8801','Latitude of natural origin',24.5,'EPSG','9102','EPSG','8802','Longitude of natural origin',92.0,'EPSG','9102','EPSG','8806','False easting',0.0,'EPSG','9097','EPSG','8807','False northing',0.0,'EPSG','9097',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'CONV_102942_USAGE','conversion','ESRI','102942','ESRI','194','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', 'CONV_102942_USAGE','conversion','ESRI','102942','ESRI','167','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','102942','Cassini_Bangladesh_Zone_09_Sylhet',NULL,'ESRI','Chain','EPSG','4042','ESRI','102942',NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102942_USAGE','projected_crs','ESRI','102942','ESRI','194','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','195','Bangladesh - Kushtia','Bangladesh - Kushtia',23.3666,24.2167,88.55,89.35,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102942_USAGE','projected_crs','ESRI','102942','ESRI','167','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','168','Bangladesh - Kushtia','Bangladesh - Kushtia',23.3666,24.2167,88.55,89.35,0);
INSERT INTO "conversion" VALUES('ESRI','102943','unnamed',NULL,'EPSG','9806','Cassini-Soldner','EPSG','8801','Latitude of natural origin',23.5,'EPSG','9102','EPSG','8802','Longitude of natural origin',89.5,'EPSG','9102','EPSG','8806','False easting',0.0,'EPSG','9097','EPSG','8807','False northing',0.0,'EPSG','9097',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'CONV_102943_USAGE','conversion','ESRI','102943','ESRI','195','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', 'CONV_102943_USAGE','conversion','ESRI','102943','ESRI','168','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','102943','Cassini_Bangladesh_Zone_10_Kushtia',NULL,'ESRI','Chain','EPSG','4042','ESRI','102943',NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102943_USAGE','projected_crs','ESRI','102943','ESRI','195','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','196','Bangladesh - Joshore','Bangladesh - Joshore',22.7833,23.7667,88.6833,89.8,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102943_USAGE','projected_crs','ESRI','102943','ESRI','168','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','169','Bangladesh - Joshore','Bangladesh - Joshore',22.7833,23.7667,88.6833,89.8,0);
INSERT INTO "projected_crs" VALUES('ESRI','102944','Cassini_Bangladesh_Zone_11_Joshore',NULL,'ESRI','Chain','EPSG','4042','ESRI','102943',NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102944_USAGE','projected_crs','ESRI','102944','ESRI','196','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','197','Bangladesh - Khulna','Bangladesh - Khulna',21.6333,23.0,88.8833,89.95,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102944_USAGE','projected_crs','ESRI','102944','ESRI','169','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','170','Bangladesh - Khulna','Bangladesh - Khulna',21.6333,23.0,88.8833,89.95,0);
INSERT INTO "conversion" VALUES('ESRI','102945','unnamed',NULL,'EPSG','9806','Cassini-Soldner','EPSG','8801','Latitude of natural origin',22.5,'EPSG','9102','EPSG','8802','Longitude of natural origin',89.5,'EPSG','9102','EPSG','8806','False easting',0.0,'EPSG','9097','EPSG','8807','False northing',0.0,'EPSG','9097',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'CONV_102945_USAGE','conversion','ESRI','102945','ESRI','197','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', 'CONV_102945_USAGE','conversion','ESRI','102945','ESRI','170','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','102945','Cassini_Bangladesh_Zone_12_Khulna',NULL,'ESRI','Chain','EPSG','4042','ESRI','102945',NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102945_USAGE','projected_crs','ESRI','102945','ESRI','197','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','198','Bangladesh - Barishal','Bangladesh - Barishal',21.7833,23.0667,89.85,91.0334,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102945_USAGE','projected_crs','ESRI','102945','ESRI','170','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','171','Bangladesh - Barishal','Bangladesh - Barishal',21.7833,23.0667,89.85,91.0334,0);
INSERT INTO "conversion" VALUES('ESRI','102946','unnamed',NULL,'EPSG','9806','Cassini-Soldner','EPSG','8801','Latitude of natural origin',22.5,'EPSG','9102','EPSG','8802','Longitude of natural origin',90.5,'EPSG','9102','EPSG','8806','False easting',0.0,'EPSG','9097','EPSG','8807','False northing',0.0,'EPSG','9097',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'CONV_102946_USAGE','conversion','ESRI','102946','ESRI','198','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', 'CONV_102946_USAGE','conversion','ESRI','102946','ESRI','171','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','102946','Cassini_Bangladesh_Zone_13_Barishal',NULL,'ESRI','Chain','EPSG','4042','ESRI','102946',NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102946_USAGE','projected_crs','ESRI','102946','ESRI','198','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','199','Bangladesh - Cumilla','Bangladesh - Cumilla',22.9666,24.2667,90.5166,91.3667,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102946_USAGE','projected_crs','ESRI','102946','ESRI','171','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','172','Bangladesh - Cumilla','Bangladesh - Cumilla',22.9666,24.2667,90.5166,91.3667,0);
INSERT INTO "conversion" VALUES('ESRI','102947','unnamed',NULL,'EPSG','9806','Cassini-Soldner','EPSG','8801','Latitude of natural origin',23.5,'EPSG','9102','EPSG','8802','Longitude of natural origin',91.0,'EPSG','9102','EPSG','8806','False easting',0.0,'EPSG','9097','EPSG','8807','False northing',0.0,'EPSG','9097',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'CONV_102947_USAGE','conversion','ESRI','102947','ESRI','199','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', 'CONV_102947_USAGE','conversion','ESRI','102947','ESRI','172','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','102947','Cassini_Bangladesh_Zone_14_Cumilla',NULL,'ESRI','Chain','EPSG','4042','ESRI','102947',NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102947_USAGE','projected_crs','ESRI','102947','ESRI','199','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','200','Bangladesh - Noakhali','Bangladesh - Noakhali',22.0166,23.2834,90.65,91.5667,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102947_USAGE','projected_crs','ESRI','102947','ESRI','172','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','173','Bangladesh - Noakhali','Bangladesh - Noakhali',22.0166,23.2834,90.65,91.5667,0);
INSERT INTO "projected_crs" VALUES('ESRI','102948','Cassini_Bangladesh_Zone_15_Noakhali',NULL,'ESRI','Chain','EPSG','4042','ESRI','102947',NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102948_USAGE','projected_crs','ESRI','102948','ESRI','200','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','201','Bangladesh - Chottogram','Bangladesh - Chottogram',20.5833,22.9834,91.3,92.3667,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102948_USAGE','projected_crs','ESRI','102948','ESRI','173','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','174','Bangladesh - Chottogram','Bangladesh - Chottogram',20.5833,22.9834,91.3,92.3667,0);
INSERT INTO "conversion" VALUES('ESRI','102949','unnamed',NULL,'EPSG','9806','Cassini-Soldner','EPSG','8801','Latitude of natural origin',22.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',92.0,'EPSG','9102','EPSG','8806','False easting',0.0,'EPSG','9097','EPSG','8807','False northing',0.0,'EPSG','9097',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'CONV_102949_USAGE','conversion','ESRI','102949','ESRI','201','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', 'CONV_102949_USAGE','conversion','ESRI','102949','ESRI','174','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','102949','Cassini_Bangladesh_Zone_16_Chottogram',NULL,'ESRI','Chain','EPSG','4042','ESRI','102949',NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102949_USAGE','projected_crs','ESRI','102949','ESRI','201','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','202','Bangladesh - CHT','Bangladesh - CHT',21.1833,23.7334,91.7,92.6667,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102949_USAGE','projected_crs','ESRI','102949','ESRI','174','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','175','Bangladesh - CHT','Bangladesh - CHT',21.1833,23.7334,91.7,92.6667,0);
INSERT INTO "conversion" VALUES('ESRI','102950','unnamed',NULL,'EPSG','9806','Cassini-Soldner','EPSG','8801','Latitude of natural origin',22.75,'EPSG','9102','EPSG','8802','Longitude of natural origin',92.25,'EPSG','9102','EPSG','8806','False easting',0.0,'EPSG','9097','EPSG','8807','False northing',0.0,'EPSG','9097',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'CONV_102950_USAGE','conversion','ESRI','102950','ESRI','202','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', 'CONV_102950_USAGE','conversion','ESRI','102950','ESRI','175','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','102950','Cassini_Bangladesh_Zone_17_CHT',NULL,'ESRI','Chain','EPSG','4042','ESRI','102950',NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102950_USAGE','projected_crs','ESRI','102950','ESRI','202','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102950_USAGE','projected_crs','ESRI','102950','ESRI','175','EPSG','1024');
INSERT INTO "conversion" VALUES('ESRI','102951','unnamed',NULL,'EPSG','9802','Lambert Conic Conformal (2SP)','EPSG','8821','Latitude of false origin',26.0,'EPSG','9102','EPSG','8822','Longitude of false origin',90.0,'EPSG','9102','EPSG','8823','Latitude of 1st standard parallel',23.15,'EPSG','9102','EPSG','8824','Latitude of 2nd standard parallel',28.8,'EPSG','9102','EPSG','8826','Easting at false origin',2743183.6991,'EPSG','9001','EPSG','8827','Northing at false origin',914395.233,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'CONV_102951_USAGE','conversion','ESRI','102951','EPSG','1041','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','102951','LCC_Bangladesh',NULL,'EPSG','4400','EPSG','4326','ESRI','102951',NULL,0);
@@ -12341,11 +12318,11 @@ INSERT INTO "projected_crs" VALUES('ESRI','102954','BUTM2010',NULL,'EPSG','4400'
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102954_USAGE','projected_crs','ESRI','102954','EPSG','1041','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','102955','UTM_Gulshan',NULL,'EPSG','4400','EPSG','4682','EPSG','16490',NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102955_USAGE','projected_crs','ESRI','102955','EPSG','1041','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','203','Australia - Lord Howe Island - 158~E to 160~E (ISG 57/2)','Australia - Lord Howe Island - 158~E to 160~E (ISG 57/2)',-47.2,-28.15,158.0,160.0,0);
INSERT INTO "extent" VALUES('ESRI','176','Australia - Lord Howe Island - 158~E to 160~E (ISG 57/2)','Australia - Lord Howe Island - 158~E to 160~E (ISG 57/2)',-47.2,-28.15,158.0,160.0,0);
INSERT INTO "conversion" VALUES('ESRI','102961','unnamed',NULL,'EPSG','9807','Transverse Mercator','EPSG','8801','Latitude of natural origin',0.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',159.0,'EPSG','9102','EPSG','8805','Scale factor at natural origin',0.99994,'EPSG','9201','EPSG','8806','False easting',300000.0,'EPSG','9001','EPSG','8807','False northing',5000000.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'CONV_102961_USAGE','conversion','ESRI','102961','ESRI','203','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', 'CONV_102961_USAGE','conversion','ESRI','102961','ESRI','176','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','102961','AGD_1966_ISG_57_2',NULL,'EPSG','4400','EPSG','4202','ESRI','102961',NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102961_USAGE','projected_crs','ESRI','102961','ESRI','203','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', 'PCRS_102961_USAGE','projected_crs','ESRI','102961','ESRI','176','EPSG','1024');
INSERT INTO "conversion" VALUES('ESRI','102962','unnamed',NULL,'EPSG','9822','Albers Equal Area','EPSG','8821','Latitude of false origin',0.0,'EPSG','9102','EPSG','8822','Longitude of false origin',-120.0,'EPSG','9102','EPSG','8823','Latitude of 1st standard parallel',34.0,'EPSG','9102','EPSG','8824','Latitude of 2nd standard parallel',40.5,'EPSG','9102','EPSG','8826','Easting at false origin',0.0,'EPSG','9001','EPSG','8827','Northing at false origin',-4000000.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,1);
INSERT INTO "usage" VALUES('ESRI', 'CONV_102962_USAGE','conversion','ESRI','102962','EPSG','1375','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','102962','NAD_1983_2011_California_Teale_Albers',NULL,'EPSG','4400','EPSG','6318','ESRI','102962',NULL,1);
@@ -14282,31 +14259,31 @@ INSERT INTO "conversion" VALUES('ESRI','103585','unnamed',NULL,'EPSG','9807','Tr
INSERT INTO "usage" VALUES('ESRI', 'CONV_103585_USAGE','conversion','ESRI','103585','EPSG','2271','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','103585','NAD_1983_CORS96_StatePlane_Wyoming_West_FIPS_4904_Ft_US',NULL,'EPSG','4497','EPSG','6783','ESRI','103585',NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_103585_USAGE','projected_crs','ESRI','103585','EPSG','2271','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','204','Navajo Nation','Navajo Nation',32.8,37.75,-114.04,-106.17,0);
INSERT INTO "extent" VALUES('ESRI','177','Navajo Nation','Navajo Nation',32.8,37.75,-114.04,-106.17,0);
INSERT INTO "conversion" VALUES('ESRI','103586','unnamed',NULL,'EPSG','9801','Lambert Conic Conformal (1SP)','EPSG','8801','Latitude of natural origin',36.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',-109.5,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.00023,'EPSG','9201','EPSG','8806','False easting',300000.0,'EPSG','9001','EPSG','8807','False northing',600000.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'CONV_103586_USAGE','conversion','ESRI','103586','ESRI','204','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', 'CONV_103586_USAGE','conversion','ESRI','103586','ESRI','177','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','103586','NAD_1983_HARN_Navajo_Nation_Coordinate_System_Meters',NULL,'EPSG','4400','EPSG','4152','ESRI','103586',NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_103586_USAGE','projected_crs','ESRI','103586','ESRI','204','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', 'PCRS_103586_USAGE','projected_crs','ESRI','103586','ESRI','177','EPSG','1024');
INSERT INTO "conversion" VALUES('ESRI','103587','unnamed',NULL,'EPSG','9801','Lambert Conic Conformal (1SP)','EPSG','8801','Latitude of natural origin',36.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',-109.5,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.00023,'EPSG','9201','EPSG','8806','False easting',984250.0,'EPSG','9003','EPSG','8807','False northing',1968500.0,'EPSG','9003',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'CONV_103587_USAGE','conversion','ESRI','103587','ESRI','204','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', 'CONV_103587_USAGE','conversion','ESRI','103587','ESRI','177','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','103587','NAD_1983_HARN_Navajo_Nation_Coordinate_System_US_Feet',NULL,'EPSG','4497','EPSG','4152','ESRI','103587',NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_103587_USAGE','projected_crs','ESRI','103587','ESRI','204','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', 'PCRS_103587_USAGE','projected_crs','ESRI','103587','ESRI','177','EPSG','1024');
INSERT INTO "conversion" VALUES('ESRI','103588','unnamed',NULL,'EPSG','9801','Lambert Conic Conformal (1SP)','EPSG','8801','Latitude of natural origin',36.0,'EPSG','9102','EPSG','8802','Longitude of natural origin',-109.5,'EPSG','9102','EPSG','8805','Scale factor at natural origin',1.00023,'EPSG','9201','EPSG','8806','False easting',984251.968503937,'EPSG','9002','EPSG','8807','False northing',1968503.937007874,'EPSG','9002',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'CONV_103588_USAGE','conversion','ESRI','103588','ESRI','204','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', 'CONV_103588_USAGE','conversion','ESRI','103588','ESRI','177','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','103588','NAD_1983_HARN_Navajo_Nation_Coordinate_System_Intl_Feet',NULL,'EPSG','4495','EPSG','4152','ESRI','103588',NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_103588_USAGE','projected_crs','ESRI','103588','ESRI','204','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', 'PCRS_103588_USAGE','projected_crs','ESRI','103588','ESRI','177','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','103589','NAD_1983_NSRS2007_Navajo_Nation_Coordinate_System_Meters',NULL,'EPSG','4400','EPSG','4759','ESRI','103586',NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_103589_USAGE','projected_crs','ESRI','103589','ESRI','204','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', 'PCRS_103589_USAGE','projected_crs','ESRI','103589','ESRI','177','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','103590','NAD_1983_NSRS2007_Navajo_Nation_Coordinate_System_US_Feet',NULL,'EPSG','4497','EPSG','4759','ESRI','103587',NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_103590_USAGE','projected_crs','ESRI','103590','ESRI','204','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', 'PCRS_103590_USAGE','projected_crs','ESRI','103590','ESRI','177','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','103591','NAD_1983_NSRS2007_Navajo_Nation_Coordinate_System_Intl_Feet',NULL,'EPSG','4495','EPSG','4759','ESRI','103588',NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_103591_USAGE','projected_crs','ESRI','103591','ESRI','204','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', 'PCRS_103591_USAGE','projected_crs','ESRI','103591','ESRI','177','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','103592','NAD_1983_(2011)_Navajo_Nation_Coordinate_System_Meters',NULL,'EPSG','4400','EPSG','6318','ESRI','103586',NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_103592_USAGE','projected_crs','ESRI','103592','ESRI','204','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', 'PCRS_103592_USAGE','projected_crs','ESRI','103592','ESRI','177','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','103593','NAD_1983_(2011)_Navajo_Nation_Coordinate_System_US_Feet',NULL,'EPSG','4497','EPSG','6318','ESRI','103587',NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_103593_USAGE','projected_crs','ESRI','103593','ESRI','204','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', 'PCRS_103593_USAGE','projected_crs','ESRI','103593','ESRI','177','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','103594','NAD_1983_(2011)_Navajo_Nation_Coordinate_System_Intl_Feet',NULL,'EPSG','4495','EPSG','6318','ESRI','103588',NULL,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_103594_USAGE','projected_crs','ESRI','103594','ESRI','204','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', 'PCRS_103594_USAGE','projected_crs','ESRI','103594','ESRI','177','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','103595','ONGD17_UTM_Zone_39N',NULL,'EPSG','4400','EPSG','9294','EPSG','16039',NULL,1);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_103595_USAGE','projected_crs','ESRI','103595','EPSG','4322','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','103596','ONGD17_UTM_Zone_40N',NULL,'EPSG','4400','EPSG','9294','EPSG','16040',NULL,1);
@@ -15259,12 +15236,12 @@ INSERT INTO "projected_crs" VALUES('ESRI','103877','Moon_2000_North_Pole_Stereog
INSERT INTO "usage" VALUES('ESRI', 'PCRS_103877_USAGE','projected_crs','ESRI','103877','EPSG','1996','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','103878','Moon_2000_South_Pole_Stereographic',NULL,NULL,NULL,'ESRI','104903',NULL,NULL,'PROJCS["Moon_2000_South_Pole_Stereographic",GEOGCS["GCS_Moon_2000",DATUM["D_Moon_2000",SPHEROID["Moon_2000_IAU_IAG",1737400.0,0.0]],PRIMEM["Reference_Meridian",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Stereographic"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",0.0],PARAMETER["Scale_Factor",1.0],PARAMETER["Latitude_Of_Origin",-90.0],UNIT["Meter",1.0]]',0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_103878_USAGE','projected_crs','ESRI','103878','EPSG','1997','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','205','Moon - Far Side','Moon - Far Side',-90.0,90.0,90.0,-90.0,0);
INSERT INTO "extent" VALUES('ESRI','178','Moon - Far Side','Moon - Far Side',-90.0,90.0,90.0,-90.0,0);
INSERT INTO "projected_crs" VALUES('ESRI','103879','Moon_2000_Far_Side_Lambert_Azimuthal_Equal_Area',NULL,NULL,NULL,'ESRI','104903',NULL,NULL,'PROJCS["Moon_2000_Far_Side_Lambert_Azimuthal_Equal_Area",GEOGCS["GCS_Moon_2000",DATUM["D_Moon_2000",SPHEROID["Moon_2000_IAU_IAG",1737400.0,0.0]],PRIMEM["Reference_Meridian",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Azimuthal_Equal_Area"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",180.0],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0]]',0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_103879_USAGE','projected_crs','ESRI','103879','ESRI','205','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','206','Moon - Near Side','Moon - Near Side',-90.0,90.0,-90.0,90.0,0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_103879_USAGE','projected_crs','ESRI','103879','ESRI','178','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','179','Moon - Near Side','Moon - Near Side',-90.0,90.0,-90.0,90.0,0);
INSERT INTO "projected_crs" VALUES('ESRI','103880','Moon_2000_Near_Side_Lambert_Azimuthal_Equal_Area',NULL,NULL,NULL,'ESRI','104903',NULL,NULL,'PROJCS["Moon_2000_Near_Side_Lambert_Azimuthal_Equal_Area",GEOGCS["GCS_Moon_2000",DATUM["D_Moon_2000",SPHEROID["Moon_2000_IAU_IAG",1737400.0,0.0]],PRIMEM["Reference_Meridian",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Azimuthal_Equal_Area"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",0.0],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0]]',0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_103880_USAGE','projected_crs','ESRI','103880','ESRI','206','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', 'PCRS_103880_USAGE','projected_crs','ESRI','103880','ESRI','179','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','103881','Moon_2000_Equidistant_Cylindrical',NULL,NULL,NULL,'ESRI','104903',NULL,NULL,'PROJCS["Moon_2000_Equidistant_Cylindrical",GEOGCS["GCS_Moon_2000",DATUM["D_Moon_2000",SPHEROID["Moon_2000_IAU_IAG",1737400.0,0.0]],PRIMEM["Reference_Meridian",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Equidistant_Cylindrical_Ellipsoidal"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",0.0],PARAMETER["Standard_Parallel_1",0.0],UNIT["Meter",1.0]]',0);
INSERT INTO "usage" VALUES('ESRI', 'PCRS_103881_USAGE','projected_crs','ESRI','103881','EPSG','1262','EPSG','1024');
INSERT INTO "projected_crs" VALUES('ESRI','103882','Moon_2000_Sinusoidal',NULL,NULL,NULL,'ESRI','104903',NULL,NULL,'PROJCS["Moon_2000_Sinusoidal",GEOGCS["GCS_Moon_2000",DATUM["D_Moon_2000",SPHEROID["Moon_2000_IAU_IAG",1737400.0,0.0]],PRIMEM["Reference_Meridian",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Sinusoidal"],PARAMETER["False_Easting",0.0],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",0.0],UNIT["Meter",1.0]]',0);
@@ -19960,9 +19937,9 @@ INSERT INTO "helmert_transformation" VALUES('ESRI','108017','NAD_1983_PACP00_To_
INSERT INTO "usage" VALUES('ESRI', '108017_USAGE','helmert_transformation','ESRI','108017','EPSG','4162','EPSG','1024');
INSERT INTO "helmert_transformation" VALUES('ESRI','108018','NAD_1983_MARP00_To_WGS_1984',NULL,'EPSG','9607','Coordinate Frame rotation (geog2D domain)','EPSG','9072','EPSG','4326',0.1,-0.9102,2.0141,0.5602,'EPSG','9001',-0.029039,-0.010065,-0.010101,'EPSG','9104',0.0,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', '108018_USAGE','helmert_transformation','ESRI','108018','EPSG','4167','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','207','Israel, Palestine Territory, and Jordan','Israel, Palestine Territory, and Jordan',29.19,33.53,32.99,39.3,0);
INSERT INTO "extent" VALUES('ESRI','180','Israel, Palestine Territory, and Jordan','Israel, Palestine Territory, and Jordan',29.19,33.53,32.99,39.3,0);
INSERT INTO "helmert_transformation" VALUES('ESRI','108021','WGS_1984_To_Israel_CoordFrame',NULL,'EPSG','9607','Coordinate Frame rotation (geog2D domain)','EPSG','4326','EPSG','4141',1.0,-24.0024,-17.1032,-17.8444,'EPSG','9001',-0.33009,-1.85269,1.66969,'EPSG','9104',5.4248,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', '108021_USAGE','helmert_transformation','ESRI','108021','ESRI','207','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', '108021_USAGE','helmert_transformation','ESRI','108021','ESRI','180','EPSG','1024');
INSERT INTO "grid_transformation" VALUES('ESRI','108023','Datum_Lisboa_Hayford_To_WGS_1984_NTv2',NULL,'EPSG','9615','NTv2','ESRI','104106','EPSG','4326',0.1,'EPSG','8656','Latitude and longitude difference file','portugal/DLX_ETRS89_geo',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', '108023_USAGE','grid_transformation','ESRI','108023','EPSG','1294','EPSG','1024');
INSERT INTO "grid_transformation" VALUES('ESRI','108024','Datum_Lisboa_Hayford_To_ETRS_1989_NTv2',NULL,'EPSG','9615','NTv2','ESRI','104106','EPSG','4258',0.1,'EPSG','8656','Latitude and longitude difference file','portugal/DLX_ETRS89_geo',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
@@ -20095,9 +20072,9 @@ INSERT INTO "helmert_transformation" VALUES('ESRI','108106','Tokyo_To_WGS_1984_2
INSERT INTO "usage" VALUES('ESRI', '108106_USAGE','helmert_transformation','ESRI','108106','EPSG','3957','EPSG','1024');
INSERT INTO "helmert_transformation" VALUES('ESRI','108107','JGD_2000_To_WGS_1984',NULL,'EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4612','EPSG','4326',4.0,-1.126,-0.077,-0.037,'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,0);
INSERT INTO "usage" VALUES('ESRI', '108107_USAGE','helmert_transformation','ESRI','108107','EPSG','1135','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','208','Japan - NTv2','Japan - NTv2',20.0,47.0,121.0,154.0,0);
INSERT INTO "extent" VALUES('ESRI','181','Japan - NTv2','Japan - NTv2',20.0,47.0,121.0,154.0,0);
INSERT INTO "grid_transformation" VALUES('ESRI','108109','Tokyo_To_WGS_1984_NTv2',NULL,'EPSG','9615','NTv2','EPSG','4301','EPSG','4326',1.0,'EPSG','8656','Latitude and longitude difference file','japan/tky2jgd',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', '108109_USAGE','grid_transformation','ESRI','108109','ESRI','208','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', '108109_USAGE','grid_transformation','ESRI','108109','ESRI','181','EPSG','1024');
INSERT INTO "helmert_transformation" VALUES('ESRI','108110','Datum_73_To_WGS_1984_1',NULL,'EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4274','EPSG','4326',5.0,-223.237,110.193,36.649,'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,0);
INSERT INTO "usage" VALUES('ESRI', '108110_USAGE','helmert_transformation','ESRI','108110','EPSG','1294','EPSG','1024');
INSERT INTO "helmert_transformation" VALUES('ESRI','108111','ED_1950_To_WGS_1984_PT3',NULL,'EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4230','EPSG','4326',NULL,-86.277,-108.879,-120.181,'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,0);
@@ -20138,15 +20115,15 @@ INSERT INTO "helmert_transformation" VALUES('ESRI','108130','NTF_To_RGF_1993_1',
INSERT INTO "usage" VALUES('ESRI', '108130_USAGE','helmert_transformation','ESRI','108130','EPSG','3694','EPSG','1024');
INSERT INTO "grid_transformation" VALUES('ESRI','108136','ED_1950_To_WGS_1984_NTv2_Peninsula',NULL,'EPSG','9615','NTv2','EPSG','4230','EPSG','4326',1.0,'EPSG','8656','Latitude and longitude difference file','spain/peninsula',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', '108136_USAGE','grid_transformation','ESRI','108136','EPSG','4605','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','209','Northern Marianas - Rota','Northern Marianas - Rota',14.0,14.75,145.0,146.0,0);
INSERT INTO "extent" VALUES('ESRI','182','Northern Marianas - Rota','Northern Marianas - Rota',14.0,14.75,145.0,146.0,0);
INSERT INTO "helmert_transformation" VALUES('ESRI','108137','Guam_1963_To_HARN_Marianas_Rota',NULL,'EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4675','EPSG','4152',NULL,-96.234,-252.601,258.222,'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,0);
INSERT INTO "usage" VALUES('ESRI', '108137_USAGE','helmert_transformation','ESRI','108137','ESRI','209','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','210','Northern Marianas - Saipan','Northern Marianas - Saipan',14.75,15.5,145.0,146.0,0);
INSERT INTO "usage" VALUES('ESRI', '108137_USAGE','helmert_transformation','ESRI','108137','ESRI','182','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','183','Northern Marianas - Saipan','Northern Marianas - Saipan',14.75,15.5,145.0,146.0,0);
INSERT INTO "helmert_transformation" VALUES('ESRI','108138','Guam_1963_To_HARN_Marianas_Saipan',NULL,'EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4675','EPSG','4152',NULL,-91.766,-255.817,255.702,'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,0);
INSERT INTO "usage" VALUES('ESRI', '108138_USAGE','helmert_transformation','ESRI','108138','ESRI','210','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','211','Northern Marianas - Tinian and Aguijan','Northern Marianas - Tinian and Aguijan',14.75,15.13333333333333,145.5,145.75,0);
INSERT INTO "usage" VALUES('ESRI', '108138_USAGE','helmert_transformation','ESRI','108138','ESRI','183','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','184','Northern Marianas - Tinian and Aguijan','Northern Marianas - Tinian and Aguijan',14.75,15.13333333333333,145.5,145.75,0);
INSERT INTO "helmert_transformation" VALUES('ESRI','108139','Guam_1963_To_HARN_Marianas_Tinian_Aguijan',NULL,'EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4675','EPSG','4152',NULL,-93.062,-255.309,256.696,'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,0);
INSERT INTO "usage" VALUES('ESRI', '108139_USAGE','helmert_transformation','ESRI','108139','ESRI','211','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', '108139_USAGE','helmert_transformation','ESRI','108139','ESRI','184','EPSG','1024');
INSERT INTO "helmert_transformation" VALUES('ESRI','108145','NGO_1948_Oslo_To_WGS_1984',NULL,'EPSG','9607','Coordinate Frame rotation (geog2D domain)','EPSG','4817','EPSG','4326',5.0,319.08,37.81,463.57,'EPSG','9001',-6.2970588,1.2903926,5.712916338,'EPSG','9104',10.819,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', '108145_USAGE','helmert_transformation','ESRI','108145','EPSG','1352','EPSG','1024');
INSERT INTO "helmert_transformation" VALUES('ESRI','108146','NGO_1948_Oslo_To_ETRS_1989_1',NULL,'EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','4817','EPSG','4258',3.0,278.3,93.0,474.5,'EPSG','9001',7.889,0.05,-6.61,'EPSG','9104',6.21,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
@@ -20201,27 +20178,27 @@ INSERT INTO "helmert_transformation" VALUES('ESRI','108172','Sao_Braz_To_PTRA08_
INSERT INTO "usage" VALUES('ESRI', '108172_USAGE','helmert_transformation','ESRI','108172','EPSG','1345','EPSG','1024');
INSERT INTO "helmert_transformation" VALUES('ESRI','108173','Sao_Braz_To_PTRA08_2_7par',NULL,'EPSG','9606','Position Vector transformation (geog2D domain)','ESRI','37249','EPSG','5013',0.03,-249.507,179.302,119.92,'EPSG','9001',1.406,2.423,-0.479,'EPSG','9104',0.952,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', '108173_USAGE','helmert_transformation','ESRI','108173','EPSG','2871','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','212','Azores - Santa Maria Island','Azores - Santa Maria Island',36.9,37.1,-25.25,-24.95,0);
INSERT INTO "extent" VALUES('ESRI','185','Azores - Santa Maria Island','Azores - Santa Maria Island',36.9,37.1,-25.25,-24.95,0);
INSERT INTO "helmert_transformation" VALUES('ESRI','108174','Sao_Braz_To_PTRA08_3_7par',NULL,'EPSG','9606','Position Vector transformation (geog2D domain)','ESRI','37249','EPSG','5013',0.01,-440.296,58.548,296.265,'EPSG','9001',1.128,10.202,4.559,'EPSG','9104',-0.438,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', '108174_USAGE','helmert_transformation','ESRI','108174','ESRI','212','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', '108174_USAGE','helmert_transformation','ESRI','108174','ESRI','185','EPSG','1024');
INSERT INTO "helmert_transformation" VALUES('ESRI','108175','Sao_Braz_To_PTRA08_1_3par',NULL,'EPSG','9603','Geocentric translations (geog2D domain)','ESRI','37249','EPSG','5013',0.8,-204.926,140.353,55.063,'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,0);
INSERT INTO "usage" VALUES('ESRI', '108175_USAGE','helmert_transformation','ESRI','108175','EPSG','1345','EPSG','1024');
INSERT INTO "helmert_transformation" VALUES('ESRI','108176','Sao_Braz_To_PTRA08_2_3par',NULL,'EPSG','9603','Geocentric translations (geog2D domain)','ESRI','37249','EPSG','5013',0.8,-204.519,140.159,55.404,'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,0);
INSERT INTO "usage" VALUES('ESRI', '108176_USAGE','helmert_transformation','ESRI','108176','EPSG','2871','EPSG','1024');
INSERT INTO "helmert_transformation" VALUES('ESRI','108177','Sao_Braz_To_PTRA08_3_3par',NULL,'EPSG','9603','Geocentric translations (geog2D domain)','ESRI','37249','EPSG','5013',0.8,-205.808,140.771,54.326,'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,0);
INSERT INTO "usage" VALUES('ESRI', '108177_USAGE','helmert_transformation','ESRI','108177','ESRI','212','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', '108177_USAGE','helmert_transformation','ESRI','108177','ESRI','185','EPSG','1024');
INSERT INTO "helmert_transformation" VALUES('ESRI','108178','Sao_Braz_To_WGS_1984_1_7par',NULL,'EPSG','9606','Position Vector transformation (geog2D domain)','ESRI','37249','EPSG','4326',0.035,-269.089,186.247,155.667,'EPSG','9001',2.005,3.606,-0.366,'EPSG','9104',0.097,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', '108178_USAGE','helmert_transformation','ESRI','108178','EPSG','1345','EPSG','1024');
INSERT INTO "helmert_transformation" VALUES('ESRI','108179','Sao_Braz_To_WGS_1984_2_7par',NULL,'EPSG','9606','Position Vector transformation (geog2D domain)','ESRI','37249','EPSG','4326',0.04,-249.507,179.302,119.92,'EPSG','9001',1.406,2.423,-0.479,'EPSG','9104',0.952,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', '108179_USAGE','helmert_transformation','ESRI','108179','EPSG','2871','EPSG','1024');
INSERT INTO "helmert_transformation" VALUES('ESRI','108180','Sao_Braz_To_WGS_1984_3_7par',NULL,'EPSG','9606','Position Vector transformation (geog2D domain)','ESRI','37249','EPSG','4326',0.03,-440.296,58.548,296.265,'EPSG','9001',1.128,10.202,4.559,'EPSG','9104',-0.438,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', '108180_USAGE','helmert_transformation','ESRI','108180','ESRI','212','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', '108180_USAGE','helmert_transformation','ESRI','108180','ESRI','185','EPSG','1024');
INSERT INTO "helmert_transformation" VALUES('ESRI','108181','Sao_Braz_To_WGS_1984_1_3par',NULL,'EPSG','9603','Geocentric translations (geog2D domain)','ESRI','37249','EPSG','4326',0.9,-204.926,140.353,55.063,'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,0);
INSERT INTO "usage" VALUES('ESRI', '108181_USAGE','helmert_transformation','ESRI','108181','EPSG','1345','EPSG','1024');
INSERT INTO "helmert_transformation" VALUES('ESRI','108182','Sao_Braz_To_WGS_1984_2_3par',NULL,'EPSG','9603','Geocentric translations (geog2D domain)','ESRI','37249','EPSG','4326',0.9,-204.519,140.159,55.404,'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,0);
INSERT INTO "usage" VALUES('ESRI', '108182_USAGE','helmert_transformation','ESRI','108182','EPSG','2871','EPSG','1024');
INSERT INTO "helmert_transformation" VALUES('ESRI','108183','Sao_Braz_To_WGS_1984_3_3par',NULL,'EPSG','9603','Geocentric translations (geog2D domain)','ESRI','37249','EPSG','4326',0.9,-205.808,140.771,54.326,'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,0);
INSERT INTO "usage" VALUES('ESRI', '108183_USAGE','helmert_transformation','ESRI','108183','ESRI','212','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', '108183_USAGE','helmert_transformation','ESRI','108183','ESRI','185','EPSG','1024');
INSERT INTO "helmert_transformation" VALUES('ESRI','108184','Graciosa_1948_To_PTRA08_1_7par',NULL,'EPSG','9606','Position Vector transformation (geog2D domain)','ESRI','37241','EPSG','5013',0.18,-185.391,122.266,35.989,'EPSG','9001',0.12,3.18,2.046,'EPSG','9104',-1.053,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', '108184_USAGE','helmert_transformation','ESRI','108184','EPSG','1301','EPSG','1024');
INSERT INTO "helmert_transformation" VALUES('ESRI','108185','Graciosa_1948_To_PTRA08_2_7par',NULL,'EPSG','9606','Position Vector transformation (geog2D domain)','ESRI','37241','EPSG','5013',0.005,-76.822,257.457,-12.817,'EPSG','9001',2.136,-0.033,-2.392,'EPSG','9104',-0.031,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
@@ -20272,11 +20249,11 @@ INSERT INTO "helmert_transformation" VALUES('ESRI','108212','SWEREF99_To_RT90',N
INSERT INTO "usage" VALUES('ESRI', '108212_USAGE','helmert_transformation','ESRI','108212','EPSG','1225','EPSG','1024');
INSERT INTO "helmert_transformation" VALUES('ESRI','108213','WGS_1984_To_RT90',NULL,'EPSG','9607','Coordinate Frame rotation (geog2D domain)','EPSG','4326','EPSG','4124',NULL,-414.0978567149,-41.3381489658,-603.0627177516,'EPSG','9001',-0.8550434314,2.1413465185,-7.0227209516,'EPSG','9104',0.0,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', '108213_USAGE','helmert_transformation','ESRI','108213','EPSG','1225','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','213','Iceland - NADCON','Iceland - NADCON',63.2700005,66.6600003,-24.6499996,-13.2499999,0);
INSERT INTO "extent" VALUES('ESRI','186','Iceland - NADCON','Iceland - NADCON',63.2700005,66.6600003,-24.6499996,-13.2499999,0);
INSERT INTO "grid_transformation" VALUES('ESRI','108214','ISN_1993_To_ISN_2004',NULL,'EPSG','9615','NTv2','EPSG','4659','EPSG','5324',0.05,'EPSG','8656','Latitude and longitude difference file','icegrid2004',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', '108214_USAGE','grid_transformation','ESRI','108214','ESRI','213','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', '108214_USAGE','grid_transformation','ESRI','108214','ESRI','186','EPSG','1024');
INSERT INTO "grid_transformation" VALUES('ESRI','108216','ISN_2004_To_ISN_1993',NULL,'EPSG','9615','NTv2','EPSG','5324','EPSG','4659',0.05,'EPSG','8656','Latitude and longitude difference file','ICEGRID93',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', '108216_USAGE','grid_transformation','ESRI','108216','ESRI','213','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', '108216_USAGE','grid_transformation','ESRI','108216','ESRI','186','EPSG','1024');
INSERT INTO "helmert_transformation" VALUES('ESRI','108217','La_Canoa_To_SIRGAS',NULL,'EPSG','9636','Molodensky-Badekas (CF geog2D domain)','EPSG','4247','EPSG','4170',15.0,-270.933,115.599,-360.226,'EPSG','9001',-5.266,-1.238,2.381,'EPSG','9104',-5.109,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,2464351.594,-5783466.613,974809.808,'EPSG','9001',NULL,0);
INSERT INTO "usage" VALUES('ESRI', '108217_USAGE','helmert_transformation','ESRI','108217','EPSG','3327','EPSG','1024');
INSERT INTO "helmert_transformation" VALUES('ESRI','108220','Palestine_1923_To_WGS_1984_1X',NULL,'EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4281','EPSG','4326',1.5,-181.0,-122.0,225.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,0);
@@ -20383,26 +20360,26 @@ INSERT INTO "helmert_transformation" VALUES('ESRI','108296','Graciosa_1948_To_WG
INSERT INTO "usage" VALUES('ESRI', '108296_USAGE','helmert_transformation','ESRI','108296','EPSG','2875','EPSG','1024');
INSERT INTO "helmert_transformation" VALUES('ESRI','108297','Graciosa_1948_To_WGS_1984_6_3par',NULL,'EPSG','9603','Geocentric translations (geog2D domain)','ESRI','37241','EPSG','4326',0.2,-106.235,166.236,-37.768,'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,0);
INSERT INTO "usage" VALUES('ESRI', '108297_USAGE','helmert_transformation','ESRI','108297','EPSG','2872','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','214','USA - Idaho and Montana','USA - Idaho and Montana',41.0,49.38,-119.0,-104.0,0);
INSERT INTO "extent" VALUES('ESRI','187','USA - Idaho and Montana','USA - Idaho and Montana',41.0,49.38,-119.0,-104.0,0);
INSERT INTO "grid_transformation" VALUES('ESRI','108298','NAD_1983_To_HARN_Montana_Idaho',NULL,'EPSG','9615','NTv2','EPSG','4269','EPSG','4152',0.05,'EPSG','8656','Latitude and longitude difference file','imhpgn',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', '108298_USAGE','grid_transformation','ESRI','108298','ESRI','214','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', '108298_USAGE','grid_transformation','ESRI','108298','ESRI','187','EPSG','1024');
INSERT INTO "helmert_transformation" VALUES('ESRI','108299','Guam_1963_To_WGS_1984_Saipan',NULL,'EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4675','EPSG','4326',NULL,59.935,118.4,-10.871,'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,0);
INSERT INTO "usage" VALUES('ESRI', '108299_USAGE','helmert_transformation','ESRI','108299','ESRI','210','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', '108299_USAGE','helmert_transformation','ESRI','108299','ESRI','183','EPSG','1024');
INSERT INTO "helmert_transformation" VALUES('ESRI','108300','NAD_1983_HARN_To_WGS_1984_Saipan',NULL,'EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4152','EPSG','4326',NULL,1.2,0.4,0.55,'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,0);
INSERT INTO "usage" VALUES('ESRI', '108300_USAGE','helmert_transformation','ESRI','108300','ESRI','210','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', '108300_USAGE','helmert_transformation','ESRI','108300','ESRI','183','EPSG','1024');
INSERT INTO "grid_transformation" VALUES('ESRI','108302','ATS_1977_To_NAD_1983_CSRS_NTv2_Maritimes',NULL,'EPSG','9615','NTv2','EPSG','4122','EPSG','4617',NULL,'EPSG','8656','Latitude and longitude difference file','canada/GS7783',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', '108302_USAGE','grid_transformation','ESRI','108302','EPSG','1283','EPSG','1024');
INSERT INTO "helmert_transformation" VALUES('ESRI','108303','Pohnpei_To_WGS_1984',NULL,'EPSG','9603','Geocentric translations (geog2D domain)','ESRI','104109','EPSG','4326',NULL,-89.121,-348.182,260.871,'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,0);
INSERT INTO "usage" VALUES('ESRI', '108303_USAGE','helmert_transformation','ESRI','108303','EPSG','1161','EPSG','1024');
INSERT INTO "grid_transformation" VALUES('ESRI','108304','Guam_1963_To_NAD_1983_HARN_Saipan',NULL,'EPSG','9615','NTv2','EPSG','4675','EPSG','4152',NULL,'EPSG','8656','Latitude and longitude difference file','c1hpgn',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', '108304_USAGE','grid_transformation','ESRI','108304','ESRI','210','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', '108304_USAGE','grid_transformation','ESRI','108304','ESRI','183','EPSG','1024');
INSERT INTO "grid_transformation" VALUES('ESRI','108305','Guam_1963_To_NAD_1983_HARN_Rota',NULL,'EPSG','9615','NTv2','EPSG','4675','EPSG','4152',NULL,'EPSG','8656','Latitude and longitude difference file','c2hpgn',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', '108305_USAGE','grid_transformation','ESRI','108305','ESRI','209','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', '108305_USAGE','grid_transformation','ESRI','108305','ESRI','182','EPSG','1024');
INSERT INTO "grid_transformation" VALUES('ESRI','108306','Old_Hawaiian_To_NAD_1983_HARN_Hawaii',NULL,'EPSG','9615','NTv2','EPSG','4135','EPSG','4152',0.05,'EPSG','8656','Latitude and longitude difference file','ohdhihpgn',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', '108306_USAGE','grid_transformation','ESRI','108306','EPSG','1334','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','215','Pacific - USA interests Pacific and Mariana plates','Pacific - USA interests Pacific and Mariana plates',-17.56,31.8,129.48,-151.27,0);
INSERT INTO "extent" VALUES('ESRI','188','Pacific - USA interests Pacific and Mariana plates','Pacific - USA interests Pacific and Mariana plates',-17.56,31.8,129.48,-151.27,0);
INSERT INTO "helmert_transformation" VALUES('ESRI','108307','NAD_1983_HARN_PACP00_MARP00_To_WGS_1984',NULL,'EPSG','9607','Coordinate Frame rotation (geog2D domain)','EPSG','4152','EPSG','4326',NULL,-0.9102,2.0141,0.5602,'EPSG','9001',-0.029039,-0.010065,-0.010101,'EPSG','9104',0.0,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', '108307_USAGE','helmert_transformation','ESRI','108307','ESRI','215','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', '108307_USAGE','helmert_transformation','ESRI','108307','ESRI','188','EPSG','1024');
INSERT INTO "helmert_transformation" VALUES('ESRI','108330','Old_Hawaiian_Intl_1924_To_WGS_1984_Mean',NULL,'EPSG','9603','Geocentric translations (geog2D domain)','ESRI','104138','EPSG','4326',38.0,201.0,-228.0,-346.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,0);
INSERT INTO "usage" VALUES('ESRI', '108330_USAGE','helmert_transformation','ESRI','108330','EPSG','1334','EPSG','1024');
INSERT INTO "helmert_transformation" VALUES('ESRI','108331','Old_Hawaiian_Intl_1924_To_WGS_1984_Hawaii',NULL,'EPSG','9603','Geocentric translations (geog2D domain)','ESRI','104138','EPSG','4326',44.0,229.0,-222.0,-348.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,0);
@@ -20421,27 +20398,27 @@ INSERT INTO "helmert_transformation" VALUES('ESRI','108337','Hong_Kong_1980_To_I
INSERT INTO "usage" VALUES('ESRI', '108337_USAGE','helmert_transformation','ESRI','108337','EPSG','1118','EPSG','1024');
INSERT INTO "helmert_transformation" VALUES('ESRI','108341','Observatorio_Meteorologico_1939_To_PTRA08_1_7par',NULL,'EPSG','9606','Position Vector transformation (geog2D domain)','ESRI','37245','EPSG','5013',0.03,-487.978,-226.275,102.787,'EPSG','9001',-0.743,1.677,2.087,'EPSG','9104',1.485,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', '108341_USAGE','helmert_transformation','ESRI','108341','EPSG','1344','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','216','Azores - Flores Island','Azores - Flores Island',39.35,39.5,-31.3,-31.1,0);
INSERT INTO "extent" VALUES('ESRI','189','Azores - Flores Island','Azores - Flores Island',39.35,39.5,-31.3,-31.1,0);
INSERT INTO "helmert_transformation" VALUES('ESRI','108342','Observatorio_Meteorologico_1939_To_PTRA08_2_7par',NULL,'EPSG','9606','Position Vector transformation (geog2D domain)','ESRI','37245','EPSG','5013',0.02,-511.151,-181.269,139.609,'EPSG','9001',1.05,2.703,1.798,'EPSG','9104',3.071,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', '108342_USAGE','helmert_transformation','ESRI','108342','ESRI','216','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', '108342_USAGE','helmert_transformation','ESRI','108342','ESRI','189','EPSG','1024');
INSERT INTO "helmert_transformation" VALUES('ESRI','108343','Observatorio_Meteorologico_1939_To_PTRA08_3_7par',NULL,'EPSG','9606','Position Vector transformation (geog2D domain)','ESRI','37245','EPSG','5013',0.07,-1333.976,-487.235,945.031,'EPSG','9001',6.674,35.963,20.438,'EPSG','9104',-11.187,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', '108343_USAGE','helmert_transformation','ESRI','108343','EPSG','3685','EPSG','1024');
INSERT INTO "helmert_transformation" VALUES('ESRI','108344','Observatorio_Meteorologico_1939_To_PTRA08_1_3par',NULL,'EPSG','9603','Geocentric translations (geog2D domain)','ESRI','37245','EPSG','5013',0.06,-423.058,-172.868,83.772,'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,0);
INSERT INTO "usage" VALUES('ESRI', '108344_USAGE','helmert_transformation','ESRI','108344','EPSG','1344','EPSG','1024');
INSERT INTO "helmert_transformation" VALUES('ESRI','108345','Observatorio_Meteorologico_1939_To_PTRA08_2_3par',NULL,'EPSG','9603','Geocentric translations (geog2D domain)','ESRI','37245','EPSG','5013',0.056,-423.053,-172.871,83.771,'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,0);
INSERT INTO "usage" VALUES('ESRI', '108345_USAGE','helmert_transformation','ESRI','108345','ESRI','216','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', '108345_USAGE','helmert_transformation','ESRI','108345','ESRI','189','EPSG','1024');
INSERT INTO "helmert_transformation" VALUES('ESRI','108346','Observatorio_Meteorologico_1939_To_PTRA08_3_3par',NULL,'EPSG','9603','Geocentric translations (geog2D domain)','ESRI','37245','EPSG','5013',0.064,-423.024,-172.923,83.83,'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,0);
INSERT INTO "usage" VALUES('ESRI', '108346_USAGE','helmert_transformation','ESRI','108346','EPSG','3685','EPSG','1024');
INSERT INTO "helmert_transformation" VALUES('ESRI','108347','Observatorio_Meteorologico_1939_To_WGS_1984_1_7par',NULL,'EPSG','9606','Position Vector transformation (geog2D domain)','ESRI','37245','EPSG','4326',0.06,-487.978,-226.275,102.787,'EPSG','9001',-0.743,1.677,2.087,'EPSG','9104',1.485,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', '108347_USAGE','helmert_transformation','ESRI','108347','EPSG','1344','EPSG','1024');
INSERT INTO "helmert_transformation" VALUES('ESRI','108348','Observatorio_Meteorologico_1939_To_WGS_1984_2_7par',NULL,'EPSG','9606','Position Vector transformation (geog2D domain)','ESRI','37245','EPSG','4326',0.05,-511.151,-181.269,139.609,'EPSG','9001',1.05,2.703,1.798,'EPSG','9104',3.071,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', '108348_USAGE','helmert_transformation','ESRI','108348','ESRI','216','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', '108348_USAGE','helmert_transformation','ESRI','108348','ESRI','189','EPSG','1024');
INSERT INTO "helmert_transformation" VALUES('ESRI','108349','Observatorio_Meteorologico_1939_To_WGS_1984_3_7par',NULL,'EPSG','9606','Position Vector transformation (geog2D domain)','ESRI','37245','EPSG','4326',0.1,-1333.976,-487.235,945.031,'EPSG','9001',6.674,35.963,20.438,'EPSG','9104',-11.187,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', '108349_USAGE','helmert_transformation','ESRI','108349','EPSG','3685','EPSG','1024');
INSERT INTO "helmert_transformation" VALUES('ESRI','108350','Observatorio_Meteorologico_1939_To_WGS_1984_1_3par',NULL,'EPSG','9603','Geocentric translations (geog2D domain)','ESRI','37245','EPSG','4326',0.1,-423.058,-172.868,83.772,'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,0);
INSERT INTO "usage" VALUES('ESRI', '108350_USAGE','helmert_transformation','ESRI','108350','EPSG','1344','EPSG','1024');
INSERT INTO "helmert_transformation" VALUES('ESRI','108351','Observatorio_Meteorologico_1939_To_WGS_1984_2_3par',NULL,'EPSG','9603','Geocentric translations (geog2D domain)','ESRI','37245','EPSG','4326',0.08,-423.053,-172.871,83.771,'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,0);
INSERT INTO "usage" VALUES('ESRI', '108351_USAGE','helmert_transformation','ESRI','108351','ESRI','216','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', '108351_USAGE','helmert_transformation','ESRI','108351','ESRI','189','EPSG','1024');
INSERT INTO "helmert_transformation" VALUES('ESRI','108352','Observatorio_Meteorologico_1939_To_WGS_1984_3_3par',NULL,'EPSG','9603','Geocentric translations (geog2D domain)','ESRI','37245','EPSG','4326',0.085,-423.024,-172.923,83.83,'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,0);
INSERT INTO "usage" VALUES('ESRI', '108352_USAGE','helmert_transformation','ESRI','108352','EPSG','3685','EPSG','1024');
INSERT INTO "helmert_transformation" VALUES('ESRI','108353','ITRF_2000_To_NAD_1983_2011',NULL,'EPSG','9607','Coordinate Frame rotation (geog2D domain)','EPSG','8997','EPSG','6318',0.1,0.9956,-1.9013,-0.5215,'EPSG','9001',0.025915,0.009426,0.011599,'EPSG','9104',0.00062,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
@@ -20490,15 +20467,15 @@ INSERT INTO "helmert_transformation" VALUES('ESRI','108376','Barbados_1938_To_WG
INSERT INTO "usage" VALUES('ESRI', '108376_USAGE','helmert_transformation','ESRI','108376','EPSG','3218','EPSG','1024');
INSERT INTO "helmert_transformation" VALUES('ESRI','108377','NAD_1983_HARN_To_NAD_1983_MA11',NULL,'EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4152','EPSG','6325',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,NULL,0);
INSERT INTO "usage" VALUES('ESRI', '108377_USAGE','helmert_transformation','ESRI','108377','EPSG','4167','EPSG','1024');
INSERT INTO "extent" VALUES('ESRI','217','Australia - Lord Howe and Norfolk Islands onshore','Australia - Lord Howe and Norfolk Islands onshore',-32.3333,-28.6333,158.8,168.3333,0);
INSERT INTO "extent" VALUES('ESRI','190','Australia - Lord Howe and Norfolk Islands onshore','Australia - Lord Howe and Norfolk Islands onshore',-32.3333,-28.6333,158.8,168.3333,0);
INSERT INTO "grid_transformation" VALUES('ESRI','108440','WGS_1984_To_GDA2020_NTv2_CPD_plus_Lord_Howe_Norfolk',NULL,'EPSG','9615','NTv2','EPSG','4326','EPSG','7844',3.2,'EPSG','8656','Latitude and longitude difference file','australia/gda94_gda2020_CPD_plus_lordhowe_norfolk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', '108440_USAGE','grid_transformation','ESRI','108440','ESRI','217','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', '108440_USAGE','grid_transformation','ESRI','108440','ESRI','190','EPSG','1024');
INSERT INTO "grid_transformation" VALUES('ESRI','108441','GDA_1994_To_WGS_1984_NTv2_CPD_plus_Lord_Howe_Norfolk',NULL,'EPSG','9615','NTv2','EPSG','4283','EPSG','4326',3.1,'EPSG','8656','Latitude and longitude difference file','australia/gda94_gda2020_CPD_plus_lordhowe_norfolk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', '108441_USAGE','grid_transformation','ESRI','108441','ESRI','217','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', '108441_USAGE','grid_transformation','ESRI','108441','ESRI','190','EPSG','1024');
INSERT INTO "other_transformation" VALUES('ESRI','108442','ATRF_2014_To_GDA2020_Null',NULL,'EPSG','9619','Geographic2D offsets','EPSG','9309','EPSG','7844',0.005,'EPSG','8601','Latitude offset',0,'EPSG','9104','EPSG','8602','Longitude offset',0,'EPSG','9104',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', '108442_USAGE','other_transformation','ESRI','108442','EPSG','4177','EPSG','1024');
INSERT INTO "grid_transformation" VALUES('ESRI','108443','GDA_1994_To_GDA2020_NTv2_CPD_plus_Lord_Howe_Norfolk',NULL,'EPSG','9615','NTv2','EPSG','4283','EPSG','7844',0.05,'EPSG','8656','Latitude and longitude difference file','australia/gda94_gda2020_CPD_plus_lordhowe_norfolk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('ESRI', '108443_USAGE','grid_transformation','ESRI','108443','ESRI','217','EPSG','1024');
INSERT INTO "usage" VALUES('ESRI', '108443_USAGE','grid_transformation','ESRI','108443','ESRI','190','EPSG','1024');
INSERT INTO "helmert_transformation" VALUES('ESRI','108448','Bab_South_To_WGS_1984',NULL,'EPSG','9603','Geocentric translations (geog2D domain)','ESRI','104112','EPSG','4326',NULL,-185.583,-230.096,281.361,'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,0);
INSERT INTO "usage" VALUES('ESRI', '108448_USAGE','helmert_transformation','ESRI','108448','EPSG','1185','EPSG','1024');
INSERT INTO "helmert_transformation" VALUES('ESRI','108449','Majuro_To_WGS_1984',NULL,'EPSG','9603','Geocentric translations (geog2D domain)','ESRI','104113','EPSG','4326',NULL,25.1,-275.6,222.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,NULL,0);
+5 -3
View File
@@ -1171,7 +1171,7 @@ INSERT INTO "extent" VALUES('EPSG','2191','USA - Idaho - SPCS - C','United State
INSERT INTO "extent" VALUES('EPSG','2192','USA - Idaho - SPCS - E','United States (USA) - Idaho - counties of Bannock; Bear Lake; Bingham; Bonneville; Caribou; Clark; Franklin; Fremont; Jefferson; Madison; Oneida; Power; Teton.',41.99,44.75,-113.24,-111.04,0);
INSERT INTO "extent" VALUES('EPSG','2193','USA - Idaho - SPCS - W','United States (USA) - Idaho - counties of Ada; Adams; Benewah; Boise; Bonner; Boundary; Canyon; Clearwater; Elmore; Gem; Idaho; Kootenai; Latah; Lewis; Nez Perce; Owyhee; Payette; Shoshone; Valley; Washington.',41.99,49.01,-117.24,-114.32,0);
INSERT INTO "extent" VALUES('EPSG','2194','USA - Illinois - SPCS - E','United States (USA) - Illinois - counties of Boone; Champaign; Clark; Clay; Coles; Cook; Crawford; Cumberland; De Kalb; De Witt; Douglas; Du Page; Edgar; Edwards; Effingham; Fayette; Ford; Franklin; Gallatin; Grundy; Hamilton; Hardin; Iroquois; Jasper; Jefferson; Johnson; Kane; Kankakee; Kendall; La Salle; Lake; Lawrence; Livingston; Macon; Marion; Massac; McHenry; McLean; Moultrie; Piatt; Pope; Richland; Saline; Shelby; Vermilion; Wabash; Wayne; White; Will; Williamson.',37.06,42.5,-89.27,-87.02,0);
INSERT INTO "extent" VALUES('EPSG','2195','USA - Illinois - SPCS - W','United States (USA) - Illinois - counties of Adams; Alexander; Bond; Brown; Bureau; Calhoun; Carroll; Cass; Christian; Clinton; Fulton; Greene; Hancock; Henderson; Henry; Jackson; Jersey; Jo Daviess; Knox; Lee; Logan; Macoupin; Madison; Marshall; Mason; McDonough; Menard; Mercer; Monroe; Montgomery; Morgan; Ogle; Peoria; Perry; Pike; Pulaski; Putnam; Randolph; Rock Island; Sangamon; Schuyler; Scott; St Clair; Stark; Stephenson; Tazewell; Union; Warren; Washington; Whiteside; Winnebago; Woodford.',36.97,42.51,-91.52,-87.02,0);
INSERT INTO "extent" VALUES('EPSG','2195','USA - Illinois - SPCS - W','United States (USA) - Illinois - counties of Adams; Alexander; Bond; Brown; Bureau; Calhoun; Carroll; Cass; Christian; Clinton; Fulton; Greene; Hancock; Henderson; Henry; Jackson; Jersey; Jo Daviess; Knox; Lee; Logan; Macoupin; Madison; Marshall; Mason; McDonough; Menard; Mercer; Monroe; Montgomery; Morgan; Ogle; Peoria; Perry; Pike; Pulaski; Putnam; Randolph; Rock Island; Sangamon; Schuyler; Scott; St Clair; Stark; Stephenson; Tazewell; Union; Warren; Washington; Whiteside; Winnebago; Woodford.',36.97,42.51,-91.52,-88.92,0);
INSERT INTO "extent" VALUES('EPSG','2196','USA - Indiana - SPCS - E','United States (USA) - Indiana - counties of Adams; Allen; Bartholomew; Blackford; Brown; Cass; Clark; De Kalb; Dearborn; Decatur; Delaware; Elkhart; Fayette; Floyd; Franklin; Fulton; Grant; Hamilton; Hancock; Harrison; Henry; Howard; Huntington; Jackson; Jay; Jefferson; Jennings; Johnson; Kosciusko; Lagrange; Madison; Marion; Marshall; Miami; Noble; Ohio; Randolph; Ripley; Rush; Scott; Shelby; St Joseph; Steuben; Switzerland; Tipton; Union; Wabash; Washington; Wayne; Wells; Whitley.',37.95,41.77,-86.59,-84.78,0);
INSERT INTO "extent" VALUES('EPSG','2197','USA - Indiana - SPCS - W','United States (USA) - Indiana - counties of Benton; Boone; Carroll; Clay; Clinton; Crawford; Daviess; Dubois; Fountain; Gibson; Greene; Hendricks; Jasper; Knox; La Porte; Lake; Lawrence; Martin; Monroe; Montgomery; Morgan; Newton; Orange; Owen; Parke; Perry; Pike; Porter; Posey; Pulaski; Putnam; Spencer; Starke; Sullivan; Tippecanoe; Vanderburgh; Vermillion; Vigo; Warren; Warrick; White.',37.77,41.77,-88.1,-86.24,0);
INSERT INTO "extent" VALUES('EPSG','2198','USA - Iowa - SPCS - N','United States (USA) - Iowa - counties of Allamakee; Benton; Black Hawk; Boone; Bremer; Buchanan; Buena Vista; Butler; Calhoun; Carroll; Cerro Gordo; Cherokee; Chickasaw; Clay; Clayton; Crawford; Delaware; Dickinson; Dubuque; Emmet; Fayette; Floyd; Franklin; Greene; Grundy; Hamilton; Hancock; Hardin; Howard; Humboldt; Ida; Jackson; Jones; Kossuth; Linn; Lyon; Marshall; Mitchell; Monona; O''Brien; Osceola; Palo Alto; Plymouth; Pocahontas; Sac; Sioux; Story; Tama; Webster; Winnebago; Winneshiek; Woodbury; Worth; Wright.',41.85,43.51,-96.65,-90.15,0);
@@ -1508,7 +1508,7 @@ INSERT INTO "extent" VALUES('EPSG','2528','USA - Texas - SPCS83 - S','United Sta
INSERT INTO "extent" VALUES('EPSG','2529','USA - Louisiana - SPCS83 - S','United States (USA) - Louisiana - counties of Acadia; Allen; Ascension; Assumption; Beauregard; Calcasieu; Cameron; East Baton Rouge; East Feliciana; Evangeline; Iberia; Iberville; Jefferson; Jefferson Davis; Lafayette; LaFourche; Livingston; Orleans; Plaquemines; Pointe Coupee; St Bernard; St Charles; St Helena; St James; St John the Baptist; St Landry; St Martin; St Mary; St Tammany; Tangipahoa; Terrebonne; Vermilion; Washington; West Baton Rouge; West Feliciana.',28.85,31.07,-93.94,-88.75,0);
INSERT INTO "extent" VALUES('EPSG','2530','UK - Northern Ireland - onshore','United Kingdom (UK) - Northern Ireland (Ulster) - onshore.',53.96,55.36,-8.18,-5.34,0);
INSERT INTO "extent" VALUES('EPSG','2531','Denmark - onshore Jutland and Funen','Denmark - Jutland and Funen - onshore.',54.67,57.8,8.0,11.29,0);
INSERT INTO "extent" VALUES('EPSG','2532','Denmark - onshore Zealand and Lolland','Denmark - Zealand and Lolland (onshore).',54.51,56.79,10.79,12.69,0);
INSERT INTO "extent" VALUES('EPSG','2532','Denmark - onshore Zealand and Lolland','Denmark - Zealand and Lolland (onshore).',54.51,56.79,10.79,12.87,0);
INSERT INTO "extent" VALUES('EPSG','2533','Denmark - onshore Bornholm','Denmark - Bornholm onshore.',54.94,55.38,14.59,15.25,0);
INSERT INTO "extent" VALUES('EPSG','2534','World - N hemisphere - 3-degree CM 027°E','Between 25°30''E and 28°30''E, northern hemisphere.',0.0,84.0,25.5,28.5,0);
INSERT INTO "extent" VALUES('EPSG','2535','World - N hemisphere - 3-degree CM 030°E','Between 28°30''E and 31°30''E, northern hemisphere.',0.0,84.0,28.5,31.5,0);
@@ -3550,7 +3550,7 @@ INSERT INTO "extent" VALUES('EPSG','4571','Argentina - south Santa Cruz east of
INSERT INTO "extent" VALUES('EPSG','4572','Argentina - 44°S to 47.5°S','Argentina - Chubut province south of approximately 44°S and Santa Cruz province north of approximately 47°30''S - Golfo San Jorge basin onshore and offshore.',-47.5,-43.99,-72.36,-63.24,0);
INSERT INTO "extent" VALUES('EPSG','4573','Argentina - onshore','Argentina - onshore.',-55.11,-21.78,-73.59,-53.65,0);
INSERT INTO "extent" VALUES('EPSG','4574','Brazil - west of 54°W and between 18°S and 27°30''S','Brazil - west of 54°W and between 18°S and 27°30''S.',-27.5,-17.99,-58.16,-54.0,0);
INSERT INTO "extent" VALUES('EPSG','4575','Denmark - onshore Jutland, Funen, Zealand and Lolland','Denmark - onshore Jutland, Funen, Zealand and Lolland.',54.51,57.8,8.0,12.69,0);
INSERT INTO "extent" VALUES('EPSG','4575','Denmark - onshore Jutland, Funen, Zealand and Lolland','Denmark - onshore Jutland, Funen, Zealand and Lolland.',54.51,57.8,8.0,12.87,0);
INSERT INTO "extent" VALUES('EPSG','4576','Brazil - 54°W to 48°W and 15°S to 27°30''S','Brazil - onshore between 54°W and 48°W and between 15°S and 27°30''S.',-27.5,-14.99,-54.0,-47.99,0);
INSERT INTO "extent" VALUES('EPSG','4577','Argentina - 70.5°W to 67.5°W mainland onshore','Argentina - between 70°30''W and 67°30''W, onshore mainland.',-52.43,-24.08,-70.5,-67.49,0);
INSERT INTO "extent" VALUES('EPSG','4578','Argentina - 67.5°W to 64.5°W mainland onshore','Argentina - between 67°30''W and 64°30''W, onshore mainland.',-49.05,-21.78,-67.5,-64.49,0);
@@ -3666,6 +3666,8 @@ INSERT INTO "extent" VALUES('EPSG','4687','UK - Shrewsbury to Aberystwyth','Unit
INSERT INTO "extent" VALUES('EPSG','4688','UK – Okehampton to Penstone','United Kingdom (UK) - on or related to the rail route from Okehampton to Penstone.',50.65,50.85,-4.1,-3.6,0);
INSERT INTO "extent" VALUES('EPSG','4689','UK – Reading to Penzance','United Kingdom (UK) - on or related to the rail route from Reading via Newbury to Penzance.',50.05,51.7,-5.63,-0.85,0);
INSERT INTO "extent" VALUES('EPSG','4690','UK - London to Fishguard','United Kingdom (UK) - on or related to the rail routes from London (Paddington) to Swansea; Swansea to Pembroke Dock, Milford Haven and Fishguard; and around Cardiff and the valleys.',51.25,52.06,-5.16,-0.1,0);
INSERT INTO "extent" VALUES('EPSG','4693','Denmark - Copenhagen','Denmark - onshore - Copenhagen and surrounding area.',55.51,55.82,12.23,12.73,0);
INSERT INTO "extent" VALUES('EPSG','4694','Denmark - northern Schleswig','Denmark - onshore northern Schleswig and surrounding islands (i.e. Jutland south of the pre-1920 border near the Kongea river).',54.8,55.47,8.37,10.16,0);
INSERT INTO "extent" VALUES('EPSG','4701','USA - Illinois - Carroll, Jo Daviess, Stephenson','United States (USA) - Illinois - counties of Carroll, Jo Daviess and Stephenson.',41.92,42.51,-90.66,-89.39,0);
INSERT INTO "extent" VALUES('EPSG','4702','USA - Illinois - Lee, Ogle, Winnebago','United States (USA) - Illinois - counties of Lee, Ogle and Winnebago.',41.58,42.51,-89.69,-88.93,0);
INSERT INTO "extent" VALUES('EPSG','4703','USA - Illinois - Boone, Dekalb, Kane, Kendall, McHenry','United States (USA) - Illinois - counties of Boone, Dekalb, Kane, Kendall and McHenry.',41.45,42.5,-88.95,-88.19,0);
+57 -5
View File
@@ -788,7 +788,7 @@ INSERT INTO "geodetic_crs" VALUES('EPSG','4659','ISN93',NULL,'geographic 2D','EP
INSERT INTO "usage" VALUES('EPSG','3489','geodetic_crs','EPSG','4659','EPSG','1120','EPSG','1183');
INSERT INTO "geodetic_crs" VALUES('EPSG','4660','Helle 1954',NULL,'geographic 2D','EPSG','6422','EPSG','6660',NULL,0);
INSERT INTO "usage" VALUES('EPSG','3490','geodetic_crs','EPSG','4660','EPSG','2869','EPSG','1027');
INSERT INTO "geodetic_crs" VALUES('EPSG','4661','LKS92',NULL,'geographic 2D','EPSG','6422','EPSG','6661',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','4661','LKS-92',NULL,'geographic 2D','EPSG','6422','EPSG','6661',NULL,0);
INSERT INTO "usage" VALUES('EPSG','3491','geodetic_crs','EPSG','4661','EPSG','1139','EPSG','1183');
INSERT INTO "geodetic_crs" VALUES('EPSG','4662','IGN72 Grande Terre',NULL,'geographic 2D','EPSG','6422','EPSG','6634',NULL,0);
INSERT INTO "usage" VALUES('EPSG','3492','geodetic_crs','EPSG','4662','EPSG','2822','EPSG','1027');
@@ -965,7 +965,7 @@ INSERT INTO "usage" VALUES('EPSG','3577','geodetic_crs','EPSG','4747','EPSG','11
INSERT INTO "geodetic_crs" VALUES('EPSG','4748','Vanua Levu 1915',NULL,'geographic 2D','EPSG','6422','EPSG','6748',NULL,0);
INSERT INTO "usage" VALUES('EPSG','3578','geodetic_crs','EPSG','4748','EPSG','3401','EPSG','1027');
INSERT INTO "geodetic_crs" VALUES('EPSG','4749','RGNC91-93',NULL,'geographic 2D','EPSG','6422','EPSG','6749',NULL,0);
INSERT INTO "usage" VALUES('EPSG','3579','geodetic_crs','EPSG','4749','EPSG','1174','EPSG','1183');
INSERT INTO "usage" VALUES('EPSG','3579','geodetic_crs','EPSG','4749','EPSG','1174','EPSG','1182');
INSERT INTO "geodetic_crs" VALUES('EPSG','4750','ST87 Ouvea',NULL,'geographic 2D','EPSG','6422','EPSG','6750',NULL,0);
INSERT INTO "usage" VALUES('EPSG','3580','geodetic_crs','EPSG','4750','EPSG','2813','EPSG','1027');
INSERT INTO "geodetic_crs" VALUES('EPSG','4751','Kertau (RSO)',NULL,'geographic 2D','EPSG','6422','EPSG','6751',NULL,0);
@@ -1091,7 +1091,7 @@ INSERT INTO "usage" VALUES('EPSG','3705','geodetic_crs','EPSG','4904','EPSG','12
INSERT INTO "geodetic_crs" VALUES('EPSG','4906','RGNC91-93',NULL,'geocentric','EPSG','6500','EPSG','6749',NULL,0);
INSERT INTO "usage" VALUES('EPSG','3706','geodetic_crs','EPSG','4906','EPSG','1174','EPSG','1027');
INSERT INTO "geodetic_crs" VALUES('EPSG','4907','RGNC91-93',NULL,'geographic 3D','EPSG','6423','EPSG','6749',NULL,0);
INSERT INTO "usage" VALUES('EPSG','3707','geodetic_crs','EPSG','4907','EPSG','1174','EPSG','1027');
INSERT INTO "usage" VALUES('EPSG','3707','geodetic_crs','EPSG','4907','EPSG','1174','EPSG','1182');
INSERT INTO "geodetic_crs" VALUES('EPSG','4908','GR96',NULL,'geocentric','EPSG','6500','EPSG','6747',NULL,0);
INSERT INTO "usage" VALUES('EPSG','3708','geodetic_crs','EPSG','4908','EPSG','1107','EPSG','1027');
INSERT INTO "geodetic_crs" VALUES('EPSG','4909','GR96',NULL,'geographic 3D','EPSG','6423','EPSG','6747',NULL,0);
@@ -1172,9 +1172,9 @@ INSERT INTO "geodetic_crs" VALUES('EPSG','4946','JGD2000',NULL,'geocentric','EPS
INSERT INTO "usage" VALUES('EPSG','3746','geodetic_crs','EPSG','4946','EPSG','1129','EPSG','1027');
INSERT INTO "geodetic_crs" VALUES('EPSG','4947','JGD2000',NULL,'geographic 3D','EPSG','6423','EPSG','6612',NULL,0);
INSERT INTO "usage" VALUES('EPSG','3747','geodetic_crs','EPSG','4947','EPSG','1129','EPSG','1027');
INSERT INTO "geodetic_crs" VALUES('EPSG','4948','LKS92',NULL,'geocentric','EPSG','6500','EPSG','6661',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','4948','LKS-92',NULL,'geocentric','EPSG','6500','EPSG','6661',NULL,0);
INSERT INTO "usage" VALUES('EPSG','3748','geodetic_crs','EPSG','4948','EPSG','1139','EPSG','1027');
INSERT INTO "geodetic_crs" VALUES('EPSG','4949','LKS92',NULL,'geographic 3D','EPSG','6423','EPSG','6661',NULL,0);
INSERT INTO "geodetic_crs" VALUES('EPSG','4949','LKS-92',NULL,'geographic 3D','EPSG','6423','EPSG','6661',NULL,0);
INSERT INTO "usage" VALUES('EPSG','3749','geodetic_crs','EPSG','4949','EPSG','1139','EPSG','1027');
INSERT INTO "geodetic_crs" VALUES('EPSG','4950','LKS94',NULL,'geocentric','EPSG','6500','EPSG','6126',NULL,0);
INSERT INTO "usage" VALUES('EPSG','3750','geodetic_crs','EPSG','4950','EPSG','1145','EPSG','1027');
@@ -2180,6 +2180,8 @@ INSERT INTO "geodetic_crs" VALUES('EPSG','9989','ITRF2020',NULL,'geographic 3D',
INSERT INTO "usage" VALUES('EPSG','17902','geodetic_crs','EPSG','9989','EPSG','1262','EPSG','1027');
INSERT INTO "geodetic_crs" VALUES('EPSG','9990','ITRF2020',NULL,'geographic 2D','EPSG','6422','EPSG','1322',NULL,0);
INSERT INTO "usage" VALUES('EPSG','17901','geodetic_crs','EPSG','9990','EPSG','1262','EPSG','1027');
INSERT INTO "geodetic_crs" VALUES('EPSG','10158','S34J-IRF',NULL,'geographic 2D','EPSG','6422','EPSG','1332',NULL,0);
INSERT INTO "usage" VALUES('EPSG','19659','geodetic_crs','EPSG','10158','EPSG','2531','EPSG','1203');
INSERT INTO "geodetic_crs" VALUES('EPSG','10175','DoPw22-IRF',NULL,'geographic 2D','EPSG','6422','EPSG','1334',NULL,0);
INSERT INTO "usage" VALUES('EPSG','18657','geodetic_crs','EPSG','10175','EPSG','4686','EPSG','1141');
INSERT INTO "geodetic_crs" VALUES('EPSG','10176','IGS20',NULL,'geocentric','EPSG','6500','EPSG','1333',NULL,0);
@@ -2208,10 +2210,60 @@ INSERT INTO "geodetic_crs" VALUES('EPSG','10229','OxWo08-IRF',NULL,'geographic 2
INSERT INTO "usage" VALUES('EPSG','18784','geodetic_crs','EPSG','10229','EPSG','4680','EPSG','1141');
INSERT INTO "geodetic_crs" VALUES('EPSG','10237','SYC20-IRF',NULL,'geographic 2D','EPSG','6422','EPSG','1345',NULL,0);
INSERT INTO "usage" VALUES('EPSG','18789','geodetic_crs','EPSG','10237','EPSG','4679','EPSG','1141');
INSERT INTO "geodetic_crs" VALUES('EPSG','10249','S34S-IRF',NULL,'geographic 2D','EPSG','6422','EPSG','1337',NULL,0);
INSERT INTO "usage" VALUES('EPSG','19667','geodetic_crs','EPSG','10249','EPSG','2532','EPSG','1028');
INSERT INTO "geodetic_crs" VALUES('EPSG','10252','S45B-IRF',NULL,'geographic 2D','EPSG','6422','EPSG','1346',NULL,0);
INSERT INTO "usage" VALUES('EPSG','19671','geodetic_crs','EPSG','10252','EPSG','2533','EPSG','1203');
INSERT INTO "geodetic_crs" VALUES('EPSG','10256','GS-IRF',NULL,'geographic 2D','EPSG','6422','EPSG','1347',NULL,0);
INSERT INTO "usage" VALUES('EPSG','19707','geodetic_crs','EPSG','10256','EPSG','4575','EPSG','1203');
INSERT INTO "geodetic_crs" VALUES('EPSG','10260','GSB-IRF',NULL,'geographic 2D','EPSG','6422','EPSG','1348',NULL,0);
INSERT INTO "usage" VALUES('EPSG','19682','geodetic_crs','EPSG','10260','EPSG','2533','EPSG','1203');
INSERT INTO "geodetic_crs" VALUES('EPSG','10265','KK-IRF',NULL,'geographic 2D','EPSG','6422','EPSG','1349',NULL,0);
INSERT INTO "usage" VALUES('EPSG','19712','geodetic_crs','EPSG','10265','EPSG','4693','EPSG','1203');
INSERT INTO "geodetic_crs" VALUES('EPSG','10268','Ostenfeld-IRF',NULL,'geographic 2D','EPSG','6422','EPSG','1350',NULL,0);
INSERT INTO "usage" VALUES('EPSG','19696','geodetic_crs','EPSG','10268','EPSG','4694','EPSG','1203');
INSERT INTO "geodetic_crs" VALUES('EPSG','10272','SMITB20-IRF',NULL,'geographic 2D','EPSG','6422','EPSG','1351',NULL,0);
INSERT INTO "usage" VALUES('EPSG','19175','geodetic_crs','EPSG','10272','EPSG','4688','EPSG','1141');
INSERT INTO "geodetic_crs" VALUES('EPSG','10277','RBEPP12-IRF',NULL,'geographic 2D','EPSG','6422','EPSG','1352',NULL,0);
INSERT INTO "usage" VALUES('EPSG','19181','geodetic_crs','EPSG','10277','EPSG','4689','EPSG','1141');
INSERT INTO "geodetic_crs" VALUES('EPSG','10282','ETRS89/DREF91/2016',NULL,'geocentric','EPSG','6500','EPSG','1353',NULL,0);
INSERT INTO "usage" VALUES('EPSG','19243','geodetic_crs','EPSG','10282','EPSG','1103','EPSG','1027');
INSERT INTO "geodetic_crs" VALUES('EPSG','10283','ETRS89/DREF91/2016',NULL,'geographic 3D','EPSG','6423','EPSG','1353',NULL,0);
INSERT INTO "usage" VALUES('EPSG','19203','geodetic_crs','EPSG','10283','EPSG','1103','EPSG','1027');
INSERT INTO "geodetic_crs" VALUES('EPSG','10284','ETRS89/DREF91/2016',NULL,'geographic 2D','EPSG','6422','EPSG','1353',NULL,0);
INSERT INTO "usage" VALUES('EPSG','19244','geodetic_crs','EPSG','10284','EPSG','1103','EPSG','1027');
INSERT INTO "geodetic_crs" VALUES('EPSG','10297','RGSH2020',NULL,'geocentric','EPSG','6500','EPSG','1355',NULL,0);
INSERT INTO "usage" VALUES('EPSG','19531','geodetic_crs','EPSG','10297','EPSG','1026','EPSG','1136');
INSERT INTO "geodetic_crs" VALUES('EPSG','10298','RGSH2020',NULL,'geographic 3D','EPSG','6423','EPSG','1355',NULL,0);
INSERT INTO "usage" VALUES('EPSG','19533','geodetic_crs','EPSG','10298','EPSG','1026','EPSG','1136');
INSERT INTO "geodetic_crs" VALUES('EPSG','10299','RGSH2020',NULL,'geographic 2D','EPSG','6422','EPSG','1355',NULL,0);
INSERT INTO "usage" VALUES('EPSG','19534','geodetic_crs','EPSG','10299','EPSG','1026','EPSG','1183');
INSERT INTO "geodetic_crs" VALUES('EPSG','10300','RGNC91-93 (lon-lat)',NULL,'geographic 3D','EPSG','6426','EPSG','6749',NULL,0);
INSERT INTO "usage" VALUES('EPSG','19598','geodetic_crs','EPSG','10300','EPSG','1174','EPSG','1189');
INSERT INTO "geodetic_crs" VALUES('EPSG','10303','LKS-2020',NULL,'geocentric','EPSG','6500','EPSG','1356',NULL,0);
INSERT INTO "usage" VALUES('EPSG','19562','geodetic_crs','EPSG','10303','EPSG','1139','EPSG','1026');
INSERT INTO "geodetic_crs" VALUES('EPSG','10304','LKS-2020',NULL,'geographic 3D','EPSG','6423','EPSG','1356',NULL,0);
INSERT INTO "usage" VALUES('EPSG','19554','geodetic_crs','EPSG','10304','EPSG','1139','EPSG','1026');
INSERT INTO "geodetic_crs" VALUES('EPSG','10305','LKS-2020',NULL,'geographic 2D','EPSG','6422','EPSG','1356',NULL,0);
INSERT INTO "usage" VALUES('EPSG','19552','geodetic_crs','EPSG','10305','EPSG','1139','EPSG','1183');
INSERT INTO "geodetic_crs" VALUES('EPSG','10307','RGNC91-93 (lon-lat)',NULL,'geographic 2D','EPSG','6424','EPSG','6749',NULL,0);
INSERT INTO "usage" VALUES('EPSG','19599','geodetic_crs','EPSG','10307','EPSG','1174','EPSG','1189');
INSERT INTO "geodetic_crs" VALUES('EPSG','10308','RGNC15',NULL,'geocentric','EPSG','6500','EPSG','1357',NULL,0);
INSERT INTO "usage" VALUES('EPSG','19579','geodetic_crs','EPSG','10308','EPSG','1174','EPSG','1027');
INSERT INTO "geodetic_crs" VALUES('EPSG','10309','RGNC15',NULL,'geographic 3D','EPSG','6423','EPSG','1357',NULL,0);
INSERT INTO "usage" VALUES('EPSG','19592','geodetic_crs','EPSG','10309','EPSG','1174','EPSG','1182');
INSERT INTO "geodetic_crs" VALUES('EPSG','10310','RGNC15',NULL,'geographic 2D','EPSG','6422','EPSG','1357',NULL,0);
INSERT INTO "usage" VALUES('EPSG','19593','geodetic_crs','EPSG','10310','EPSG','1174','EPSG','1182');
INSERT INTO "geodetic_crs" VALUES('EPSG','10311','RGNC15 (lon-lat)',NULL,'geographic 3D','EPSG','6426','EPSG','1357',NULL,0);
INSERT INTO "usage" VALUES('EPSG','19601','geodetic_crs','EPSG','10311','EPSG','1174','EPSG','1189');
INSERT INTO "geodetic_crs" VALUES('EPSG','10312','RGNC15 (lon-lat)',NULL,'geographic 2D','EPSG','6424','EPSG','1357',NULL,0);
INSERT INTO "usage" VALUES('EPSG','19595','geodetic_crs','EPSG','10312','EPSG','1174','EPSG','1189');
INSERT INTO "geodetic_crs" VALUES('EPSG','10326','BH_ETRS89',NULL,'geocentric','EPSG','6500','EPSG','1358',NULL,0);
INSERT INTO "usage" VALUES('EPSG','19732','geodetic_crs','EPSG','10326','EPSG','1050','EPSG','1027');
INSERT INTO "geodetic_crs" VALUES('EPSG','10327','BH_ETRS89',NULL,'geographic 3D','EPSG','6423','EPSG','1358',NULL,0);
INSERT INTO "usage" VALUES('EPSG','19742','geodetic_crs','EPSG','10327','EPSG','1050','EPSG','1026');
INSERT INTO "geodetic_crs" VALUES('EPSG','10328','BH_ETRS89',NULL,'geographic 2D','EPSG','6422','EPSG','1358',NULL,0);
INSERT INTO "usage" VALUES('EPSG','19734','geodetic_crs','EPSG','10328','EPSG','1050','EPSG','1183');
INSERT INTO "geodetic_crs" VALUES('EPSG','20033','MWC18-IRF',NULL,'geographic 2D','EPSG','6422','EPSG','1324',NULL,0);
INSERT INTO "usage" VALUES('EPSG','18335','geodetic_crs','EPSG','20033','EPSG','4666','EPSG','1141');
INSERT INTO "geodetic_crs" VALUES('EPSG','20039','SIRGAS-Chile 2021',NULL,'geocentric','EPSG','6500','EPSG','1327',NULL,0);
+65 -41
View File
@@ -362,6 +362,8 @@ INSERT INTO "geodetic_datum" VALUES('EPSG','1327','SIRGAS-Chile realization 5 ep
INSERT INTO "usage" VALUES('EPSG','18453','geodetic_datum','EPSG','1327','EPSG','1066','EPSG','1027');
INSERT INTO "geodetic_datum" VALUES('EPSG','1329','Marco Geocentrico Nacional de Referencia 2018',NULL,'EPSG','7019','EPSG','8901','2018-06-08',NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('EPSG','18473','geodetic_datum','EPSG','1329','EPSG','1070','EPSG','1027');
INSERT INTO "geodetic_datum" VALUES('EPSG','1332','System 34 Jylland Intermediate Datum',NULL,'EPSG','7022','EPSG','8901','2022-01-01',NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('EPSG','19781','geodetic_datum','EPSG','1332','EPSG','2531','EPSG','1203');
INSERT INTO "geodetic_datum" VALUES('EPSG','1333','IGS20',NULL,'EPSG','7019','EPSG','8901','2015-01-01',2015.0,NULL,NULL,0);
INSERT INTO "usage" VALUES('EPSG','18632','geodetic_datum','EPSG','1333','EPSG','1262','EPSG','1027');
INSERT INTO "geodetic_datum" VALUES('EPSG','1334','DoPw22 Intermediate Reference Frame',NULL,'EPSG','7019','EPSG','8901','2022-01-01',NULL,NULL,NULL,0);
@@ -370,6 +372,8 @@ INSERT INTO "geodetic_datum" VALUES('EPSG','1335','ShAb07 Intermediate Reference
INSERT INTO "usage" VALUES('EPSG','18853','geodetic_datum','EPSG','1335','EPSG','4687','EPSG','1141');
INSERT INTO "geodetic_datum" VALUES('EPSG','1336','CNH22 Intermediate Reference Frame',NULL,'EPSG','7019','EPSG','8901','2021-01-01',NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('EPSG','18690','geodetic_datum','EPSG','1336','EPSG','4677','EPSG','1141');
INSERT INTO "geodetic_datum" VALUES('EPSG','1337','System 34 Sjaelland Intermediate Datum',NULL,'EPSG','7022','EPSG','8901','2022-01-01',NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('EPSG','19782','geodetic_datum','EPSG','1337','EPSG','2532','EPSG','1203');
INSERT INTO "geodetic_datum" VALUES('EPSG','1338','CWS13 Intermediate Reference Frame',NULL,'EPSG','7019','EPSG','8901','2022-01-01',NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('EPSG','18702','geodetic_datum','EPSG','1338','EPSG','4678','EPSG','1141');
INSERT INTO "geodetic_datum" VALUES('EPSG','1339','DIBA15 Intermediate Reference Frame',NULL,'EPSG','7019','EPSG','8901','2022-01-01',NULL,NULL,NULL,0);
@@ -386,93 +390,113 @@ INSERT INTO "geodetic_datum" VALUES('EPSG','1344','OxWo08 Intermediate Reference
INSERT INTO "usage" VALUES('EPSG','18783','geodetic_datum','EPSG','1344','EPSG','4680','EPSG','1141');
INSERT INTO "geodetic_datum" VALUES('EPSG','1345','SYC20 Intermediate Reference Frame',NULL,'EPSG','7019','EPSG','8901','2022-01-01',NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('EPSG','18756','geodetic_datum','EPSG','1345','EPSG','4679','EPSG','1141');
INSERT INTO "geodetic_datum" VALUES('EPSG','1346','System 45 Bornholm Intermediate Datum',NULL,'EPSG','7022','EPSG','8901','2022-01-01',NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('EPSG','19715','geodetic_datum','EPSG','1346','EPSG','2533','EPSG','1203');
INSERT INTO "geodetic_datum" VALUES('EPSG','1347','Generalstabens System Intermediate Datum',NULL,'EPSG','7051','EPSG','8901','2022-01-01',NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('EPSG','19716','geodetic_datum','EPSG','1347','EPSG','4575','EPSG','1203');
INSERT INTO "geodetic_datum" VALUES('EPSG','1348','Generalstabens System Bornholm Intermediate Datum',NULL,'EPSG','7051','EPSG','8901','2022-01-01',NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('EPSG','19717','geodetic_datum','EPSG','1348','EPSG','2533','EPSG','1203');
INSERT INTO "geodetic_datum" VALUES('EPSG','1349','Copenhagen Commune Intermediate Datum',NULL,'EPSG','7051','EPSG','8901','2022-01-01',NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('EPSG','19718','geodetic_datum','EPSG','1349','EPSG','4693','EPSG','1203');
INSERT INTO "geodetic_datum" VALUES('EPSG','1350','Ostenfeld Intermediate Datum',NULL,'EPSG','7004','EPSG','8901','2022-01-01',NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('EPSG','19719','geodetic_datum','EPSG','1350','EPSG','4694','EPSG','1203');
INSERT INTO "geodetic_datum" VALUES('EPSG','1351','SMITB20 Intermediate Reference Frame',NULL,'EPSG','7019','EPSG','8901','2022-01-01',NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('EPSG','19174','geodetic_datum','EPSG','1351','EPSG','4688','EPSG','1141');
INSERT INTO "geodetic_datum" VALUES('EPSG','1352','RBEPP12 Intermediate Reference Frame',NULL,'EPSG','7019','EPSG','8901','2022-01-01',NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('EPSG','19180','geodetic_datum','EPSG','1352','EPSG','4689','EPSG','1141');
INSERT INTO "geodetic_datum" VALUES('EPSG','6001','Not specified (based on Airy 1830 ellipsoid)',NULL,'EPSG','7001','EPSG','8901',NULL,NULL,NULL,NULL,0);
INSERT INTO "geodetic_datum" VALUES('EPSG','1353','ETRS89/DREF91 Realization 2016',NULL,'EPSG','7019','EPSG','8901','2016-01-01',NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('EPSG','19242','geodetic_datum','EPSG','1353','EPSG','1103','EPSG','1027');
INSERT INTO "geodetic_datum" VALUES('EPSG','1355','Sonatrach Reference Frame 2020',NULL,'EPSG','7019','EPSG','8901','2012-11-15',NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('EPSG','19535','geodetic_datum','EPSG','1355','EPSG','1026','EPSG','1136');
INSERT INTO "geodetic_datum" VALUES('EPSG','1356','Latvian coordinate system 2020',NULL,'EPSG','7019','EPSG','8901','2023-01-01',NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('EPSG','19558','geodetic_datum','EPSG','1356','EPSG','1139','EPSG','1026');
INSERT INTO "geodetic_datum" VALUES('EPSG','1357','Reseau Geodesique de Nouvelle Caledonie 2015',NULL,'EPSG','7019','EPSG','8901','2016-01-01',NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('EPSG','19600','geodetic_datum','EPSG','1357','EPSG','1174','EPSG','1181');
INSERT INTO "geodetic_datum" VALUES('EPSG','1358','BH_ETRS89',NULL,'EPSG','7019','EPSG','8901','2011-01-01',NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('EPSG','19740','geodetic_datum','EPSG','1358','EPSG','1050','EPSG','1027');
INSERT INTO "geodetic_datum" VALUES('EPSG','6001','Not specified (based on Airy 1830 ellipsoid)',NULL,'EPSG','7001','EPSG','8901',NULL,NULL,NULL,NULL,1);
INSERT INTO "usage" VALUES('EPSG','13422','geodetic_datum','EPSG','6001','EPSG','1263','EPSG','1213');
INSERT INTO "geodetic_datum" VALUES('EPSG','6002','Not specified (based on Airy Modified 1849 ellipsoid)',NULL,'EPSG','7002','EPSG','8901',NULL,NULL,NULL,NULL,0);
INSERT INTO "geodetic_datum" VALUES('EPSG','6002','Not specified (based on Airy Modified 1849 ellipsoid)',NULL,'EPSG','7002','EPSG','8901',NULL,NULL,NULL,NULL,1);
INSERT INTO "usage" VALUES('EPSG','13423','geodetic_datum','EPSG','6002','EPSG','1263','EPSG','1213');
INSERT INTO "geodetic_datum" VALUES('EPSG','6003','Not specified (based on Australian National Spheroid)',NULL,'EPSG','7003','EPSG','8901',NULL,NULL,NULL,NULL,0);
INSERT INTO "geodetic_datum" VALUES('EPSG','6003','Not specified (based on Australian National Spheroid)',NULL,'EPSG','7003','EPSG','8901',NULL,NULL,NULL,NULL,1);
INSERT INTO "usage" VALUES('EPSG','13424','geodetic_datum','EPSG','6003','EPSG','1263','EPSG','1213');
INSERT INTO "geodetic_datum" VALUES('EPSG','6004','Not specified (based on Bessel 1841 ellipsoid)',NULL,'EPSG','7004','EPSG','8901',NULL,NULL,NULL,NULL,0);
INSERT INTO "geodetic_datum" VALUES('EPSG','6004','Not specified (based on Bessel 1841 ellipsoid)',NULL,'EPSG','7004','EPSG','8901',NULL,NULL,NULL,NULL,1);
INSERT INTO "usage" VALUES('EPSG','13425','geodetic_datum','EPSG','6004','EPSG','1263','EPSG','1213');
INSERT INTO "geodetic_datum" VALUES('EPSG','6005','Not specified (based on Bessel Modified ellipsoid)',NULL,'EPSG','7005','EPSG','8901',NULL,NULL,NULL,NULL,0);
INSERT INTO "geodetic_datum" VALUES('EPSG','6005','Not specified (based on Bessel Modified ellipsoid)',NULL,'EPSG','7005','EPSG','8901',NULL,NULL,NULL,NULL,1);
INSERT INTO "usage" VALUES('EPSG','13426','geodetic_datum','EPSG','6005','EPSG','1263','EPSG','1213');
INSERT INTO "geodetic_datum" VALUES('EPSG','6006','Not specified (based on Bessel Namibia ellipsoid)',NULL,'EPSG','7046','EPSG','8901',NULL,NULL,NULL,NULL,0);
INSERT INTO "geodetic_datum" VALUES('EPSG','6006','Not specified (based on Bessel Namibia ellipsoid)',NULL,'EPSG','7046','EPSG','8901',NULL,NULL,NULL,NULL,1);
INSERT INTO "usage" VALUES('EPSG','13427','geodetic_datum','EPSG','6006','EPSG','1263','EPSG','1213');
INSERT INTO "geodetic_datum" VALUES('EPSG','6007','Not specified (based on Clarke 1858 ellipsoid)',NULL,'EPSG','7007','EPSG','8901',NULL,NULL,NULL,NULL,0);
INSERT INTO "geodetic_datum" VALUES('EPSG','6007','Not specified (based on Clarke 1858 ellipsoid)',NULL,'EPSG','7007','EPSG','8901',NULL,NULL,NULL,NULL,1);
INSERT INTO "usage" VALUES('EPSG','13428','geodetic_datum','EPSG','6007','EPSG','1263','EPSG','1213');
INSERT INTO "geodetic_datum" VALUES('EPSG','6008','Not specified (based on Clarke 1866 ellipsoid)',NULL,'EPSG','7008','EPSG','8901',NULL,NULL,NULL,NULL,0);
INSERT INTO "geodetic_datum" VALUES('EPSG','6008','Not specified (based on Clarke 1866 ellipsoid)',NULL,'EPSG','7008','EPSG','8901',NULL,NULL,NULL,NULL,1);
INSERT INTO "usage" VALUES('EPSG','13429','geodetic_datum','EPSG','6008','EPSG','1263','EPSG','1213');
INSERT INTO "geodetic_datum" VALUES('EPSG','6009','Not specified (based on Clarke 1866 Michigan ellipsoid)',NULL,'EPSG','7009','EPSG','8901',NULL,NULL,NULL,NULL,1);
INSERT INTO "usage" VALUES('EPSG','13430','geodetic_datum','EPSG','6009','EPSG','1263','EPSG','1213');
INSERT INTO "geodetic_datum" VALUES('EPSG','6010','Not specified (based on Clarke 1880 (Benoit) ellipsoid)',NULL,'EPSG','7010','EPSG','8901',NULL,NULL,NULL,NULL,0);
INSERT INTO "geodetic_datum" VALUES('EPSG','6010','Not specified (based on Clarke 1880 (Benoit) ellipsoid)',NULL,'EPSG','7010','EPSG','8901',NULL,NULL,NULL,NULL,1);
INSERT INTO "usage" VALUES('EPSG','13431','geodetic_datum','EPSG','6010','EPSG','1263','EPSG','1213');
INSERT INTO "geodetic_datum" VALUES('EPSG','6011','Not specified (based on Clarke 1880 (IGN) ellipsoid)',NULL,'EPSG','7011','EPSG','8901',NULL,NULL,NULL,NULL,0);
INSERT INTO "geodetic_datum" VALUES('EPSG','6011','Not specified (based on Clarke 1880 (IGN) ellipsoid)',NULL,'EPSG','7011','EPSG','8901',NULL,NULL,NULL,NULL,1);
INSERT INTO "usage" VALUES('EPSG','13432','geodetic_datum','EPSG','6011','EPSG','1263','EPSG','1213');
INSERT INTO "geodetic_datum" VALUES('EPSG','6012','Not specified (based on Clarke 1880 (RGS) ellipsoid)',NULL,'EPSG','7012','EPSG','8901',NULL,NULL,NULL,NULL,0);
INSERT INTO "geodetic_datum" VALUES('EPSG','6012','Not specified (based on Clarke 1880 (RGS) ellipsoid)',NULL,'EPSG','7012','EPSG','8901',NULL,NULL,NULL,NULL,1);
INSERT INTO "usage" VALUES('EPSG','13433','geodetic_datum','EPSG','6012','EPSG','1263','EPSG','1213');
INSERT INTO "geodetic_datum" VALUES('EPSG','6013','Not specified (based on Clarke 1880 (Arc) ellipsoid)',NULL,'EPSG','7013','EPSG','8901',NULL,NULL,NULL,NULL,0);
INSERT INTO "geodetic_datum" VALUES('EPSG','6013','Not specified (based on Clarke 1880 (Arc) ellipsoid)',NULL,'EPSG','7013','EPSG','8901',NULL,NULL,NULL,NULL,1);
INSERT INTO "usage" VALUES('EPSG','13434','geodetic_datum','EPSG','6013','EPSG','1263','EPSG','1213');
INSERT INTO "geodetic_datum" VALUES('EPSG','6014','Not specified (based on Clarke 1880 (SGA 1922) ellipsoid)',NULL,'EPSG','7014','EPSG','8901',NULL,NULL,NULL,NULL,0);
INSERT INTO "geodetic_datum" VALUES('EPSG','6014','Not specified (based on Clarke 1880 (SGA 1922) ellipsoid)',NULL,'EPSG','7014','EPSG','8901',NULL,NULL,NULL,NULL,1);
INSERT INTO "usage" VALUES('EPSG','13435','geodetic_datum','EPSG','6014','EPSG','1263','EPSG','1213');
INSERT INTO "geodetic_datum" VALUES('EPSG','6015','Not specified (based on Everest 1830 (1937 Adjustment) ellipsoid)',NULL,'EPSG','7015','EPSG','8901',NULL,NULL,NULL,NULL,0);
INSERT INTO "geodetic_datum" VALUES('EPSG','6015','Not specified (based on Everest 1830 (1937 Adjustment) ellipsoid)',NULL,'EPSG','7015','EPSG','8901',NULL,NULL,NULL,NULL,1);
INSERT INTO "usage" VALUES('EPSG','13436','geodetic_datum','EPSG','6015','EPSG','1263','EPSG','1213');
INSERT INTO "geodetic_datum" VALUES('EPSG','6016','Not specified (based on Everest 1830 (1967 Definition) ellipsoid)',NULL,'EPSG','7016','EPSG','8901',NULL,NULL,NULL,NULL,0);
INSERT INTO "geodetic_datum" VALUES('EPSG','6016','Not specified (based on Everest 1830 (1967 Definition) ellipsoid)',NULL,'EPSG','7016','EPSG','8901',NULL,NULL,NULL,NULL,1);
INSERT INTO "usage" VALUES('EPSG','13437','geodetic_datum','EPSG','6016','EPSG','1263','EPSG','1213');
INSERT INTO "geodetic_datum" VALUES('EPSG','6018','Not specified (based on Everest 1830 Modified ellipsoid)',NULL,'EPSG','7018','EPSG','8901',NULL,NULL,NULL,NULL,0);
INSERT INTO "geodetic_datum" VALUES('EPSG','6018','Not specified (based on Everest 1830 Modified ellipsoid)',NULL,'EPSG','7018','EPSG','8901',NULL,NULL,NULL,NULL,1);
INSERT INTO "usage" VALUES('EPSG','13438','geodetic_datum','EPSG','6018','EPSG','1263','EPSG','1213');
INSERT INTO "geodetic_datum" VALUES('EPSG','6019','Not specified (based on GRS 1980 ellipsoid)',NULL,'EPSG','7019','EPSG','8901',NULL,NULL,NULL,NULL,0);
INSERT INTO "geodetic_datum" VALUES('EPSG','6019','Not specified (based on GRS 1980 ellipsoid)',NULL,'EPSG','7019','EPSG','8901',NULL,NULL,NULL,NULL,1);
INSERT INTO "usage" VALUES('EPSG','13439','geodetic_datum','EPSG','6019','EPSG','1263','EPSG','1213');
INSERT INTO "geodetic_datum" VALUES('EPSG','6020','Not specified (based on Helmert 1906 ellipsoid)',NULL,'EPSG','7020','EPSG','8901',NULL,NULL,NULL,NULL,0);
INSERT INTO "geodetic_datum" VALUES('EPSG','6020','Not specified (based on Helmert 1906 ellipsoid)',NULL,'EPSG','7020','EPSG','8901',NULL,NULL,NULL,NULL,1);
INSERT INTO "usage" VALUES('EPSG','13440','geodetic_datum','EPSG','6020','EPSG','1263','EPSG','1213');
INSERT INTO "geodetic_datum" VALUES('EPSG','6021','Not specified (based on Indonesian National Spheroid)',NULL,'EPSG','7021','EPSG','8901',NULL,NULL,NULL,NULL,0);
INSERT INTO "geodetic_datum" VALUES('EPSG','6021','Not specified (based on Indonesian National Spheroid)',NULL,'EPSG','7021','EPSG','8901',NULL,NULL,NULL,NULL,1);
INSERT INTO "usage" VALUES('EPSG','13441','geodetic_datum','EPSG','6021','EPSG','1263','EPSG','1213');
INSERT INTO "geodetic_datum" VALUES('EPSG','6022','Not specified (based on International 1924 ellipsoid)',NULL,'EPSG','7022','EPSG','8901',NULL,NULL,NULL,NULL,0);
INSERT INTO "geodetic_datum" VALUES('EPSG','6022','Not specified (based on International 1924 ellipsoid)',NULL,'EPSG','7022','EPSG','8901',NULL,NULL,NULL,NULL,1);
INSERT INTO "usage" VALUES('EPSG','13442','geodetic_datum','EPSG','6022','EPSG','1263','EPSG','1213');
INSERT INTO "geodetic_datum" VALUES('EPSG','6024','Not specified (based on Krassowsky 1940 ellipsoid)',NULL,'EPSG','7024','EPSG','8901',NULL,NULL,NULL,NULL,0);
INSERT INTO "geodetic_datum" VALUES('EPSG','6024','Not specified (based on Krassowsky 1940 ellipsoid)',NULL,'EPSG','7024','EPSG','8901',NULL,NULL,NULL,NULL,1);
INSERT INTO "usage" VALUES('EPSG','13443','geodetic_datum','EPSG','6024','EPSG','1263','EPSG','1213');
INSERT INTO "geodetic_datum" VALUES('EPSG','6025','Not specified (based on NWL 9D ellipsoid)',NULL,'EPSG','7025','EPSG','8901',NULL,NULL,NULL,NULL,0);
INSERT INTO "geodetic_datum" VALUES('EPSG','6025','Not specified (based on NWL 9D ellipsoid)',NULL,'EPSG','7025','EPSG','8901',NULL,NULL,NULL,NULL,1);
INSERT INTO "usage" VALUES('EPSG','13444','geodetic_datum','EPSG','6025','EPSG','1263','EPSG','1213');
INSERT INTO "geodetic_datum" VALUES('EPSG','6027','Not specified (based on Plessis 1817 ellipsoid)',NULL,'EPSG','7027','EPSG','8901',NULL,NULL,NULL,NULL,0);
INSERT INTO "geodetic_datum" VALUES('EPSG','6027','Not specified (based on Plessis 1817 ellipsoid)',NULL,'EPSG','7027','EPSG','8901',NULL,NULL,NULL,NULL,1);
INSERT INTO "usage" VALUES('EPSG','13445','geodetic_datum','EPSG','6027','EPSG','1263','EPSG','1213');
INSERT INTO "geodetic_datum" VALUES('EPSG','6028','Not specified (based on Struve 1860 ellipsoid)',NULL,'EPSG','7028','EPSG','8901',NULL,NULL,NULL,NULL,0);
INSERT INTO "geodetic_datum" VALUES('EPSG','6028','Not specified (based on Struve 1860 ellipsoid)',NULL,'EPSG','7028','EPSG','8901',NULL,NULL,NULL,NULL,1);
INSERT INTO "usage" VALUES('EPSG','13446','geodetic_datum','EPSG','6028','EPSG','1263','EPSG','1213');
INSERT INTO "geodetic_datum" VALUES('EPSG','6029','Not specified (based on War Office ellipsoid)',NULL,'EPSG','7029','EPSG','8901',NULL,NULL,NULL,NULL,0);
INSERT INTO "geodetic_datum" VALUES('EPSG','6029','Not specified (based on War Office ellipsoid)',NULL,'EPSG','7029','EPSG','8901',NULL,NULL,NULL,NULL,1);
INSERT INTO "usage" VALUES('EPSG','13447','geodetic_datum','EPSG','6029','EPSG','1263','EPSG','1213');
INSERT INTO "geodetic_datum" VALUES('EPSG','6030','Not specified (based on WGS 84 ellipsoid)',NULL,'EPSG','7030','EPSG','8901',NULL,NULL,NULL,NULL,0);
INSERT INTO "geodetic_datum" VALUES('EPSG','6030','Not specified (based on WGS 84 ellipsoid)',NULL,'EPSG','7030','EPSG','8901',NULL,NULL,NULL,NULL,1);
INSERT INTO "usage" VALUES('EPSG','13448','geodetic_datum','EPSG','6030','EPSG','1263','EPSG','1213');
INSERT INTO "geodetic_datum" VALUES('EPSG','6031','Not specified (based on GEM 10C ellipsoid)',NULL,'EPSG','7031','EPSG','8901',NULL,NULL,NULL,NULL,0);
INSERT INTO "geodetic_datum" VALUES('EPSG','6031','Not specified (based on GEM 10C ellipsoid)',NULL,'EPSG','7031','EPSG','8901',NULL,NULL,NULL,NULL,1);
INSERT INTO "usage" VALUES('EPSG','13449','geodetic_datum','EPSG','6031','EPSG','1263','EPSG','1213');
INSERT INTO "geodetic_datum" VALUES('EPSG','6032','Not specified (based on OSU86F ellipsoid)',NULL,'EPSG','7032','EPSG','8901',NULL,NULL,NULL,NULL,0);
INSERT INTO "geodetic_datum" VALUES('EPSG','6032','Not specified (based on OSU86F ellipsoid)',NULL,'EPSG','7032','EPSG','8901',NULL,NULL,NULL,NULL,1);
INSERT INTO "usage" VALUES('EPSG','13450','geodetic_datum','EPSG','6032','EPSG','1263','EPSG','1213');
INSERT INTO "geodetic_datum" VALUES('EPSG','6033','Not specified (based on OSU91A ellipsoid)',NULL,'EPSG','7033','EPSG','8901',NULL,NULL,NULL,NULL,0);
INSERT INTO "geodetic_datum" VALUES('EPSG','6033','Not specified (based on OSU91A ellipsoid)',NULL,'EPSG','7033','EPSG','8901',NULL,NULL,NULL,NULL,1);
INSERT INTO "usage" VALUES('EPSG','13451','geodetic_datum','EPSG','6033','EPSG','1263','EPSG','1213');
INSERT INTO "geodetic_datum" VALUES('EPSG','6034','Not specified (based on Clarke 1880 ellipsoid)',NULL,'EPSG','7034','EPSG','8901',NULL,NULL,NULL,NULL,0);
INSERT INTO "geodetic_datum" VALUES('EPSG','6034','Not specified (based on Clarke 1880 ellipsoid)',NULL,'EPSG','7034','EPSG','8901',NULL,NULL,NULL,NULL,1);
INSERT INTO "usage" VALUES('EPSG','13452','geodetic_datum','EPSG','6034','EPSG','1263','EPSG','1213');
INSERT INTO "geodetic_datum" VALUES('EPSG','6035','Not specified (based on Authalic Sphere)',NULL,'EPSG','7035','EPSG','8901',NULL,NULL,NULL,NULL,1);
INSERT INTO "usage" VALUES('EPSG','13453','geodetic_datum','EPSG','6035','EPSG','1263','EPSG','1213');
INSERT INTO "geodetic_datum" VALUES('EPSG','6036','Not specified (based on GRS 1967 ellipsoid)',NULL,'EPSG','7036','EPSG','8901',NULL,NULL,NULL,NULL,0);
INSERT INTO "geodetic_datum" VALUES('EPSG','6036','Not specified (based on GRS 1967 ellipsoid)',NULL,'EPSG','7036','EPSG','8901',NULL,NULL,NULL,NULL,1);
INSERT INTO "usage" VALUES('EPSG','13454','geodetic_datum','EPSG','6036','EPSG','1263','EPSG','1213');
INSERT INTO "geodetic_datum" VALUES('EPSG','6041','Not specified (based on Average Terrestrial System 1977 ellipsoid)',NULL,'EPSG','7041','EPSG','8901',NULL,NULL,NULL,NULL,0);
INSERT INTO "geodetic_datum" VALUES('EPSG','6041','Not specified (based on Average Terrestrial System 1977 ellipsoid)',NULL,'EPSG','7041','EPSG','8901',NULL,NULL,NULL,NULL,1);
INSERT INTO "usage" VALUES('EPSG','13455','geodetic_datum','EPSG','6041','EPSG','1263','EPSG','1213');
INSERT INTO "geodetic_datum" VALUES('EPSG','6042','Not specified (based on Everest (1830 Definition) ellipsoid)',NULL,'EPSG','7042','EPSG','8901',NULL,NULL,NULL,NULL,0);
INSERT INTO "geodetic_datum" VALUES('EPSG','6042','Not specified (based on Everest (1830 Definition) ellipsoid)',NULL,'EPSG','7042','EPSG','8901',NULL,NULL,NULL,NULL,1);
INSERT INTO "usage" VALUES('EPSG','13456','geodetic_datum','EPSG','6042','EPSG','1263','EPSG','1213');
INSERT INTO "geodetic_datum" VALUES('EPSG','6043','Not specified (based on WGS 72 ellipsoid)',NULL,'EPSG','7043','EPSG','8901',NULL,NULL,NULL,NULL,0);
INSERT INTO "geodetic_datum" VALUES('EPSG','6043','Not specified (based on WGS 72 ellipsoid)',NULL,'EPSG','7043','EPSG','8901',NULL,NULL,NULL,NULL,1);
INSERT INTO "usage" VALUES('EPSG','13457','geodetic_datum','EPSG','6043','EPSG','1263','EPSG','1213');
INSERT INTO "geodetic_datum" VALUES('EPSG','6044','Not specified (based on Everest 1830 (1962 Definition) ellipsoid)',NULL,'EPSG','7044','EPSG','8901',NULL,NULL,NULL,NULL,0);
INSERT INTO "geodetic_datum" VALUES('EPSG','6044','Not specified (based on Everest 1830 (1962 Definition) ellipsoid)',NULL,'EPSG','7044','EPSG','8901',NULL,NULL,NULL,NULL,1);
INSERT INTO "usage" VALUES('EPSG','13458','geodetic_datum','EPSG','6044','EPSG','1263','EPSG','1213');
INSERT INTO "geodetic_datum" VALUES('EPSG','6045','Not specified (based on Everest 1830 (1975 Definition) ellipsoid)',NULL,'EPSG','7045','EPSG','8901',NULL,NULL,NULL,NULL,0);
INSERT INTO "geodetic_datum" VALUES('EPSG','6045','Not specified (based on Everest 1830 (1975 Definition) ellipsoid)',NULL,'EPSG','7045','EPSG','8901',NULL,NULL,NULL,NULL,1);
INSERT INTO "usage" VALUES('EPSG','13459','geodetic_datum','EPSG','6045','EPSG','1263','EPSG','1213');
INSERT INTO "geodetic_datum" VALUES('EPSG','6047','Not specified (based on GRS 1980 Authalic Sphere)',NULL,'EPSG','7048','EPSG','8901',NULL,NULL,NULL,NULL,0);
INSERT INTO "geodetic_datum" VALUES('EPSG','6047','Not specified (based on GRS 1980 Authalic Sphere)',NULL,'EPSG','7048','EPSG','8901',NULL,NULL,NULL,NULL,1);
INSERT INTO "usage" VALUES('EPSG','13460','geodetic_datum','EPSG','6047','EPSG','1263','EPSG','1213');
INSERT INTO "geodetic_datum" VALUES('EPSG','6052','Not specified (based on Clarke 1866 Authalic Sphere)',NULL,'EPSG','7052','EPSG','8901',NULL,NULL,NULL,NULL,0);
INSERT INTO "geodetic_datum" VALUES('EPSG','6052','Not specified (based on Clarke 1866 Authalic Sphere)',NULL,'EPSG','7052','EPSG','8901',NULL,NULL,NULL,NULL,1);
INSERT INTO "usage" VALUES('EPSG','13461','geodetic_datum','EPSG','6052','EPSG','1263','EPSG','1213');
INSERT INTO "geodetic_datum" VALUES('EPSG','6053','Not specified (based on International 1924 Authalic Sphere)',NULL,'EPSG','7057','EPSG','8901',NULL,NULL,NULL,NULL,0);
INSERT INTO "geodetic_datum" VALUES('EPSG','6053','Not specified (based on International 1924 Authalic Sphere)',NULL,'EPSG','7057','EPSG','8901',NULL,NULL,NULL,NULL,1);
INSERT INTO "usage" VALUES('EPSG','13462','geodetic_datum','EPSG','6053','EPSG','1263','EPSG','1213');
INSERT INTO "geodetic_datum" VALUES('EPSG','6054','Not specified (based on Hughes 1980 ellipsoid)',NULL,'EPSG','7058','EPSG','8901',NULL,NULL,NULL,NULL,0);
INSERT INTO "geodetic_datum" VALUES('EPSG','6054','Not specified (based on Hughes 1980 ellipsoid)',NULL,'EPSG','7058','EPSG','8901',NULL,NULL,NULL,NULL,1);
INSERT INTO "usage" VALUES('EPSG','13463','geodetic_datum','EPSG','6054','EPSG','1263','EPSG','1213');
INSERT INTO "geodetic_datum" VALUES('EPSG','6055','Popular Visualisation Datum',NULL,'EPSG','7059','EPSG','8901',NULL,NULL,NULL,NULL,1);
INSERT INTO "usage" VALUES('EPSG','13464','geodetic_datum','EPSG','6055','EPSG','1262','EPSG','1098');
@@ -986,7 +1010,7 @@ INSERT INTO "geodetic_datum" VALUES('EPSG','6659','Islands Net 1993',NULL,'EPSG'
INSERT INTO "usage" VALUES('EPSG','13720','geodetic_datum','EPSG','6659','EPSG','1120','EPSG','1181');
INSERT INTO "geodetic_datum" VALUES('EPSG','6660','Helle 1954',NULL,'EPSG','7022','EPSG','8901','1954-01-01',NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('EPSG','13721','geodetic_datum','EPSG','6660','EPSG','2869','EPSG','1180');
INSERT INTO "geodetic_datum" VALUES('EPSG','6661','Latvia 1992',NULL,'EPSG','7019','EPSG','8901','1992-01-01',NULL,NULL,NULL,0);
INSERT INTO "geodetic_datum" VALUES('EPSG','6661','Latvian geodetic coordinate system 1992',NULL,'EPSG','7019','EPSG','8901','1992-01-01',NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('EPSG','13722','geodetic_datum','EPSG','6661','EPSG','1139','EPSG','1180');
INSERT INTO "geodetic_datum" VALUES('EPSG','6663','Porto Santo 1995',NULL,'EPSG','7022','EPSG','8901','1995-01-01',NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('EPSG','13723','geodetic_datum','EPSG','6663','EPSG','1314','EPSG','1153');
+15
View File
@@ -102,6 +102,9 @@ VALUES
-- de_geosn - Staatsbetrieb Geobasisinformation und Vermessung Sachsen GeoSN
('NTv2_SN.gsb','de_geosn_NTv2_SN.tif','NTv2_SN.gsb','GTiff','hgridshift',0,NULL,'https://cdn.proj.org/de_geosn_NTv2_SN.tif',1,1,NULL),
-- de_hvbg - Hessische Verwaltung für Bodenmanagement und Geoinformation
('HeTa2010.gsb','de_hvbg_hessen_HeTA2010.tif',NULL,'GTiff','hgridshift',0,NULL,'https://cdn.proj.org/de_hvbg_hessen_HeTA2010.tif',1,1,NULL),
-- de_lgl_bw - LGL Baden-Württemberg
('BWTA2017.gsb','de_lgl_bw_BWTA2017.tif','BWTA2017.gsb','GTiff','hgridshift',0,NULL,'https://cdn.proj.org/de_lgl_bw_BWTA2017.tif',1,1,NULL),
@@ -118,6 +121,16 @@ VALUES
('gr2000g.gri','dk_sdfe_gvr2000.tif','gvr2000.gtx','GTiff','geoid_like',0,NULL,'https://cdn.proj.org/dk_sdfe_gvr2000.tif',1,1,NULL),
('ggeoid16.gri','dk_sdfe_gvr2016.tif','gvr2016.gtx','GTiff','geoid_like',0,NULL,'https://cdn.proj.org/dk_sdfe_gvr2016.tif',1,1,NULL),
-- dk_sdfi - Danish Agency for Data Supply and Infrastructure
-- Denmark mainland
('gs_2022.gsb','dk_sdfi_gs_2022.tif',NULL,'GTiff','hgridshift',0,NULL,'https://cdn.proj.org/dk_sdfi_gs_2022.tif',1,1,NULL),
('gsb_2022.gsb','dk_sdfi_gsb_2022.tif',NULL,'GTiff','hgridshift',0,NULL,'https://cdn.proj.org/dk_sdfi_gsb_2022.tif',1,1,NULL),
('kk_2022.gsb','dk_sdfi_kk_2022.tif',NULL,'GTiff','hgridshift',0,NULL,'https://cdn.proj.org/dk_sdfi_kk_2022.tif',1,1,NULL),
('os_2022.gsb','dk_sdfi_os_2022.tif',NULL,'GTiff','hgridshift',0,NULL,'https://cdn.proj.org/dk_sdfi_os_2022.tif',1,1,NULL),
('s34j_2022.gsb','dk_sdfi_s34j_2022.tif',NULL,'GTiff','hgridshift',0,NULL,'https://cdn.proj.org/dk_sdfi_s34j_2022.tif',1,1,NULL),
('s34s_2022.gsb','dk_sdfi_s34s_2022.tif',NULL,'GTiff','hgridshift',0,NULL,'https://cdn.proj.org/dk_sdfi_s34s_2022.tif',1,1,NULL),
('s45b_2022.gsb','dk_sdfi_s45b_2022.tif',NULL,'GTiff','hgridshift',0,NULL,'https://cdn.proj.org/dk_sdfi_s45b_2022.tif',1,1,NULL),
-- es_cat_icgc - Institut Cartogràfic i Geològic de Catalunya (ICGC)
('100800401.gsb','es_cat_icgc_100800401.tif','100800401.gsb','GTiff','hgridshift',0,NULL,'https://cdn.proj.org/es_cat_icgc_100800401.tif',1,1,NULL),
@@ -204,9 +217,11 @@ VALUES
-- nc_dittt - Gouvernement de Nouvelle Calédonie - DITTT
('Ranc08_Circe.mnt','nc_dittt_Ranc08_Circe.tif',NULL,'GTiff','geoid_like',0,NULL,'https://cdn.proj.org/nc_dittt_Ranc08_Circe.tif',1,1,NULL),
('RANC15.tac','nc_dittt_RANC15.tif',NULL,'GTiff','geoid_like',0,NULL,'https://cdn.proj.org/nc_dittt_RANC15.tif',1,1,NULL),
('gr3dnc01b.mnt','nc_dittt_gr3dnc01b.tif',NULL,'GTiff','geocentricoffset',0,NULL,'https://cdn.proj.org/nc_dittt_gr3dnc01b.tif',1,1,NULL),
('gr3dnc02b.mnt','nc_dittt_gr3dnc02b.tif',NULL,'GTiff','geocentricoffset',0,NULL,'https://cdn.proj.org/nc_dittt_gr3dnc02b.tif',1,1,NULL),
('gr3dnc03a.mnt','nc_dittt_gr3dnc03a.tif',NULL,'GTiff','geocentricoffset',0,NULL,'https://cdn.proj.org/nc_dittt_gr3dnc03a.tif',1,1,NULL),
('gr3dncl08.tac','nc_dittt_gr3dncI08.tif',NULL,'GTiff','geocentricoffset',0,NULL,'https://cdn.proj.org/nc_dittt_gr3dncI08.tif',1,1,NULL),
-- Netherlands / RDNAP (non-free grids). See https://salsa.debian.org/debian-gis-team/proj-rdnap/raw/master/debian/copyright
-- Netherlands / RDNAP 2018
+26 -2
View File
@@ -1210,9 +1210,9 @@ INSERT INTO "grid_transformation" VALUES('EPSG','9919','ETRS89 to ETRS89 + BI he
INSERT INTO "usage" VALUES('EPSG','17342','grid_transformation','EPSG','9919','EPSG','1305','EPSG','1270');
INSERT INTO "grid_transformation" VALUES('EPSG','9921','Genoa 1942 height to EVRF2019 mean-tide height (1)','Determined at 26 points, SD 0.054m. Offset: mean -0.328m, minimum -0.469m, maximum -0.249m. The extent corresponds to the area in Italy containing benchmarks with EVRF heights.','EPSG','1085','Vertical Offset by Grid Interpolation (asc)','EPSG','5214','EPSG','9390',0.108,'EPSG','8732','Vertical offset file','it_2019m.asc',NULL,NULL,NULL,NULL,'EPSG','4258','EuG-Ita 2019m 2020-09',0);
INSERT INTO "usage" VALUES('EPSG','17318','grid_transformation','EPSG','9921','EPSG','4659','EPSG','1059');
INSERT INTO "grid_transformation" VALUES('EPSG','9925','ETRS89 to DHHN2016 height (1)','Accuracy approx. 1 cm in the lowlands, approx. 2 cm in the high mountains and 2 - 6 cm offshore. For reversible alternative to this transformation see ETRS89 to ETRS89 + DHHN2016 height (1) (code 9926).','EPSG','1082','Geographic3D to GravityRelatedHeight (txt)','EPSG','4937','EPSG','7837',0.02,'EPSG','8666','Geoid (height correction) model file','GCG2016.txt',NULL,NULL,NULL,NULL,NULL,NULL,'BKG-Deu 2016',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9925','ETRS89 to DHHN2016 height (1)','Accuracy approx. 1 cm in the lowlands, approx. 2 cm in the high mountains and 2 - 6 cm offshore. For reversible alternative to this transformation see ETRS89 to ETRS89 + DHHN2016 height (1) (code 9926).','EPSG','1082','Geographic3D to GravityRelatedHeight (txt)','EPSG','4937','EPSG','7837',0.02,'EPSG','8666','Geoid (height correction) model file','GCG2016.txt',NULL,NULL,NULL,NULL,NULL,NULL,'BKG-Deu 2016',1);
INSERT INTO "usage" VALUES('EPSG','17171','grid_transformation','EPSG','9925','EPSG','3339','EPSG','1133');
INSERT INTO "grid_transformation" VALUES('EPSG','9926','ETRS89 to ETRS89 + DHHN2016 height (1)','Reversible alternative to ETRS89 to DHHN2016 height (1) (code 9925). Accuracy approx. 1 cm in the lowlands, approx. 2 cm in the high mountains and 2 - 6 cm offshore.','EPSG','1098','Geog3D to Geog2D+GravityRelatedHeight (txt)','EPSG','4937','EPSG','9924',0.02,'EPSG','8666','Geoid (height correction) model file','GCG2016.txt',NULL,NULL,NULL,NULL,'EPSG','4258','BKG-Deu 2016',0);
INSERT INTO "grid_transformation" VALUES('EPSG','9926','ETRS89 to ETRS89 + DHHN2016 height (1)','Reversible alternative to ETRS89 to DHHN2016 height (1) (code 9925). Accuracy approx. 1 cm in the lowlands, approx. 2 cm in the high mountains and 2 - 6 cm offshore.','EPSG','1098','Geog3D to Geog2D+GravityRelatedHeight (txt)','EPSG','4937','EPSG','9924',0.02,'EPSG','8666','Geoid (height correction) model file','GCG2016.txt',NULL,NULL,NULL,NULL,'EPSG','4258','BKG-Deu 2016',1);
INSERT INTO "usage" VALUES('EPSG','17170','grid_transformation','EPSG','9926','EPSG','3339','EPSG','1270');
INSERT INTO "grid_transformation" VALUES('EPSG','9940','DHDN to ETRS89 (11)','Official transformation of Hessen for the land survey register (ALKIS).','EPSG','9615','NTv2','EPSG','4314','EPSG','4258',0.1,'EPSG','8656','Latitude and longitude difference file','HeTa2010.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'LVGL-Deu HE 2010',0);
INSERT INTO "usage" VALUES('EPSG','17340','grid_transformation','EPSG','9940','EPSG','4660','EPSG','1055');
@@ -1460,6 +1460,8 @@ INSERT INTO "grid_transformation" VALUES('EPSG','10154','ETRS89 to MSL UK & Irel
INSERT INTO "usage" VALUES('EPSG','18587','grid_transformation','EPSG','10154','EPSG','4668','EPSG','1277');
INSERT INTO "grid_transformation" VALUES('EPSG','10155','ETRS89 to CD UK & Ireland VORF08 depth (1)','For reversible alternative to this transformation see ETRS89 to ETRS89 + CD UK & Ireland VORF08 depth (1) (code 10153).','EPSG','1116','Geographic3D to Depth (txt)','EPSG','4937','EPSG','10151',0.3,'EPSG','8666','Geoid (height correction) model file','VORF-UK08_ETRF_to_CD.vrf',NULL,NULL,NULL,NULL,NULL,NULL,'UKHO-VORF08',0);
INSERT INTO "usage" VALUES('EPSG','18588','grid_transformation','EPSG','10155','EPSG','4668','EPSG','1277');
INSERT INTO "grid_transformation" VALUES('EPSG','10161','ETRS89 to S34J-IRF (1)','In conjunction with the S34-reconstruction map projection (code 10159) applied to S34J-IRF (code 10158), enables transformation of coordinates between the historic CRS S34J and ETRS89. File is also available in GeoTIFF format (s34j_2022.tif).','EPSG','9615','NTv2','EPSG','4258','EPSG','10158',0.03,'EPSG','8656','Latitude and longitude difference file','s34j_2022.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'SDFI-Den Jy 2022',0);
INSERT INTO "usage" VALUES('EPSG','19699','grid_transformation','EPSG','10161','EPSG','2531','EPSG','1203');
INSERT INTO "grid_transformation" VALUES('EPSG','10181','ETRS89 to DoPw22-IRF (1)','In conjunction with DoPw22-TM map projection (code 10182) applied to DoPw22-IRF (code 10175), emulates the DoPw22 Snake projection. Applied to ETRS89 (as realized through the OSNet v2009) defines DoPw22-IRF hence is errorless.','EPSG','9615','NTv2','EPSG','4258','EPSG','10175',0.0,'EPSG','8656','Latitude and longitude difference file','TN15-ETRS89-to-DoPw22-IRF.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'NR-Gbr DoPw22 OSNet2009',0);
INSERT INTO "usage" VALUES('EPSG','18852','grid_transformation','EPSG','10181','EPSG','4686','EPSG','1141');
INSERT INTO "grid_transformation" VALUES('EPSG','10186','ETRS89 to ShAb07-IRF (1)','In conjunction with the ShAb07-TM map projection (code 10187) applied to ShAb07-IRF (code 10185), emulates the ShAb07 Snake projection. Applied to ETRS89 (as realized through the OSNet v2009) defines ShAb07-IRF hence is errorless.','EPSG','9615','NTv2','EPSG','4258','EPSG','10185',0.0,'EPSG','8656','Latitude and longitude difference file','TN15-ETRS89-to-ShAb07-IRF.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'NR-Gbr ShAb07 OSNet2009',0);
@@ -1486,10 +1488,32 @@ INSERT INTO "grid_transformation" VALUES('EPSG','10247','Slovenia 1996 to SVS201
INSERT INTO "usage" VALUES('EPSG','18848','grid_transformation','EPSG','10247','EPSG','3307','EPSG','1133');
INSERT INTO "grid_transformation" VALUES('EPSG','10248','Slovenia 1996 to Slovenia 1996 + SVS2010 height (1)','Reversible alternative to Slovenia 1996 to SVS2010 height (1) (CT code 10247). Hybrid geoid fitted at 66 levelling benchmarks. File is also available in Gravsoft format (SLOVRP2016-Koper.gri).','EPSG','1118','Geog3D to Geog2D+GravityRelatedHeight (ISG)','EPSG','4883','EPSG','10245',0.1,'EPSG','8666','Geoid (height correction) model file','https://isgeoid.polimi.it/Geoid/Europe/Slovenia/public/Slovenia_2016_SLO_VRP2016_Koper_hybrQ_20221122.isg',NULL,NULL,NULL,NULL,'EPSG','4765','SMA-Svn VRP2016/Koper',0);
INSERT INTO "usage" VALUES('EPSG','18850','grid_transformation','EPSG','10248','EPSG','3307','EPSG','1270');
INSERT INTO "grid_transformation" VALUES('EPSG','10251','ETRS89 to S34S-IRF (1)','In conjunction with the S34-reconstruction map projection (code 10159) applied to S34S-IRF (code 10249), enables transformation of coordinates between the historic CRS S34S and ETRS89. File is also available in GeoTIFF format (s34s_2022.tif).','EPSG','9615','NTv2','EPSG','4258','EPSG','10249',0.03,'EPSG','8656','Latitude and longitude difference file','s34s_2022.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'SDFI-Den Sj 2022',0);
INSERT INTO "usage" VALUES('EPSG','19700','grid_transformation','EPSG','10251','EPSG','2532','EPSG','1203');
INSERT INTO "grid_transformation" VALUES('EPSG','10255','ETRS89 to S45B-IRF (1)','In conjunction with the S45B-reconstruction map projection (code 10253) applied to S45B-IRF (code 10252), enables transformation of coordinates between the historic CRS S45 and ETRS89. File is also available in GeoTIFF format (s45b_2022.tif).','EPSG','9615','NTv2','EPSG','4258','EPSG','10252',0.03,'EPSG','8656','Latitude and longitude difference file','s45b_2022.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'SDFI-Den 2022',0);
INSERT INTO "usage" VALUES('EPSG','19701','grid_transformation','EPSG','10255','EPSG','2533','EPSG','1203');
INSERT INTO "grid_transformation" VALUES('EPSG','10259','ETRS89 to GS-IRF (1)','In conjunction with the GS LCC map projection (code 10257) applied to GS-IRF (code 10256), enables transformation of coordinates between the historic Generalstabens System and ETRS89. File is also available in GeoTIFF format (gs_2022.tif).','EPSG','9615','NTv2','EPSG','4258','EPSG','10256',0.5,'EPSG','8656','Latitude and longitude difference file','gs_2022.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'SDFI-Den 2022',0);
INSERT INTO "usage" VALUES('EPSG','19708','grid_transformation','EPSG','10259','EPSG','4575','EPSG','1203');
INSERT INTO "grid_transformation" VALUES('EPSG','10263','ETRS89 to GSB-IRF (1)','In conjunction with the GSB-reconstruction projection (code 10261) applied to GSB-IRF (code 10260), enables transformation of coordinates between the historic Generalstaben in Bornholm and ETRS89. File is also available in GeoTIFF format (gsb_2022.tif).','EPSG','9615','NTv2','EPSG','4258','EPSG','10260',0.5,'EPSG','8656','Latitude and longitude difference file','gsb_2022.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'SDFI-Den 2022',0);
INSERT INTO "usage" VALUES('EPSG','19771','grid_transformation','EPSG','10263','EPSG','2533','EPSG','1203');
INSERT INTO "grid_transformation" VALUES('EPSG','10267','ETRS89 to KK-IRF (1)','In conjunction with the GS LCC map projection (code 10257) applied to KK-IRF (code 10265), enables transformation of coordinates between the historic Copenhagen Commune system and ETRS89. File is also available in GeoTIFF format (kk_2022.tif).','EPSG','9615','NTv2','EPSG','4258','EPSG','10265',0.5,'EPSG','8656','Latitude and longitude difference file','kk_2022.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'SDFI-Den 2022',0);
INSERT INTO "usage" VALUES('EPSG','19711','grid_transformation','EPSG','10267','EPSG','4693','EPSG','1203');
INSERT INTO "grid_transformation" VALUES('EPSG','10271','ETRS89 to Ostenfeld-IRF (1)','In conjunction with the Ostenfeld-reconstruction map projection (code 10269) applied to OS-IRF (code 10268), enables transformation of coordinates between the historic Ostenfeld CRS and ETRS89. File is also available in GeoTIFF format (os_2022.tif).','EPSG','9615','NTv2','EPSG','4258','EPSG','10268',1.0,'EPSG','8656','Latitude and longitude difference file','os_2022.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'SDFI-Den 2022',0);
INSERT INTO "usage" VALUES('EPSG','19705','grid_transformation','EPSG','10271','EPSG','4694','EPSG','1028');
INSERT INTO "grid_transformation" VALUES('EPSG','10273','ETRS89 to SMITB20-IRF (1)','In conjunction with the SMITB20-TM map projection (code 10274) applied to SMITB20-IRF (code 10272), emulates the SMITB20 Snake projection. Applied to ETRS89 (as realized through the OSNet v2009) defines SMITB20-IRF hence is errorless.','EPSG','9615','NTv2','EPSG','4258','EPSG','10272',0.0,'EPSG','8656','Latitude and longitude difference file','TN15-ETRS89-to-SMITB20-IRF.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'NR-Gbr SMITB20 OSNet2009',0);
INSERT INTO "usage" VALUES('EPSG','19176','grid_transformation','EPSG','10273','EPSG','4688','EPSG','1141');
INSERT INTO "grid_transformation" VALUES('EPSG','10278','ETRS89 to RBEPP12-IRF (1)','In conjunction with the RBEPP12-LCC map projection (code 10279) applied to RBEPP12-IRF (code 10277), emulates the RBEPP12 Snake projection. Applied to ETRS89 (as realized through the OSNet v2009) defines RBEPP12-IRF hence is errorless.','EPSG','9615','NTv2','EPSG','4258','EPSG','10277',0.0,'EPSG','8656','Latitude and longitude difference file','TN15-ETRS89-to-RBEPP12-IRF.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'NR-Gbr RBEPP12 OSNet2009',0);
INSERT INTO "usage" VALUES('EPSG','19182','grid_transformation','EPSG','10278','EPSG','4689','EPSG','1141');
INSERT INTO "grid_transformation" VALUES('EPSG','10294','ETRS89/DREF91/2016 to DHHN2016 height (1)','Accuracy approx. 1 cm in the lowlands, approx. 2 cm in the high mountains and 2 - 6 cm offshore. For reversible alternative to this transformation see ETRS89/DREF91/2016 to ETRS89/DREF91/2016 + DHHN2016 height (1) (code 10295).','EPSG','1082','Geographic3D to GravityRelatedHeight (txt)','EPSG','10283','EPSG','7837',0.02,'EPSG','8666','Geoid (height correction) model file','GCG2016.txt',NULL,NULL,NULL,NULL,NULL,NULL,'AdV-Deu 2016',0);
INSERT INTO "usage" VALUES('EPSG','19347','grid_transformation','EPSG','10294','EPSG','1103','EPSG','1133');
INSERT INTO "grid_transformation" VALUES('EPSG','10295','ETRS89/DREF91/2016 to ETRS89/DREF91/2016 + DHHN2016 height (1)','Reversible alternative to ETRS89/DREF91/2016 to DHHN2016 height (1) (code 10294). Accuracy approx. 1 cm in the lowlands, approx. 2 cm in the high mountains and 2 - 6 cm offshore.','EPSG','1098','Geog3D to Geog2D+GravityRelatedHeight (txt)','EPSG','10283','EPSG','10293',0.02,'EPSG','8666','Geoid (height correction) model file','GCG2016.txt',NULL,NULL,NULL,NULL,'EPSG','10284','AdV-Deu 2016',0);
INSERT INTO "usage" VALUES('EPSG','19564','grid_transformation','EPSG','10295','EPSG','3339','EPSG','1270');
INSERT INTO "grid_transformation" VALUES('EPSG','10319','RGNC15 to NGNC08 height (1)','Geoid model RANC15 realizes NGNC08 height (CRS code 9351) to a precision of 2-5cm. Replaces RANC08. For reversible alternative to this transformation see RGNC15 (lon-lat) to RGNC15 (lon-lat) + NGNC08 height (1) (code 10320).','EPSG','1073','Geographic3D to GravityRelatedHeight (IGN2009)','EPSG','10311','EPSG','9351',0.03,'EPSG','8666','Geoid (height correction) model file','RANC15.tac',NULL,NULL,NULL,NULL,NULL,NULL,'BGN-Ncl RANC15',0);
INSERT INTO "usage" VALUES('EPSG','19635','grid_transformation','EPSG','10319','EPSG','3430','EPSG','1133');
INSERT INTO "grid_transformation" VALUES('EPSG','10320','RGNC15 to RGNC15 + NGNC08 height (1)','Reversible alternative to RGNC15 to NGNC08 height (1) (code 10319).','EPSG','1095','Geog3D to Geog2D+GravityRelatedHeight (IGN2009)','EPSG','10311','EPSG','10318',0.03,'EPSG','8666','Geoid (height correction) model file','RANC15.tac',NULL,NULL,NULL,NULL,'EPSG','10312','BGN-Ncl RANC15',0);
INSERT INTO "usage" VALUES('EPSG','19636','grid_transformation','EPSG','10320','EPSG','3430','EPSG','1270');
INSERT INTO "grid_transformation" VALUES('EPSG','10322','RGNC91-93 to RGNC15 (2)','Derived at 67 GNSS stations. General accuracy 1 to 1.5cm in planimetry and 2cm in height at epoch 2015.0.','EPSG','1087','Geocentric translation by Grid Interpolation (IGN)','EPSG','10307','EPSG','10312',0.03,'EPSG','8727','Geocentric translation file','gr3dncl08.tac',NULL,NULL,NULL,NULL,'EPSG','10312','BGN-Ncl 0.1m',0);
INSERT INTO "usage" VALUES('EPSG','19654','grid_transformation','EPSG','10322','EPSG','3430','EPSG','1031');
INSERT INTO "grid_transformation" VALUES('EPSG','15486','CH1903 to CH1903+ (1)','For improved accuracy (0.01m) use CHENyx06 interpolation programme FINELTRA. File CHENyx06 replaced by CHENyx06a; there is a small area at the border of the data where some more real data has been introduced. swisstopo consider the change insignificant.','EPSG','9615','NTv2','EPSG','4149','EPSG','4150',0.2,'EPSG','8656','Latitude and longitude difference file','CHENyx06a.gsb',NULL,NULL,NULL,NULL,NULL,NULL,'BfL-Che',0);
INSERT INTO "usage" VALUES('EPSG','11497','grid_transformation','EPSG','15486','EPSG','1286','EPSG','1085');
INSERT INTO "grid_transformation" VALUES('EPSG','15488','RRAF 1991 to IGN 1988 MG height (1)','May be used for transformations from WGS 84 to IGN 1988 MG. Accuracy at each 0.025 deg x 0.025 degree grid node is given within the geoid model file.','EPSG','9664','Geographic3D to GravityRelatedHeight (IGN1997)','EPSG','4973','EPSG','5617',0.2,'EPSG','8666','Geoid (height correction) model file','ggg00_mg.txt',NULL,NULL,NULL,NULL,NULL,NULL,'IGN Glp MG',1);
+28 -4
View File
@@ -1233,7 +1233,7 @@ INSERT INTO "helmert_transformation" VALUES('EPSG','1956','TM75 to WGS 84 (3)','
INSERT INTO "usage" VALUES('EPSG','8877','helmert_transformation','EPSG','1956','EPSG','1305','EPSG','1160');
INSERT INTO "helmert_transformation" VALUES('EPSG','1957','Helle 1954 to WGS 84 (1)','Derived at 3 stations. Residuals under 1m.','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','4660','EPSG','4326',1.0,982.6087,552.753,-540.873,'EPSG','9001',32.39344,-153.25684,-96.2266,'EPSG','9109',16.805,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SKV-SJM Jan Mayen',0);
INSERT INTO "usage" VALUES('EPSG','8878','helmert_transformation','EPSG','1957','EPSG','2869','EPSG','1041');
INSERT INTO "helmert_transformation" VALUES('EPSG','1958','LKS92 to WGS 84 (1)','LKS92 is a national realization of ETRS89 and coincident to WGS84 within 1 metre. This transformation has an accuracy equal to the coincidence figure.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4661','EPSG','4326',1.0,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vzd-Lva',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','1958','LKS-92 to WGS 84 (1)','LKS-92 is a national realization of ETRS89 and coincident to WGS84 within 1 metre. This transformation has an accuracy equal to the coincidence figure.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4661','EPSG','4326',1.0,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vzd-Lva',0);
INSERT INTO "usage" VALUES('EPSG','8879','helmert_transformation','EPSG','1958','EPSG','1139','EPSG','1252');
INSERT INTO "helmert_transformation" VALUES('EPSG','1959','St. Vincent 1945 to WGS 84 (1)','Derived at 4 points.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4607','EPSG','4326',1.0,195.671,332.517,274.607,'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,'LSU-Vct',0);
INSERT INTO "usage" VALUES('EPSG','8880','helmert_transformation','EPSG','1959','EPSG','3300','EPSG','1041');
@@ -2229,7 +2229,7 @@ INSERT INTO "helmert_transformation" VALUES('EPSG','8889','BGS2005 to ETRS89 (1)
INSERT INTO "usage" VALUES('EPSG','10829','helmert_transformation','EPSG','8889','EPSG','1056','EPSG','1161');
INSERT INTO "helmert_transformation" VALUES('EPSG','8890','BGS2005 to WGS 84 (1)','Approximation at the +/- 1m level assuming that ETRS89 is equivalent to WGS 84. BGS2005 is a national realization of ETRS89.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','7798','EPSG','4326',1.0,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'IOGP-Bgr',0);
INSERT INTO "usage" VALUES('EPSG','10830','helmert_transformation','EPSG','8890','EPSG','1056','EPSG','1252');
INSERT INTO "helmert_transformation" VALUES('EPSG','8891','LKS92 to ETRS89 (1)','LKS92 is a national realization of ETRS89. May be taken as approximate transformation LKS92 to WGS 84 - see code 1958.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4661','EPSG','4258',0.0,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'IOGP-Lva',0);
INSERT INTO "helmert_transformation" VALUES('EPSG','8891','LKS-92 to ETRS89 (1)','LKS-92 is a national realization of ETRS89. May be taken as approximate transformation LKS92 to WGS 84 - see code 1958.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4661','EPSG','4258',0.0,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'IOGP-Lva',0);
INSERT INTO "usage" VALUES('EPSG','10831','helmert_transformation','EPSG','8891','EPSG','1139','EPSG','1161');
INSERT INTO "helmert_transformation" VALUES('EPSG','8892','LKS94 to ETRS89 (1)','LKS94 is a national realization of ETRS89. May be taken as approximate transformation LKS94 to WGS 84 - see code 1283.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4669','EPSG','4258',0.0,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'IOGP-Ltu',0);
INSERT INTO "usage" VALUES('EPSG','10832','helmert_transformation','EPSG','8892','EPSG','1145','EPSG','1161');
@@ -2279,8 +2279,8 @@ INSERT INTO "helmert_transformation" VALUES('EPSG','8968','CR05 to CR-SIRGAS (1)
INSERT INTO "usage" VALUES('EPSG','10854','helmert_transformation','EPSG','8968','EPSG','1074','EPSG','1035');
INSERT INTO "helmert_transformation" VALUES('EPSG','8969','CR05 to WGS 84 (2)','Parameter vales are from CR05 to CR-SIRGAS (1) (code 8968) assuming that CR-SIRGAS (ITRF08 (IGb08)@2014.59) is equivalent to WGS 84 within the accuracy of the transformation.','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','5365','EPSG','4326',1.0,-0.16959,0.35312,0.51846,'EPSG','9001',-0.03385,0.16325,-0.03446,'EPSG','9104',0.03693,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'IGN-Cri 2014',1);
INSERT INTO "usage" VALUES('EPSG','10855','helmert_transformation','EPSG','8969','EPSG','1074','EPSG','1041');
INSERT INTO "helmert_transformation" VALUES('EPSG','8970','ITRF2014 to NAD83(2011) (1)','Concatenation of joint US-Canada transformation NAD83(CORS96)>ITRF96 (CT code 6864) with IGS value for ITRF96>ITRF97 and IERS values for ITRF97>ITRF2014 CTs. Scale difference in ppb and scale difference rate in ppb/yr where 1/billion = 1E-9 or nm/m.','EPSG','1056','Time-dependent Coordinate Frame rotation (geocen)','EPSG','7789','EPSG','6317',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,'IOGP-Usa CONUS-AK PRVI',0);
INSERT INTO "usage" VALUES('EPSG','10856','helmert_transformation','EPSG','8970','EPSG','1511','EPSG','1136');
INSERT INTO "helmert_transformation" VALUES('EPSG','8970','ITRF2014 to NAD83(2011) (1)','Concatenation of joint US-Canada transformation NAD83(CORS96)>ITRF96 (CT code 6864) with IGS value for ITRF96>ITRF97 and IERS values for ITRF97>ITRF2014 CTs. Scale difference in ppb and scale difference rate in ppb/yr where 1/billion = 1E-9 or nm/m.','EPSG','1056','Time-dependent Coordinate Frame rotation (geocen)','EPSG','7789','EPSG','6317',0.0,1.0053,-1.90921,-0.54157,'EPSG','9001',26.78138,-0.42027,10.93206,'EPSG','1031',0.36891,'EPSG','1028',0.00079,-0.0006,-0.00144,'EPSG','1042',0.06667,-0.75744,-0.05133,'EPSG','1032',-0.07201,'EPSG','1030',2010.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'NGS-Usa CONUS-AK PRVI',0);
INSERT INTO "usage" VALUES('EPSG','10856','helmert_transformation','EPSG','8970','EPSG','1511','EPSG','1026');
INSERT INTO "helmert_transformation" VALUES('EPSG','8971','NAD83 to NAD83(2011) (1)','','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4269','EPSG','6318',1.0,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'IOGP-Usa GoM',0);
INSERT INTO "usage" VALUES('EPSG','10857','helmert_transformation','EPSG','8971','EPSG','3357','EPSG','1136');
INSERT INTO "helmert_transformation" VALUES('EPSG','9020','ITRF88 to ITRF89 (1)','Scale difference in ppb and scale difference rate in ppb/yr where 1/billion = 1E-9 or nm/m. Superseded by parameter values derived from transformations to ITRF2020 (change in scale difference), see EPSG:10139.','EPSG','1033','Position Vector transformation (geocentric domain)','EPSG','4910','EPSG','4911',0.01,0.5,3.6,2.4,'EPSG','1033',-0.1,0.0,0.0,'EPSG','1031',-3.0,'EPSG','1028',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'IERS-Wld',0);
@@ -2603,6 +2603,30 @@ INSERT INTO "helmert_transformation" VALUES('EPSG','10179','ITRF2020 to IGS20 (1
INSERT INTO "usage" VALUES('EPSG','18634','helmert_transformation','EPSG','10179','EPSG','1262','EPSG','1027');
INSERT INTO "helmert_transformation" VALUES('EPSG','10180','IGb14 to IGS20 (1)','Scale difference in ppb and scale difference rate in ppb/yr where 1/billion = 1E-9 or nm/m. Parameter values from ITRF2014 to ITRF2020 (1) (code 9991) as IGb14 is aligned to ITRF2014 and IGS20 is aligned to ITRF2020.','EPSG','1053','Time-dependent Position Vector tfm (geocentric)','EPSG','9378','EPSG','10176',0.001,1.4,0.9,-1.4,'EPSG','1025',0.0,0.0,0.0,'EPSG','1031',0.42,'EPSG','1028',0.0,0.1,-0.2,'EPSG','1027',0.0,0.0,0.0,'EPSG','1032',0.0,'EPSG','1030',2015.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'IGS-Wld',0);
INSERT INTO "usage" VALUES('EPSG','18633','helmert_transformation','EPSG','10180','EPSG','1262','EPSG','1027');
INSERT INTO "helmert_transformation" VALUES('EPSG','10264','RGSH2020 to WGS 84 (1)','For many purposes RGSH2020 can be considered to be coincident with WGS 84. This approximation ignores the low accuracy of the WGS 84 ensemble and the application of tectonic plate motion to WGS 84 data.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','10299','EPSG','4326',1.0,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'EPSG-Dza',0);
INSERT INTO "usage" VALUES('EPSG','19536','helmert_transformation','EPSG','10264','EPSG','1026','EPSG','1252');
INSERT INTO "helmert_transformation" VALUES('EPSG','10292','ETRS89/DREF91/2016 to ETRF2000 (1)','Accuracy 4.1mm N, 3.3mm E, 10.6mm up.','EPSG','1033','Position Vector transformation (geocentric domain)','EPSG','10282','EPSG','7930',0.1,0.0,0.0,0.0,'EPSG','9001',0.658,-0.208,0.755,'EPSG','1031',0.0,'EPSG','1028',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AdV-Deu 2016',0);
INSERT INTO "usage" VALUES('EPSG','19279','helmert_transformation','EPSG','10292','EPSG','1103','EPSG','1027');
INSERT INTO "helmert_transformation" VALUES('EPSG','10296','Nord Sahara 1959 to WGS 84 (11)','Given by infomation source in direction WGS 84 to Nord Sahara 1959. Defines official relationship between WGS 84 and national geodetic system; epoch unspecified. Derived at approximately 40 points in northern Algeria; accuracy applies only to this area.','EPSG','9606','Position Vector transformation (geog2D domain)','EPSG','4307','EPSG','4326',1.0,-267.407,-47.068,446.357,'EPSG','9001',-0.179423,5.577661,-1.27762,'EPSG','9104',1.204866,'EPSG','9202',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'INCT-Dza 2022',0);
INSERT INTO "usage" VALUES('EPSG','19518','helmert_transformation','EPSG','10296','EPSG','1026','EPSG','1026');
INSERT INTO "helmert_transformation" VALUES('EPSG','10321','RGNC91-93 to RGNC15 (1)','See RGNC91-93 to RGNC15 (2) (transformation code 10322) for authoritative transformation between these CRSs. This transformation is used only as the standard transformation T0 within that transformation.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','10307','EPSG','10312',1.0,-0.584,-1.117,1.125,'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,'BGN-Ncl 1m',0);
INSERT INTO "usage" VALUES('EPSG','19653','helmert_transformation','EPSG','10321','EPSG','3430','EPSG','1041');
INSERT INTO "helmert_transformation" VALUES('EPSG','10324','RGNC15 to WGS 84 (1)','Accuracy decreasing at approximately 6cm per year due to tectonic plate motion.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','10310','EPSG','4326',1.0,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'IOGP-Ncl',0);
INSERT INTO "usage" VALUES('EPSG','19656','helmert_transformation','EPSG','10324','EPSG','1174','EPSG','1252');
INSERT INTO "helmert_transformation" VALUES('EPSG','10330','BH_ETRS89 to ETRS89 (1)','BH_ETRS89 is a national realization of ETRS89. May be taken as approximate transformation BH_ETRS89 to WGS 84 - see code 10333.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','10328','EPSG','4258',0.0,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'IOGP-Bih',0);
INSERT INTO "usage" VALUES('EPSG','19745','helmert_transformation','EPSG','10330','EPSG','1050','EPSG','1161');
INSERT INTO "helmert_transformation" VALUES('EPSG','10333','BH_ETRS89 to WGS 84 (1)','Approximation at the +/- 1m level assuming that ETRS89 is equivalent to WGS 84. BH_ETRS89 is a national realization of ETRS89.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','10328','EPSG','4326',1.0,0.0,0.0,0.0,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'IOGP-Bih',0);
INSERT INTO "usage" VALUES('EPSG','19744','helmert_transformation','EPSG','10333','EPSG','1050','EPSG','1252');
INSERT INTO "helmert_transformation" VALUES('EPSG','10334','ITRF2020 to NAD83(2011) (1)','Concatenation of joint US-Canada transformation NAD83(CORS96)>ITRF96 (CT code 6864) with IGS value for ITRF96>ITRF97 and IERS values for ITRF97>ITRF2020 CTs. Scale difference in ppb and scale difference rate in ppb/yr where 1/billion = 1E-9 or nm/m.','EPSG','1056','Time-dependent Coordinate Frame rotation (geocen)','EPSG','9988','EPSG','6317',0.0,1003.9,-1909.61,-541.17,'EPSG','1025',26.78138,-0.42027,10.93206,'EPSG','1031',-0.05109,'EPSG','1028',0.79,-0.7,-1.24,'EPSG','1027',0.06667,-0.75744,-0.05133,'EPSG','1032',-0.07201,'EPSG','1030',2010.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'NGS-Usa CONUS-AK PRVI',0);
INSERT INTO "usage" VALUES('EPSG','19772','helmert_transformation','EPSG','10334','EPSG','1511','EPSG','1026');
INSERT INTO "helmert_transformation" VALUES('EPSG','10335','ITRF2014 to NAD83(PA11) (1)','','EPSG','1056','Time-dependent Coordinate Frame rotation (geocen)','EPSG','7789','EPSG','6320',0.0,0.9109,-2.0129,-0.5863,'EPSG','9001',22.749,26.56,-25.706,'EPSG','1031',2.12,'EPSG','1028',0.0001,0.0001,-0.0019,'EPSG','1042',-0.384,1.007,-2.186,'EPSG','1032',0.11,'EPSG','1030',2010.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'NGS-PA',0);
INSERT INTO "usage" VALUES('EPSG','19769','helmert_transformation','EPSG','10335','EPSG','4162','EPSG','1026');
INSERT INTO "helmert_transformation" VALUES('EPSG','10336','ITRF2020 to NAD83(PA11) (1)','','EPSG','1056','Time-dependent Coordinate Frame rotation (geocen)','EPSG','9988','EPSG','6320',0.0,909.5,-2013.3,-585.9,'EPSG','1025',22.749,26.56,-25.706,'EPSG','1031',1.7,'EPSG','1028',0.1,0.0,-1.7,'EPSG','1027',-0.384,1.007,-2.186,'EPSG','1032',0.11,'EPSG','1030',2010.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'NGS-PA',0);
INSERT INTO "usage" VALUES('EPSG','19773','helmert_transformation','EPSG','10336','EPSG','4162','EPSG','1026');
INSERT INTO "helmert_transformation" VALUES('EPSG','10337','ITRF2014 to NAD83(MA11) (1)','','EPSG','1056','Time-dependent Coordinate Frame rotation (geocen)','EPSG','7789','EPSG','6323',0.0,0.9109,-2.0129,-0.5863,'EPSG','9001',28.711,11.785,4.417,'EPSG','1031',2.12,'EPSG','1028',0.0001,0.0001,-0.0019,'EPSG','1042',-0.02,0.105,-0.347,'EPSG','1032',0.11,'EPSG','1030',2010.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'NGS-MA',0);
INSERT INTO "usage" VALUES('EPSG','19770','helmert_transformation','EPSG','10337','EPSG','4167','EPSG','1026');
INSERT INTO "helmert_transformation" VALUES('EPSG','10338','ITRF2020 to NAD83(MA11) (1)','','EPSG','1056','Time-dependent Coordinate Frame rotation (geocen)','EPSG','9988','EPSG','6323',0.0,909.5,-2013.3,-585.9,'EPSG','1025',28.711,11.785,4.417,'EPSG','1031',1.7,'EPSG','1028',0.1,0.0,-1.7,'EPSG','1027',-0.02,0.105,-0.347,'EPSG','1032',0.11,'EPSG','1030',2010.0,'EPSG','1029',NULL,NULL,NULL,NULL,NULL,'NGS-MA',0);
INSERT INTO "usage" VALUES('EPSG','19774','helmert_transformation','EPSG','10338','EPSG','4167','EPSG','1026');
INSERT INTO "helmert_transformation" VALUES('EPSG','15483','Tokyo to JGD2000 (1)','Derived at Tokyo datum origin. Accuracy on main islands 9m. Also used on remote islands with significantly less accuracy: Io-To 793m, Kitadaito and Minamidaito Jima 642m, Tarama and Minna Shima 560m, Ishigaki and Taketomi Jima 251m, Yonaguni Jima 248m.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4301','EPSG','4612',9.0,-146.414,507.337,680.507,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GSI-Jpn',0);
INSERT INTO "usage" VALUES('EPSG','11494','helmert_transformation','EPSG','15483','EPSG','3957','EPSG','1142');
INSERT INTO "helmert_transformation" VALUES('EPSG','15484','Tokyo to WGS 84 (108)','Parameter values from Tokyo to JGD2000 (1) (code 15483). Assumes JGD2000 and WGS 84 can be considered the same to within the accuracy of the transformation.','EPSG','9603','Geocentric translations (geog2D domain)','EPSG','4301','EPSG','4326',9.0,-146.414,507.337,680.507,'EPSG','9001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'OGP-Jpn',0);
+246
View File
@@ -41,6 +41,8 @@ INSERT INTO conversion VALUES ('IAU_2015',80,'Lambert Azimuthal Equal Area','','
INSERT INTO usage VALUES('IAU_2015','CONV_80','conversion','IAU_2015',80,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO conversion VALUES ('IAU_2015',85,'Albers Equal Area','','EPSG','9822','Albers Equal Area','EPSG','8821','Latitude of false origin',40,'EPSG',9122,'EPSG','8822','Longitude of false origin',0,'EPSG',9122,'EPSG','8823','Latitude of 1st standard parallel',20,'EPSG',9122,'EPSG','8824','Latitude of 2nd standard parallel',60,'EPSG',9122,'EPSG','8826','Easting at false origin',0,'EPSG',9001,'EPSG','8827','Northing at false origin',0,'EPSG',9001,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO usage VALUES('IAU_2015','CONV_85','conversion','IAU_2015',85,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO conversion VALUES ('IAU_2015',90,'Popular Visualisation Pseudo-Mercator','','EPSG','1024','Popular Visualisation Pseudo Mercator','EPSG','8801','Latitude of natural origin',0,'EPSG',9122,'EPSG','8802','Longitude of natural origin',0,'EPSG',9122,'EPSG','8806','False easting',0,'EPSG',9001,'EPSG','8807','False northing',0,'EPSG',9001,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO usage VALUES('IAU_2015','CONV_90','conversion','IAU_2015',90,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 10, 'Sun', 695700000.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 1000, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',1000,'Sun (2015) - Sphere',NULL,'IAU_2015',10,695700000.000000,'EPSG','9001',NULL,695700000.000000,0);
@@ -80,6 +82,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',1080,'Sun (2015) - Sphere / Ocentric
INSERT INTO usage VALUES('IAU_2015','PCRS_1080','projected_crs','IAU_2015',1080,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',1085,'Sun (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',1000,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_1085','projected_crs','IAU_2015',1085,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',1090,'Sun (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',1000,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_1090','projected_crs','IAU_2015',1090,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 199, 'Mercury', 2440530.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 19900, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',19900,'Mercury (2015) - Sphere',NULL,'IAU_2015',199,2440530.000000,'EPSG','9001',NULL,2440530.000000,0);
@@ -119,6 +123,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',19980,'Mercury (2015) - Sphere / Oce
INSERT INTO usage VALUES('IAU_2015','PCRS_19980','projected_crs','IAU_2015',19980,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',19985,'Mercury (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',19900,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_19985','projected_crs','IAU_2015',19985,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',19990,'Mercury (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',19900,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_19990','projected_crs','IAU_2015',19990,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO ellipsoid VALUES('IAU_2015',19901,'Mercury (2015)',NULL,'IAU_2015',199,2440530.000000,'EPSG','9001',NULL,2438260.000000,0);
INSERT INTO geodetic_datum VALUES('IAU_2015',19901,'Mercury (2015)','','IAU_2015',19901,'IAU_2015',19900,NULL,NULL,NULL,'Hun Kal: 20 W.0',0);
INSERT INTO usage VALUES('IAU_2015','GD_19901','geodetic_datum','IAU_2015',19901,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
@@ -156,6 +162,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',19981,'Mercury (2015) / Ographic / L
INSERT INTO usage VALUES('IAU_2015','PCRS_19981','projected_crs','IAU_2015',19981,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',19986,'Mercury (2015) / Ographic / Albers Equal Area',NULL,'PROJ','PROJECTED_WEST_NORTH','IAU_2015',19901,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_19986','projected_crs','IAU_2015',19986,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',19991,'Mercury (2015) / Ographic / Popular Visualisation Pseudo-Mercator',NULL,'PROJ','PROJECTED_WEST_NORTH','IAU_2015',19901,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_19991','projected_crs','IAU_2015',19991,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO geodetic_crs VALUES('IAU_2015',19902,'Mercury (2015) / Ocentric','Source of IAU Coordinate systems: https://doi.org/10.1007/s10569-017-9805-5','other','PROJ','OCENTRIC_LAT_LON','IAU_2015',19901,NULL,0);
INSERT INTO usage VALUES('IAU_2015','GCRS_19902','geodetic_crs','IAU_2015',19902,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',19912,'Mercury (2015) / Ocentric / Equirectangular, clon = 0',NULL,'EPSG','4400','IAU_2015',19902,'IAU_2015',10,NULL,0);
@@ -190,6 +198,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',19982,'Mercury (2015) / Ocentric / L
INSERT INTO usage VALUES('IAU_2015','PCRS_19982','projected_crs','IAU_2015',19982,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',19987,'Mercury (2015) / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',19902,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_19987','projected_crs','IAU_2015',19987,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',19992,'Mercury (2015) / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',19902,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_19992','projected_crs','IAU_2015',19992,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 299, 'Venus', 6051800.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 29900, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',29900,'Venus (2015) - Sphere',NULL,'IAU_2015',299,6051800.000000,'EPSG','9001',NULL,6051800.000000,0);
@@ -229,6 +239,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',29980,'Venus (2015) - Sphere / Ocent
INSERT INTO usage VALUES('IAU_2015','PCRS_29980','projected_crs','IAU_2015',29980,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',29985,'Venus (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',29900,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_29985','projected_crs','IAU_2015',29985,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',29990,'Venus (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',29900,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_29990','projected_crs','IAU_2015',29990,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 399, 'Earth', 6378136.600000);
INSERT INTO prime_meridian VALUES('IAU_2015', 39900, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',39900,'Earth (2015) - Sphere',NULL,'IAU_2015',399,6378136.600000,'EPSG','9001',NULL,6378136.600000,0);
@@ -268,6 +280,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',39980,'Earth (2015) - Sphere / Ocent
INSERT INTO usage VALUES('IAU_2015','PCRS_39980','projected_crs','IAU_2015',39980,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',39985,'Earth (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',39900,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_39985','projected_crs','IAU_2015',39985,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',39990,'Earth (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',39900,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_39990','projected_crs','IAU_2015',39990,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO ellipsoid VALUES('IAU_2015',39901,'Earth (2015)',NULL,'IAU_2015',399,6378136.600000,'EPSG','9001',NULL,6356751.900000,0);
INSERT INTO geodetic_datum VALUES('IAU_2015',39901,'Earth (2015)','','IAU_2015',39901,'IAU_2015',39900,NULL,NULL,NULL,'Greenwich: 0.0',0);
INSERT INTO usage VALUES('IAU_2015','GD_39901','geodetic_datum','IAU_2015',39901,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
@@ -305,6 +319,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',39981,'Earth (2015) / Ographic / Lam
INSERT INTO usage VALUES('IAU_2015','PCRS_39981','projected_crs','IAU_2015',39981,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',39986,'Earth (2015) / Ographic / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',39901,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_39986','projected_crs','IAU_2015',39986,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',39991,'Earth (2015) / Ographic / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',39901,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_39991','projected_crs','IAU_2015',39991,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO geodetic_crs VALUES('IAU_2015',39902,'Earth (2015) / Ocentric','Source of IAU Coordinate systems: https://doi.org/10.1007/s10569-017-9805-5','other','PROJ','OCENTRIC_LAT_LON','IAU_2015',39901,NULL,0);
INSERT INTO usage VALUES('IAU_2015','GCRS_39902','geodetic_crs','IAU_2015',39902,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 301, 'Moon', 1737400.000000);
@@ -346,6 +362,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',30180,'Moon (2015) - Sphere / Ocentr
INSERT INTO usage VALUES('IAU_2015','PCRS_30180','projected_crs','IAU_2015',30180,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',30185,'Moon (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',30100,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_30185','projected_crs','IAU_2015',30185,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',30190,'Moon (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',30100,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_30190','projected_crs','IAU_2015',30190,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 499, 'Mars', 3396190.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 49900, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',49900,'Mars (2015) - Sphere',NULL,'IAU_2015',499,3396190.000000,'EPSG','9001',NULL,3396190.000000,0);
@@ -385,6 +403,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',49980,'Mars (2015) - Sphere / Ocentr
INSERT INTO usage VALUES('IAU_2015','PCRS_49980','projected_crs','IAU_2015',49980,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',49985,'Mars (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',49900,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_49985','projected_crs','IAU_2015',49985,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',49990,'Mars (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',49900,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_49990','projected_crs','IAU_2015',49990,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO ellipsoid VALUES('IAU_2015',49901,'Mars (2015)',NULL,'IAU_2015',499,3396190.000000,'EPSG','9001',NULL,3376200.000000,0);
INSERT INTO geodetic_datum VALUES('IAU_2015',49901,'Mars (2015)','','IAU_2015',49901,'IAU_2015',49900,NULL,NULL,NULL,'Viking 1 lander: 47.95137 W',0);
INSERT INTO usage VALUES('IAU_2015','GD_49901','geodetic_datum','IAU_2015',49901,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
@@ -422,6 +442,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',49981,'Mars (2015) / Ographic / Lamb
INSERT INTO usage VALUES('IAU_2015','PCRS_49981','projected_crs','IAU_2015',49981,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',49986,'Mars (2015) / Ographic / Albers Equal Area',NULL,'PROJ','PROJECTED_WEST_NORTH','IAU_2015',49901,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_49986','projected_crs','IAU_2015',49986,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',49991,'Mars (2015) / Ographic / Popular Visualisation Pseudo-Mercator',NULL,'PROJ','PROJECTED_WEST_NORTH','IAU_2015',49901,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_49991','projected_crs','IAU_2015',49991,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO geodetic_crs VALUES('IAU_2015',49902,'Mars (2015) / Ocentric','Source of IAU Coordinate systems: https://doi.org/10.1007/s10569-017-9805-5','other','PROJ','OCENTRIC_LAT_LON','IAU_2015',49901,NULL,0);
INSERT INTO usage VALUES('IAU_2015','GCRS_49902','geodetic_crs','IAU_2015',49902,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',49912,'Mars (2015) / Ocentric / Equirectangular, clon = 0',NULL,'EPSG','4400','IAU_2015',49902,'IAU_2015',10,NULL,0);
@@ -456,6 +478,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',49982,'Mars (2015) / Ocentric / Lamb
INSERT INTO usage VALUES('IAU_2015','PCRS_49982','projected_crs','IAU_2015',49982,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',49987,'Mars (2015) / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',49902,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_49987','projected_crs','IAU_2015',49987,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',49992,'Mars (2015) / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',49902,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_49992','projected_crs','IAU_2015',49992,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 401, 'Phobos', 11080.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 40100, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',40100,'Phobos (2015) - Sphere',NULL,'IAU_2015',401,11080.000000,'EPSG','9001',NULL,11080.000000,0);
@@ -495,6 +519,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',40180,'Phobos (2015) - Sphere / Ocen
INSERT INTO usage VALUES('IAU_2015','PCRS_40180','projected_crs','IAU_2015',40180,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',40185,'Phobos (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',40100,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_40185','projected_crs','IAU_2015',40185,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',40190,'Phobos (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',40100,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_40190','projected_crs','IAU_2015',40190,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 402, 'Deimos', 6200.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 40200, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',40200,'Deimos (2015) - Sphere',NULL,'IAU_2015',402,6200.000000,'EPSG','9001',NULL,6200.000000,0);
@@ -534,6 +560,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',40280,'Deimos (2015) - Sphere / Ocen
INSERT INTO usage VALUES('IAU_2015','PCRS_40280','projected_crs','IAU_2015',40280,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',40285,'Deimos (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',40200,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_40285','projected_crs','IAU_2015',40285,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',40290,'Deimos (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',40200,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_40290','projected_crs','IAU_2015',40290,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 599, 'Jupiter', 71492000.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 59900, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',59900,'Jupiter (2015) - Sphere',NULL,'IAU_2015',599,71492000.000000,'EPSG','9001',NULL,71492000.000000,0);
@@ -573,6 +601,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',59980,'Jupiter (2015) - Sphere / Oce
INSERT INTO usage VALUES('IAU_2015','PCRS_59980','projected_crs','IAU_2015',59980,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',59985,'Jupiter (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',59900,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_59985','projected_crs','IAU_2015',59985,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',59990,'Jupiter (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',59900,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_59990','projected_crs','IAU_2015',59990,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO ellipsoid VALUES('IAU_2015',59901,'Jupiter (2015)',NULL,'IAU_2015',599,71492000.000000,'EPSG','9001',NULL,66854000.000000,0);
INSERT INTO geodetic_datum VALUES('IAU_2015',59901,'Jupiter (2015)','','IAU_2015',59901,'IAU_2015',59900,NULL,NULL,NULL,NULL,0);
INSERT INTO usage VALUES('IAU_2015','GD_59901','geodetic_datum','IAU_2015',59901,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
@@ -610,6 +640,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',59981,'Jupiter (2015) / Ographic / L
INSERT INTO usage VALUES('IAU_2015','PCRS_59981','projected_crs','IAU_2015',59981,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',59986,'Jupiter (2015) / Ographic / Albers Equal Area',NULL,'PROJ','PROJECTED_WEST_NORTH','IAU_2015',59901,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_59986','projected_crs','IAU_2015',59986,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',59991,'Jupiter (2015) / Ographic / Popular Visualisation Pseudo-Mercator',NULL,'PROJ','PROJECTED_WEST_NORTH','IAU_2015',59901,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_59991','projected_crs','IAU_2015',59991,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO geodetic_crs VALUES('IAU_2015',59902,'Jupiter (2015) / Ocentric','Source of IAU Coordinate systems: https://doi.org/10.1007/s10569-017-9805-5','other','PROJ','OCENTRIC_LAT_LON','IAU_2015',59901,NULL,0);
INSERT INTO usage VALUES('IAU_2015','GCRS_59902','geodetic_crs','IAU_2015',59902,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',59912,'Jupiter (2015) / Ocentric / Equirectangular, clon = 0',NULL,'EPSG','4400','IAU_2015',59902,'IAU_2015',10,NULL,0);
@@ -644,6 +676,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',59982,'Jupiter (2015) / Ocentric / L
INSERT INTO usage VALUES('IAU_2015','PCRS_59982','projected_crs','IAU_2015',59982,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',59987,'Jupiter (2015) / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',59902,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_59987','projected_crs','IAU_2015',59987,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',59992,'Jupiter (2015) / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',59902,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_59992','projected_crs','IAU_2015',59992,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 501, 'Io', 1821490.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 50100, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',50100,'Io (2015) - Sphere',NULL,'IAU_2015',501,1821490.000000,'EPSG','9001',NULL,1821490.000000,0);
@@ -683,6 +717,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',50180,'Io (2015) - Sphere / Ocentric
INSERT INTO usage VALUES('IAU_2015','PCRS_50180','projected_crs','IAU_2015',50180,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',50185,'Io (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',50100,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_50185','projected_crs','IAU_2015',50185,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',50190,'Io (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',50100,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_50190','projected_crs','IAU_2015',50190,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 502, 'Europa', 1560800.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 50200, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',50200,'Europa (2015) - Sphere',NULL,'IAU_2015',502,1560800.000000,'EPSG','9001',NULL,1560800.000000,0);
@@ -722,6 +758,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',50280,'Europa (2015) - Sphere / Ocen
INSERT INTO usage VALUES('IAU_2015','PCRS_50280','projected_crs','IAU_2015',50280,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',50285,'Europa (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',50200,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_50285','projected_crs','IAU_2015',50285,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',50290,'Europa (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',50200,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_50290','projected_crs','IAU_2015',50290,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 503, 'Ganymede', 2631200.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 50300, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',50300,'Ganymede (2015) - Sphere',NULL,'IAU_2015',503,2631200.000000,'EPSG','9001',NULL,2631200.000000,0);
@@ -761,6 +799,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',50380,'Ganymede (2015) - Sphere / Oc
INSERT INTO usage VALUES('IAU_2015','PCRS_50380','projected_crs','IAU_2015',50380,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',50385,'Ganymede (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',50300,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_50385','projected_crs','IAU_2015',50385,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',50390,'Ganymede (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',50300,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_50390','projected_crs','IAU_2015',50390,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO ellipsoid VALUES('IAU_2015',50301,'Ganymede (2015)',NULL,'IAU_2015',503,2631200.000000,'EPSG','9001',NULL,2631200.000000,0);
INSERT INTO geodetic_datum VALUES('IAU_2015',50301,'Ganymede (2015)','','IAU_2015',50301,'IAU_2015',50300,NULL,NULL,NULL,'Anat: 128 W.0',0);
INSERT INTO usage VALUES('IAU_2015','GD_50301','geodetic_datum','IAU_2015',50301,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
@@ -798,6 +838,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',50381,'Ganymede (2015) / Ographic /
INSERT INTO usage VALUES('IAU_2015','PCRS_50381','projected_crs','IAU_2015',50381,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',50386,'Ganymede (2015) / Ographic / Albers Equal Area',NULL,'PROJ','PROJECTED_WEST_NORTH','IAU_2015',50301,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_50386','projected_crs','IAU_2015',50386,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',50391,'Ganymede (2015) / Ographic / Popular Visualisation Pseudo-Mercator',NULL,'PROJ','PROJECTED_WEST_NORTH','IAU_2015',50301,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_50391','projected_crs','IAU_2015',50391,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 504, 'Callisto', 2410300.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 50400, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',50400,'Callisto (2015) - Sphere',NULL,'IAU_2015',504,2410300.000000,'EPSG','9001',NULL,2410300.000000,0);
@@ -837,6 +879,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',50480,'Callisto (2015) - Sphere / Oc
INSERT INTO usage VALUES('IAU_2015','PCRS_50480','projected_crs','IAU_2015',50480,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',50485,'Callisto (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',50400,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_50485','projected_crs','IAU_2015',50485,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',50490,'Callisto (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',50400,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_50490','projected_crs','IAU_2015',50490,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO ellipsoid VALUES('IAU_2015',50401,'Callisto (2015)',NULL,'IAU_2015',504,2410300.000000,'EPSG','9001',NULL,2410300.000000,0);
INSERT INTO geodetic_datum VALUES('IAU_2015',50401,'Callisto (2015)','','IAU_2015',50401,'IAU_2015',50400,NULL,NULL,NULL,'Saga: 326 W.0',0);
INSERT INTO usage VALUES('IAU_2015','GD_50401','geodetic_datum','IAU_2015',50401,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
@@ -874,6 +918,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',50481,'Callisto (2015) / Ographic /
INSERT INTO usage VALUES('IAU_2015','PCRS_50481','projected_crs','IAU_2015',50481,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',50486,'Callisto (2015) / Ographic / Albers Equal Area',NULL,'PROJ','PROJECTED_WEST_NORTH','IAU_2015',50401,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_50486','projected_crs','IAU_2015',50486,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',50491,'Callisto (2015) / Ographic / Popular Visualisation Pseudo-Mercator',NULL,'PROJ','PROJECTED_WEST_NORTH','IAU_2015',50401,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_50491','projected_crs','IAU_2015',50491,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 505, 'Amalthea', 83500.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 50500, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',50500,'Amalthea (2015) - Sphere',NULL,'IAU_2015',505,83500.000000,'EPSG','9001',NULL,83500.000000,0);
@@ -913,6 +959,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',50580,'Amalthea (2015) - Sphere / Oc
INSERT INTO usage VALUES('IAU_2015','PCRS_50580','projected_crs','IAU_2015',50580,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',50585,'Amalthea (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',50500,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_50585','projected_crs','IAU_2015',50585,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',50590,'Amalthea (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',50500,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_50590','projected_crs','IAU_2015',50590,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 506, 'Himalia', 85000.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 50600, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',50600,'Himalia (2015) - Sphere',NULL,'IAU_2015',506,85000.000000,'EPSG','9001',NULL,85000.000000,0);
@@ -952,6 +1000,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',50680,'Himalia (2015) - Sphere / Oce
INSERT INTO usage VALUES('IAU_2015','PCRS_50680','projected_crs','IAU_2015',50680,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',50685,'Himalia (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',50600,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_50685','projected_crs','IAU_2015',50685,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',50690,'Himalia (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',50600,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_50690','projected_crs','IAU_2015',50690,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 507, 'Elara', 40000.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 50700, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',50700,'Elara (2015) - Sphere',NULL,'IAU_2015',507,40000.000000,'EPSG','9001',NULL,40000.000000,0);
@@ -991,6 +1041,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',50780,'Elara (2015) - Sphere / Ocent
INSERT INTO usage VALUES('IAU_2015','PCRS_50780','projected_crs','IAU_2015',50780,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',50785,'Elara (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',50700,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_50785','projected_crs','IAU_2015',50785,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',50790,'Elara (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',50700,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_50790','projected_crs','IAU_2015',50790,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 508, 'Pasiphae', 18000.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 50800, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',50800,'Pasiphae (2015) - Sphere',NULL,'IAU_2015',508,18000.000000,'EPSG','9001',NULL,18000.000000,0);
@@ -1030,6 +1082,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',50880,'Pasiphae (2015) - Sphere / Oc
INSERT INTO usage VALUES('IAU_2015','PCRS_50880','projected_crs','IAU_2015',50880,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',50885,'Pasiphae (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',50800,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_50885','projected_crs','IAU_2015',50885,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',50890,'Pasiphae (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',50800,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_50890','projected_crs','IAU_2015',50890,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 509, 'Sinope', 14000.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 50900, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',50900,'Sinope (2015) - Sphere',NULL,'IAU_2015',509,14000.000000,'EPSG','9001',NULL,14000.000000,0);
@@ -1069,6 +1123,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',50980,'Sinope (2015) - Sphere / Ocen
INSERT INTO usage VALUES('IAU_2015','PCRS_50980','projected_crs','IAU_2015',50980,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',50985,'Sinope (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',50900,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_50985','projected_crs','IAU_2015',50985,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',50990,'Sinope (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',50900,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_50990','projected_crs','IAU_2015',50990,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 510, 'Lysithea', 12000.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 51000, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',51000,'Lysithea (2015) - Sphere',NULL,'IAU_2015',510,12000.000000,'EPSG','9001',NULL,12000.000000,0);
@@ -1108,6 +1164,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',51080,'Lysithea (2015) - Sphere / Oc
INSERT INTO usage VALUES('IAU_2015','PCRS_51080','projected_crs','IAU_2015',51080,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',51085,'Lysithea (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',51000,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_51085','projected_crs','IAU_2015',51085,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',51090,'Lysithea (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',51000,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_51090','projected_crs','IAU_2015',51090,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 511, 'Carme', 15000.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 51100, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',51100,'Carme (2015) - Sphere',NULL,'IAU_2015',511,15000.000000,'EPSG','9001',NULL,15000.000000,0);
@@ -1147,6 +1205,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',51180,'Carme (2015) - Sphere / Ocent
INSERT INTO usage VALUES('IAU_2015','PCRS_51180','projected_crs','IAU_2015',51180,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',51185,'Carme (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',51100,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_51185','projected_crs','IAU_2015',51185,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',51190,'Carme (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',51100,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_51190','projected_crs','IAU_2015',51190,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 512, 'Ananke', 10000.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 51200, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',51200,'Ananke (2015) - Sphere',NULL,'IAU_2015',512,10000.000000,'EPSG','9001',NULL,10000.000000,0);
@@ -1186,6 +1246,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',51280,'Ananke (2015) - Sphere / Ocen
INSERT INTO usage VALUES('IAU_2015','PCRS_51280','projected_crs','IAU_2015',51280,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',51285,'Ananke (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',51200,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_51285','projected_crs','IAU_2015',51285,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',51290,'Ananke (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',51200,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_51290','projected_crs','IAU_2015',51290,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 513, 'Leda', 5000.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 51300, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',51300,'Leda (2015) - Sphere',NULL,'IAU_2015',513,5000.000000,'EPSG','9001',NULL,5000.000000,0);
@@ -1225,6 +1287,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',51380,'Leda (2015) - Sphere / Ocentr
INSERT INTO usage VALUES('IAU_2015','PCRS_51380','projected_crs','IAU_2015',51380,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',51385,'Leda (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',51300,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_51385','projected_crs','IAU_2015',51385,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',51390,'Leda (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',51300,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_51390','projected_crs','IAU_2015',51390,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 514, 'Thebe', 49300.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 51400, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',51400,'Thebe (2015) - Sphere',NULL,'IAU_2015',514,49300.000000,'EPSG','9001',NULL,49300.000000,0);
@@ -1264,6 +1328,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',51480,'Thebe (2015) - Sphere / Ocent
INSERT INTO usage VALUES('IAU_2015','PCRS_51480','projected_crs','IAU_2015',51480,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',51485,'Thebe (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',51400,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_51485','projected_crs','IAU_2015',51485,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',51490,'Thebe (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',51400,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_51490','projected_crs','IAU_2015',51490,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 515, 'Adrastea', 8200.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 51500, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',51500,'Adrastea (2015) - Sphere',NULL,'IAU_2015',515,8200.000000,'EPSG','9001',NULL,8200.000000,0);
@@ -1303,6 +1369,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',51580,'Adrastea (2015) - Sphere / Oc
INSERT INTO usage VALUES('IAU_2015','PCRS_51580','projected_crs','IAU_2015',51580,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',51585,'Adrastea (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',51500,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_51585','projected_crs','IAU_2015',51585,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',51590,'Adrastea (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',51500,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_51590','projected_crs','IAU_2015',51590,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 516, 'Metis', 21500.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 51600, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',51600,'Metis (2015) - Sphere',NULL,'IAU_2015',516,21500.000000,'EPSG','9001',NULL,21500.000000,0);
@@ -1342,6 +1410,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',51680,'Metis (2015) - Sphere / Ocent
INSERT INTO usage VALUES('IAU_2015','PCRS_51680','projected_crs','IAU_2015',51680,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',51685,'Metis (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',51600,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_51685','projected_crs','IAU_2015',51685,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',51690,'Metis (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',51600,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_51690','projected_crs','IAU_2015',51690,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
-- Skip Callirrhoe has it lacks all axis information
-- Skip Themisto has it lacks all axis information
-- Skip Magaclite has it lacks all axis information
@@ -1415,6 +1485,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',69980,'Saturn (2015) - Sphere / Ocen
INSERT INTO usage VALUES('IAU_2015','PCRS_69980','projected_crs','IAU_2015',69980,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',69985,'Saturn (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',69900,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_69985','projected_crs','IAU_2015',69985,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',69990,'Saturn (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',69900,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_69990','projected_crs','IAU_2015',69990,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO ellipsoid VALUES('IAU_2015',69901,'Saturn (2015)',NULL,'IAU_2015',699,60268000.000000,'EPSG','9001',NULL,54364000.000000,0);
INSERT INTO geodetic_datum VALUES('IAU_2015',69901,'Saturn (2015)','','IAU_2015',69901,'IAU_2015',69900,NULL,NULL,NULL,NULL,0);
INSERT INTO usage VALUES('IAU_2015','GD_69901','geodetic_datum','IAU_2015',69901,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
@@ -1452,6 +1524,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',69981,'Saturn (2015) / Ographic / La
INSERT INTO usage VALUES('IAU_2015','PCRS_69981','projected_crs','IAU_2015',69981,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',69986,'Saturn (2015) / Ographic / Albers Equal Area',NULL,'PROJ','PROJECTED_WEST_NORTH','IAU_2015',69901,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_69986','projected_crs','IAU_2015',69986,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',69991,'Saturn (2015) / Ographic / Popular Visualisation Pseudo-Mercator',NULL,'PROJ','PROJECTED_WEST_NORTH','IAU_2015',69901,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_69991','projected_crs','IAU_2015',69991,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO geodetic_crs VALUES('IAU_2015',69902,'Saturn (2015) / Ocentric','Source of IAU Coordinate systems: https://doi.org/10.1007/s10569-017-9805-5','other','PROJ','OCENTRIC_LAT_LON','IAU_2015',69901,NULL,0);
INSERT INTO usage VALUES('IAU_2015','GCRS_69902','geodetic_crs','IAU_2015',69902,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',69912,'Saturn (2015) / Ocentric / Equirectangular, clon = 0',NULL,'EPSG','4400','IAU_2015',69902,'IAU_2015',10,NULL,0);
@@ -1486,6 +1560,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',69982,'Saturn (2015) / Ocentric / La
INSERT INTO usage VALUES('IAU_2015','PCRS_69982','projected_crs','IAU_2015',69982,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',69987,'Saturn (2015) / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',69902,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_69987','projected_crs','IAU_2015',69987,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',69992,'Saturn (2015) / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',69902,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_69992','projected_crs','IAU_2015',69992,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 601, 'Mimas', 198200.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 60100, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',60100,'Mimas (2015) - Sphere',NULL,'IAU_2015',601,198200.000000,'EPSG','9001',NULL,198200.000000,0);
@@ -1525,6 +1601,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',60180,'Mimas (2015) - Sphere / Ocent
INSERT INTO usage VALUES('IAU_2015','PCRS_60180','projected_crs','IAU_2015',60180,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',60185,'Mimas (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',60100,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_60185','projected_crs','IAU_2015',60185,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',60190,'Mimas (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',60100,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_60190','projected_crs','IAU_2015',60190,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 602, 'Enceladus', 252100.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 60200, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',60200,'Enceladus (2015) - Sphere',NULL,'IAU_2015',602,252100.000000,'EPSG','9001',NULL,252100.000000,0);
@@ -1564,6 +1642,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',60280,'Enceladus (2015) - Sphere / O
INSERT INTO usage VALUES('IAU_2015','PCRS_60280','projected_crs','IAU_2015',60280,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',60285,'Enceladus (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',60200,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_60285','projected_crs','IAU_2015',60285,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',60290,'Enceladus (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',60200,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_60290','projected_crs','IAU_2015',60290,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 603, 'Tethys', 531000.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 60300, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',60300,'Tethys (2015) - Sphere',NULL,'IAU_2015',603,531000.000000,'EPSG','9001',NULL,531000.000000,0);
@@ -1603,6 +1683,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',60380,'Tethys (2015) - Sphere / Ocen
INSERT INTO usage VALUES('IAU_2015','PCRS_60380','projected_crs','IAU_2015',60380,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',60385,'Tethys (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',60300,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_60385','projected_crs','IAU_2015',60385,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',60390,'Tethys (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',60300,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_60390','projected_crs','IAU_2015',60390,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 604, 'Dione', 561400.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 60400, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',60400,'Dione (2015) - Sphere',NULL,'IAU_2015',604,561400.000000,'EPSG','9001',NULL,561400.000000,0);
@@ -1642,6 +1724,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',60480,'Dione (2015) - Sphere / Ocent
INSERT INTO usage VALUES('IAU_2015','PCRS_60480','projected_crs','IAU_2015',60480,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',60485,'Dione (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',60400,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_60485','projected_crs','IAU_2015',60485,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',60490,'Dione (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',60400,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_60490','projected_crs','IAU_2015',60490,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 605, 'Rhea', 763500.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 60500, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',60500,'Rhea (2015) - Sphere',NULL,'IAU_2015',605,763500.000000,'EPSG','9001',NULL,763500.000000,0);
@@ -1681,6 +1765,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',60580,'Rhea (2015) - Sphere / Ocentr
INSERT INTO usage VALUES('IAU_2015','PCRS_60580','projected_crs','IAU_2015',60580,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',60585,'Rhea (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',60500,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_60585','projected_crs','IAU_2015',60585,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',60590,'Rhea (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',60500,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_60590','projected_crs','IAU_2015',60590,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 606, 'Titan', 2575000.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 60600, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',60600,'Titan (2015) - Sphere',NULL,'IAU_2015',606,2575000.000000,'EPSG','9001',NULL,2575000.000000,0);
@@ -1720,6 +1806,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',60680,'Titan (2015) - Sphere / Ocent
INSERT INTO usage VALUES('IAU_2015','PCRS_60680','projected_crs','IAU_2015',60680,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',60685,'Titan (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',60600,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_60685','projected_crs','IAU_2015',60685,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',60690,'Titan (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',60600,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_60690','projected_crs','IAU_2015',60690,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 607, 'Hyperion', 135000.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 60700, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',60700,'Hyperion (2015) - Sphere',NULL,'IAU_2015',607,135000.000000,'EPSG','9001',NULL,135000.000000,0);
@@ -1759,6 +1847,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',60780,'Hyperion (2015) - Sphere / Oc
INSERT INTO usage VALUES('IAU_2015','PCRS_60780','projected_crs','IAU_2015',60780,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',60785,'Hyperion (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',60700,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_60785','projected_crs','IAU_2015',60785,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',60790,'Hyperion (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',60700,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_60790','projected_crs','IAU_2015',60790,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 608, 'Iapetus', 745700.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 60800, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',60800,'Iapetus (2015) - Sphere',NULL,'IAU_2015',608,745700.000000,'EPSG','9001',NULL,745700.000000,0);
@@ -1798,6 +1888,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',60880,'Iapetus (2015) - Sphere / Oce
INSERT INTO usage VALUES('IAU_2015','PCRS_60880','projected_crs','IAU_2015',60880,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',60885,'Iapetus (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',60800,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_60885','projected_crs','IAU_2015',60885,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',60890,'Iapetus (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',60800,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_60890','projected_crs','IAU_2015',60890,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO ellipsoid VALUES('IAU_2015',60801,'Iapetus (2015)',NULL,'IAU_2015',608,745700.000000,'EPSG','9001',NULL,712100.000000,0);
INSERT INTO geodetic_datum VALUES('IAU_2015',60801,'Iapetus (2015)','','IAU_2015',60801,'IAU_2015',60800,NULL,NULL,NULL,'Almeric: 276 W.0',0);
INSERT INTO usage VALUES('IAU_2015','GD_60801','geodetic_datum','IAU_2015',60801,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
@@ -1835,6 +1927,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',60881,'Iapetus (2015) / Ographic / L
INSERT INTO usage VALUES('IAU_2015','PCRS_60881','projected_crs','IAU_2015',60881,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',60886,'Iapetus (2015) / Ographic / Albers Equal Area',NULL,'PROJ','PROJECTED_WEST_NORTH','IAU_2015',60801,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_60886','projected_crs','IAU_2015',60886,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',60891,'Iapetus (2015) / Ographic / Popular Visualisation Pseudo-Mercator',NULL,'PROJ','PROJECTED_WEST_NORTH','IAU_2015',60801,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_60891','projected_crs','IAU_2015',60891,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO geodetic_crs VALUES('IAU_2015',60802,'Iapetus (2015) / Ocentric','Source of IAU Coordinate systems: https://doi.org/10.1007/s10569-017-9805-5','other','PROJ','OCENTRIC_LAT_LON','IAU_2015',60801,NULL,0);
INSERT INTO usage VALUES('IAU_2015','GCRS_60802','geodetic_crs','IAU_2015',60802,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',60812,'Iapetus (2015) / Ocentric / Equirectangular, clon = 0',NULL,'EPSG','4400','IAU_2015',60802,'IAU_2015',10,NULL,0);
@@ -1869,6 +1963,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',60882,'Iapetus (2015) / Ocentric / L
INSERT INTO usage VALUES('IAU_2015','PCRS_60882','projected_crs','IAU_2015',60882,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',60887,'Iapetus (2015) / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',60802,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_60887','projected_crs','IAU_2015',60887,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',60892,'Iapetus (2015) / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',60802,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_60892','projected_crs','IAU_2015',60892,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 609, 'Phoebe', 106500.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 60900, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',60900,'Phoebe (2015) - Sphere',NULL,'IAU_2015',609,106500.000000,'EPSG','9001',NULL,106500.000000,0);
@@ -1908,6 +2004,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',60980,'Phoebe (2015) - Sphere / Ocen
INSERT INTO usage VALUES('IAU_2015','PCRS_60980','projected_crs','IAU_2015',60980,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',60985,'Phoebe (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',60900,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_60985','projected_crs','IAU_2015',60985,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',60990,'Phoebe (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',60900,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_60990','projected_crs','IAU_2015',60990,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 610, 'Janus', 89200.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 61000, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',61000,'Janus (2015) - Sphere',NULL,'IAU_2015',610,89200.000000,'EPSG','9001',NULL,89200.000000,0);
@@ -1947,6 +2045,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',61080,'Janus (2015) - Sphere / Ocent
INSERT INTO usage VALUES('IAU_2015','PCRS_61080','projected_crs','IAU_2015',61080,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',61085,'Janus (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',61000,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_61085','projected_crs','IAU_2015',61085,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',61090,'Janus (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',61000,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_61090','projected_crs','IAU_2015',61090,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 611, 'Epimetheus', 58200.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 61100, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',61100,'Epimetheus (2015) - Sphere',NULL,'IAU_2015',611,58200.000000,'EPSG','9001',NULL,58200.000000,0);
@@ -1986,6 +2086,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',61180,'Epimetheus (2015) - Sphere /
INSERT INTO usage VALUES('IAU_2015','PCRS_61180','projected_crs','IAU_2015',61180,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',61185,'Epimetheus (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',61100,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_61185','projected_crs','IAU_2015',61185,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',61190,'Epimetheus (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',61100,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_61190','projected_crs','IAU_2015',61190,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 612, 'Helene', 18000.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 61200, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',61200,'Helene (2015) - Sphere',NULL,'IAU_2015',612,18000.000000,'EPSG','9001',NULL,18000.000000,0);
@@ -2025,6 +2127,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',61280,'Helene (2015) - Sphere / Ocen
INSERT INTO usage VALUES('IAU_2015','PCRS_61280','projected_crs','IAU_2015',61280,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',61285,'Helene (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',61200,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_61285','projected_crs','IAU_2015',61285,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',61290,'Helene (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',61200,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_61290','projected_crs','IAU_2015',61290,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 613, 'Telesto', 12400.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 61300, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',61300,'Telesto (2015) - Sphere',NULL,'IAU_2015',613,12400.000000,'EPSG','9001',NULL,12400.000000,0);
@@ -2064,6 +2168,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',61380,'Telesto (2015) - Sphere / Oce
INSERT INTO usage VALUES('IAU_2015','PCRS_61380','projected_crs','IAU_2015',61380,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',61385,'Telesto (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',61300,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_61385','projected_crs','IAU_2015',61385,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',61390,'Telesto (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',61300,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_61390','projected_crs','IAU_2015',61390,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 614, 'Calypso', 9600.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 61400, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',61400,'Calypso (2015) - Sphere',NULL,'IAU_2015',614,9600.000000,'EPSG','9001',NULL,9600.000000,0);
@@ -2103,6 +2209,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',61480,'Calypso (2015) - Sphere / Oce
INSERT INTO usage VALUES('IAU_2015','PCRS_61480','projected_crs','IAU_2015',61480,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',61485,'Calypso (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',61400,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_61485','projected_crs','IAU_2015',61485,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',61490,'Calypso (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',61400,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_61490','projected_crs','IAU_2015',61490,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 615, 'Atlas', 15100.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 61500, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',61500,'Atlas (2015) - Sphere',NULL,'IAU_2015',615,15100.000000,'EPSG','9001',NULL,15100.000000,0);
@@ -2142,6 +2250,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',61580,'Atlas (2015) - Sphere / Ocent
INSERT INTO usage VALUES('IAU_2015','PCRS_61580','projected_crs','IAU_2015',61580,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',61585,'Atlas (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',61500,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_61585','projected_crs','IAU_2015',61585,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',61590,'Atlas (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',61500,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_61590','projected_crs','IAU_2015',61590,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 616, 'Prometheus', 43100.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 61600, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',61600,'Prometheus (2015) - Sphere',NULL,'IAU_2015',616,43100.000000,'EPSG','9001',NULL,43100.000000,0);
@@ -2181,6 +2291,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',61680,'Prometheus (2015) - Sphere /
INSERT INTO usage VALUES('IAU_2015','PCRS_61680','projected_crs','IAU_2015',61680,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',61685,'Prometheus (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',61600,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_61685','projected_crs','IAU_2015',61685,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',61690,'Prometheus (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',61600,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_61690','projected_crs','IAU_2015',61690,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 617, 'Pandora', 40600.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 61700, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',61700,'Pandora (2015) - Sphere',NULL,'IAU_2015',617,40600.000000,'EPSG','9001',NULL,40600.000000,0);
@@ -2220,6 +2332,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',61780,'Pandora (2015) - Sphere / Oce
INSERT INTO usage VALUES('IAU_2015','PCRS_61780','projected_crs','IAU_2015',61780,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',61785,'Pandora (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',61700,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_61785','projected_crs','IAU_2015',61785,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',61790,'Pandora (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',61700,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_61790','projected_crs','IAU_2015',61790,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 618, 'Pan', 14000.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 61800, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',61800,'Pan (2015) - Sphere',NULL,'IAU_2015',618,14000.000000,'EPSG','9001',NULL,14000.000000,0);
@@ -2259,6 +2373,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',61880,'Pan (2015) - Sphere / Ocentri
INSERT INTO usage VALUES('IAU_2015','PCRS_61880','projected_crs','IAU_2015',61880,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',61885,'Pan (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',61800,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_61885','projected_crs','IAU_2015',61885,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',61890,'Pan (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',61800,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_61890','projected_crs','IAU_2015',61890,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
-- Skip Ymir has it lacks all axis information
-- Skip Paaliaq has it lacks all axis information
-- Skip Tarvos has it lacks all axis information
@@ -2311,6 +2427,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',63280,'Methone (2015) - Sphere / Oce
INSERT INTO usage VALUES('IAU_2015','PCRS_63280','projected_crs','IAU_2015',63280,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',63285,'Methone (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',63200,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_63285','projected_crs','IAU_2015',63285,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',63290,'Methone (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',63200,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_63290','projected_crs','IAU_2015',63290,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 633, 'Pallene', 2230.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 63300, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',63300,'Pallene (2015) - Sphere',NULL,'IAU_2015',633,2230.000000,'EPSG','9001',NULL,2230.000000,0);
@@ -2350,6 +2468,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',63380,'Pallene (2015) - Sphere / Oce
INSERT INTO usage VALUES('IAU_2015','PCRS_63380','projected_crs','IAU_2015',63380,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',63385,'Pallene (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',63300,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_63385','projected_crs','IAU_2015',63385,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',63390,'Pallene (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',63300,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_63390','projected_crs','IAU_2015',63390,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 634, 'Polydeuces', 1300.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 63400, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',63400,'Polydeuces (2015) - Sphere',NULL,'IAU_2015',634,1300.000000,'EPSG','9001',NULL,1300.000000,0);
@@ -2389,6 +2509,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',63480,'Polydeuces (2015) - Sphere /
INSERT INTO usage VALUES('IAU_2015','PCRS_63480','projected_crs','IAU_2015',63480,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',63485,'Polydeuces (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',63400,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_63485','projected_crs','IAU_2015',63485,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',63490,'Polydeuces (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',63400,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_63490','projected_crs','IAU_2015',63490,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 635, 'Daphnis', 3800.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 63500, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',63500,'Daphnis (2015) - Sphere',NULL,'IAU_2015',635,3800.000000,'EPSG','9001',NULL,3800.000000,0);
@@ -2428,6 +2550,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',63580,'Daphnis (2015) - Sphere / Oce
INSERT INTO usage VALUES('IAU_2015','PCRS_63580','projected_crs','IAU_2015',63580,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',63585,'Daphnis (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',63500,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_63585','projected_crs','IAU_2015',63585,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',63590,'Daphnis (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',63500,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_63590','projected_crs','IAU_2015',63590,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
-- Skip Aegir has it lacks all axis information
-- Skip Bebhionn has it lacks all axis information
-- Skip Bergelmir has it lacks all axis information
@@ -2480,6 +2604,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',64980,'Anthe (2015) - Sphere / Ocent
INSERT INTO usage VALUES('IAU_2015','PCRS_64980','projected_crs','IAU_2015',64980,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',64985,'Anthe (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',64900,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_64985','projected_crs','IAU_2015',64985,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',64990,'Anthe (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',64900,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_64990','projected_crs','IAU_2015',64990,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
-- Skip Jarnsaxa has it lacks all axis information
-- Skip Greip has it lacks all axis information
-- Skip Tarqeq has it lacks all axis information
@@ -2522,6 +2648,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',65380,'Aegaeon (2015) - Sphere / Oce
INSERT INTO usage VALUES('IAU_2015','PCRS_65380','projected_crs','IAU_2015',65380,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',65385,'Aegaeon (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',65300,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_65385','projected_crs','IAU_2015',65385,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',65390,'Aegaeon (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',65300,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_65390','projected_crs','IAU_2015',65390,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 799, 'Uranus', 25559000.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 79900, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',79900,'Uranus (2015) - Sphere',NULL,'IAU_2015',799,25559000.000000,'EPSG','9001',NULL,25559000.000000,0);
@@ -2561,6 +2689,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',79980,'Uranus (2015) - Sphere / Ocen
INSERT INTO usage VALUES('IAU_2015','PCRS_79980','projected_crs','IAU_2015',79980,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',79985,'Uranus (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',79900,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_79985','projected_crs','IAU_2015',79985,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',79990,'Uranus (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',79900,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_79990','projected_crs','IAU_2015',79990,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO ellipsoid VALUES('IAU_2015',79901,'Uranus (2015)',NULL,'IAU_2015',799,25559000.000000,'EPSG','9001',NULL,24973000.000000,0);
INSERT INTO geodetic_datum VALUES('IAU_2015',79901,'Uranus (2015)','','IAU_2015',79901,'IAU_2015',79900,NULL,NULL,NULL,NULL,0);
INSERT INTO usage VALUES('IAU_2015','GD_79901','geodetic_datum','IAU_2015',79901,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
@@ -2598,6 +2728,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',79981,'Uranus (2015) / Ographic / La
INSERT INTO usage VALUES('IAU_2015','PCRS_79981','projected_crs','IAU_2015',79981,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',79986,'Uranus (2015) / Ographic / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',79901,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_79986','projected_crs','IAU_2015',79986,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',79991,'Uranus (2015) / Ographic / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',79901,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_79991','projected_crs','IAU_2015',79991,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO geodetic_crs VALUES('IAU_2015',79902,'Uranus (2015) / Ocentric','Source of IAU Coordinate systems: https://doi.org/10.1007/s10569-017-9805-5','other','PROJ','OCENTRIC_LAT_LON','IAU_2015',79901,NULL,0);
INSERT INTO usage VALUES('IAU_2015','GCRS_79902','geodetic_crs','IAU_2015',79902,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 701, 'Ariel', 578900.000000);
@@ -2639,6 +2771,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',70180,'Ariel (2015) - Sphere / Ocent
INSERT INTO usage VALUES('IAU_2015','PCRS_70180','projected_crs','IAU_2015',70180,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',70185,'Ariel (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',70100,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_70185','projected_crs','IAU_2015',70185,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',70190,'Ariel (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',70100,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_70190','projected_crs','IAU_2015',70190,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 702, 'Umbriel', 584700.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 70200, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',70200,'Umbriel (2015) - Sphere',NULL,'IAU_2015',702,584700.000000,'EPSG','9001',NULL,584700.000000,0);
@@ -2678,6 +2812,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',70280,'Umbriel (2015) - Sphere / Oce
INSERT INTO usage VALUES('IAU_2015','PCRS_70280','projected_crs','IAU_2015',70280,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',70285,'Umbriel (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',70200,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_70285','projected_crs','IAU_2015',70285,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',70290,'Umbriel (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',70200,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_70290','projected_crs','IAU_2015',70290,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 703, 'Titania', 788900.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 70300, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',70300,'Titania (2015) - Sphere',NULL,'IAU_2015',703,788900.000000,'EPSG','9001',NULL,788900.000000,0);
@@ -2717,6 +2853,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',70380,'Titania (2015) - Sphere / Oce
INSERT INTO usage VALUES('IAU_2015','PCRS_70380','projected_crs','IAU_2015',70380,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',70385,'Titania (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',70300,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_70385','projected_crs','IAU_2015',70385,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',70390,'Titania (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',70300,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_70390','projected_crs','IAU_2015',70390,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 704, 'Oberon', 761400.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 70400, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',70400,'Oberon (2015) - Sphere',NULL,'IAU_2015',704,761400.000000,'EPSG','9001',NULL,761400.000000,0);
@@ -2756,6 +2894,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',70480,'Oberon (2015) - Sphere / Ocen
INSERT INTO usage VALUES('IAU_2015','PCRS_70480','projected_crs','IAU_2015',70480,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',70485,'Oberon (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',70400,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_70485','projected_crs','IAU_2015',70485,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',70490,'Oberon (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',70400,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_70490','projected_crs','IAU_2015',70490,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 705, 'Miranda', 235800.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 70500, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',70500,'Miranda (2015) - Sphere',NULL,'IAU_2015',705,235800.000000,'EPSG','9001',NULL,235800.000000,0);
@@ -2795,6 +2935,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',70580,'Miranda (2015) - Sphere / Oce
INSERT INTO usage VALUES('IAU_2015','PCRS_70580','projected_crs','IAU_2015',70580,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',70585,'Miranda (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',70500,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_70585','projected_crs','IAU_2015',70585,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',70590,'Miranda (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',70500,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_70590','projected_crs','IAU_2015',70590,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 706, 'Cordelia', 13000.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 70600, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',70600,'Cordelia (2015) - Sphere',NULL,'IAU_2015',706,13000.000000,'EPSG','9001',NULL,13000.000000,0);
@@ -2834,6 +2976,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',70680,'Cordelia (2015) - Sphere / Oc
INSERT INTO usage VALUES('IAU_2015','PCRS_70680','projected_crs','IAU_2015',70680,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',70685,'Cordelia (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',70600,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_70685','projected_crs','IAU_2015',70685,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',70690,'Cordelia (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',70600,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_70690','projected_crs','IAU_2015',70690,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 707, 'Ophelia', 15000.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 70700, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',70700,'Ophelia (2015) - Sphere',NULL,'IAU_2015',707,15000.000000,'EPSG','9001',NULL,15000.000000,0);
@@ -2873,6 +3017,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',70780,'Ophelia (2015) - Sphere / Oce
INSERT INTO usage VALUES('IAU_2015','PCRS_70780','projected_crs','IAU_2015',70780,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',70785,'Ophelia (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',70700,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_70785','projected_crs','IAU_2015',70785,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',70790,'Ophelia (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',70700,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_70790','projected_crs','IAU_2015',70790,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 708, 'Bianca', 21000.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 70800, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',70800,'Bianca (2015) - Sphere',NULL,'IAU_2015',708,21000.000000,'EPSG','9001',NULL,21000.000000,0);
@@ -2912,6 +3058,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',70880,'Bianca (2015) - Sphere / Ocen
INSERT INTO usage VALUES('IAU_2015','PCRS_70880','projected_crs','IAU_2015',70880,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',70885,'Bianca (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',70800,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_70885','projected_crs','IAU_2015',70885,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',70890,'Bianca (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',70800,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_70890','projected_crs','IAU_2015',70890,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 709, 'Cressida', 31000.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 70900, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',70900,'Cressida (2015) - Sphere',NULL,'IAU_2015',709,31000.000000,'EPSG','9001',NULL,31000.000000,0);
@@ -2951,6 +3099,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',70980,'Cressida (2015) - Sphere / Oc
INSERT INTO usage VALUES('IAU_2015','PCRS_70980','projected_crs','IAU_2015',70980,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',70985,'Cressida (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',70900,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_70985','projected_crs','IAU_2015',70985,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',70990,'Cressida (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',70900,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_70990','projected_crs','IAU_2015',70990,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 710, 'Desdemona', 27000.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 71000, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',71000,'Desdemona (2015) - Sphere',NULL,'IAU_2015',710,27000.000000,'EPSG','9001',NULL,27000.000000,0);
@@ -2990,6 +3140,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',71080,'Desdemona (2015) - Sphere / O
INSERT INTO usage VALUES('IAU_2015','PCRS_71080','projected_crs','IAU_2015',71080,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',71085,'Desdemona (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',71000,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_71085','projected_crs','IAU_2015',71085,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',71090,'Desdemona (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',71000,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_71090','projected_crs','IAU_2015',71090,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 711, 'Juliet', 42000.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 71100, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',71100,'Juliet (2015) - Sphere',NULL,'IAU_2015',711,42000.000000,'EPSG','9001',NULL,42000.000000,0);
@@ -3029,6 +3181,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',71180,'Juliet (2015) - Sphere / Ocen
INSERT INTO usage VALUES('IAU_2015','PCRS_71180','projected_crs','IAU_2015',71180,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',71185,'Juliet (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',71100,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_71185','projected_crs','IAU_2015',71185,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',71190,'Juliet (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',71100,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_71190','projected_crs','IAU_2015',71190,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 712, 'Portia', 54000.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 71200, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',71200,'Portia (2015) - Sphere',NULL,'IAU_2015',712,54000.000000,'EPSG','9001',NULL,54000.000000,0);
@@ -3068,6 +3222,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',71280,'Portia (2015) - Sphere / Ocen
INSERT INTO usage VALUES('IAU_2015','PCRS_71280','projected_crs','IAU_2015',71280,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',71285,'Portia (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',71200,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_71285','projected_crs','IAU_2015',71285,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',71290,'Portia (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',71200,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_71290','projected_crs','IAU_2015',71290,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 713, 'Rosalind', 27000.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 71300, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',71300,'Rosalind (2015) - Sphere',NULL,'IAU_2015',713,27000.000000,'EPSG','9001',NULL,27000.000000,0);
@@ -3107,6 +3263,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',71380,'Rosalind (2015) - Sphere / Oc
INSERT INTO usage VALUES('IAU_2015','PCRS_71380','projected_crs','IAU_2015',71380,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',71385,'Rosalind (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',71300,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_71385','projected_crs','IAU_2015',71385,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',71390,'Rosalind (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',71300,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_71390','projected_crs','IAU_2015',71390,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 714, 'Belinda', 33000.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 71400, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',71400,'Belinda (2015) - Sphere',NULL,'IAU_2015',714,33000.000000,'EPSG','9001',NULL,33000.000000,0);
@@ -3146,6 +3304,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',71480,'Belinda (2015) - Sphere / Oce
INSERT INTO usage VALUES('IAU_2015','PCRS_71480','projected_crs','IAU_2015',71480,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',71485,'Belinda (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',71400,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_71485','projected_crs','IAU_2015',71485,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',71490,'Belinda (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',71400,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_71490','projected_crs','IAU_2015',71490,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 715, 'Puck', 77000.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 71500, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',71500,'Puck (2015) - Sphere',NULL,'IAU_2015',715,77000.000000,'EPSG','9001',NULL,77000.000000,0);
@@ -3185,6 +3345,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',71580,'Puck (2015) - Sphere / Ocentr
INSERT INTO usage VALUES('IAU_2015','PCRS_71580','projected_crs','IAU_2015',71580,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',71585,'Puck (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',71500,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_71585','projected_crs','IAU_2015',71585,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',71590,'Puck (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',71500,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_71590','projected_crs','IAU_2015',71590,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
-- Skip Caliban has it lacks all axis information
-- Skip Sycorax has it lacks all axis information
-- Skip Prospero has it lacks all axis information
@@ -3236,6 +3398,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',89980,'Neptune (2015) - Sphere / Oce
INSERT INTO usage VALUES('IAU_2015','PCRS_89980','projected_crs','IAU_2015',89980,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',89985,'Neptune (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',89900,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_89985','projected_crs','IAU_2015',89985,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',89990,'Neptune (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',89900,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_89990','projected_crs','IAU_2015',89990,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO ellipsoid VALUES('IAU_2015',89901,'Neptune (2015)',NULL,'IAU_2015',899,24764000.000000,'EPSG','9001',NULL,24341000.000000,0);
INSERT INTO geodetic_datum VALUES('IAU_2015',89901,'Neptune (2015)','','IAU_2015',89901,'IAU_2015',89900,NULL,NULL,NULL,NULL,0);
INSERT INTO usage VALUES('IAU_2015','GD_89901','geodetic_datum','IAU_2015',89901,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
@@ -3273,6 +3437,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',89981,'Neptune (2015) / Ographic / L
INSERT INTO usage VALUES('IAU_2015','PCRS_89981','projected_crs','IAU_2015',89981,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',89986,'Neptune (2015) / Ographic / Albers Equal Area',NULL,'PROJ','PROJECTED_WEST_NORTH','IAU_2015',89901,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_89986','projected_crs','IAU_2015',89986,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',89991,'Neptune (2015) / Ographic / Popular Visualisation Pseudo-Mercator',NULL,'PROJ','PROJECTED_WEST_NORTH','IAU_2015',89901,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_89991','projected_crs','IAU_2015',89991,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO geodetic_crs VALUES('IAU_2015',89902,'Neptune (2015) / Ocentric','Source of IAU Coordinate systems: https://doi.org/10.1007/s10569-017-9805-5','other','PROJ','OCENTRIC_LAT_LON','IAU_2015',89901,NULL,0);
INSERT INTO usage VALUES('IAU_2015','GCRS_89902','geodetic_crs','IAU_2015',89902,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',89912,'Neptune (2015) / Ocentric / Equirectangular, clon = 0',NULL,'EPSG','4400','IAU_2015',89902,'IAU_2015',10,NULL,0);
@@ -3307,6 +3473,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',89982,'Neptune (2015) / Ocentric / L
INSERT INTO usage VALUES('IAU_2015','PCRS_89982','projected_crs','IAU_2015',89982,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',89987,'Neptune (2015) / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',89902,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_89987','projected_crs','IAU_2015',89987,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',89992,'Neptune (2015) / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',89902,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_89992','projected_crs','IAU_2015',89992,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 801, 'Triton', 1352600.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 80100, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',80100,'Triton (2015) - Sphere',NULL,'IAU_2015',801,1352600.000000,'EPSG','9001',NULL,1352600.000000,0);
@@ -3346,6 +3514,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',80180,'Triton (2015) - Sphere / Ocen
INSERT INTO usage VALUES('IAU_2015','PCRS_80180','projected_crs','IAU_2015',80180,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',80185,'Triton (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',80100,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_80185','projected_crs','IAU_2015',80185,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',80190,'Triton (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',80100,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_80190','projected_crs','IAU_2015',80190,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 802, 'Nereid', 170000.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 80200, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',80200,'Nereid (2015) - Sphere',NULL,'IAU_2015',802,170000.000000,'EPSG','9001',NULL,170000.000000,0);
@@ -3385,6 +3555,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',80280,'Nereid (2015) - Sphere / Ocen
INSERT INTO usage VALUES('IAU_2015','PCRS_80280','projected_crs','IAU_2015',80280,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',80285,'Nereid (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',80200,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_80285','projected_crs','IAU_2015',80285,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',80290,'Nereid (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',80200,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_80290','projected_crs','IAU_2015',80290,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 803, 'Naiad', 29000.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 80300, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',80300,'Naiad (2015) - Sphere',NULL,'IAU_2015',803,29000.000000,'EPSG','9001',NULL,29000.000000,0);
@@ -3424,6 +3596,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',80380,'Naiad (2015) - Sphere / Ocent
INSERT INTO usage VALUES('IAU_2015','PCRS_80380','projected_crs','IAU_2015',80380,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',80385,'Naiad (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',80300,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_80385','projected_crs','IAU_2015',80385,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',80390,'Naiad (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',80300,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_80390','projected_crs','IAU_2015',80390,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO ellipsoid VALUES('IAU_2015',80301,'Naiad (2015)',NULL,'IAU_2015',803,29000.000000,'EPSG','9001',NULL,29000.000000,0);
INSERT INTO geodetic_datum VALUES('IAU_2015',80301,'Naiad (2015)','','IAU_2015',80301,'IAU_2015',80300,NULL,NULL,NULL,NULL,0);
INSERT INTO usage VALUES('IAU_2015','GD_80301','geodetic_datum','IAU_2015',80301,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
@@ -3461,6 +3635,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',80381,'Naiad (2015) / Ographic / Lam
INSERT INTO usage VALUES('IAU_2015','PCRS_80381','projected_crs','IAU_2015',80381,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',80386,'Naiad (2015) / Ographic / Albers Equal Area',NULL,'PROJ','PROJECTED_WEST_NORTH','IAU_2015',80301,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_80386','projected_crs','IAU_2015',80386,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',80391,'Naiad (2015) / Ographic / Popular Visualisation Pseudo-Mercator',NULL,'PROJ','PROJECTED_WEST_NORTH','IAU_2015',80301,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_80391','projected_crs','IAU_2015',80391,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 804, 'Thalassa', 40000.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 80400, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',80400,'Thalassa (2015) - Sphere',NULL,'IAU_2015',804,40000.000000,'EPSG','9001',NULL,40000.000000,0);
@@ -3500,6 +3676,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',80480,'Thalassa (2015) - Sphere / Oc
INSERT INTO usage VALUES('IAU_2015','PCRS_80480','projected_crs','IAU_2015',80480,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',80485,'Thalassa (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',80400,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_80485','projected_crs','IAU_2015',80485,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',80490,'Thalassa (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',80400,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_80490','projected_crs','IAU_2015',80490,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO ellipsoid VALUES('IAU_2015',80401,'Thalassa (2015)',NULL,'IAU_2015',804,40000.000000,'EPSG','9001',NULL,40000.000000,0);
INSERT INTO geodetic_datum VALUES('IAU_2015',80401,'Thalassa (2015)','','IAU_2015',80401,'IAU_2015',80400,NULL,NULL,NULL,NULL,0);
INSERT INTO usage VALUES('IAU_2015','GD_80401','geodetic_datum','IAU_2015',80401,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
@@ -3537,6 +3715,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',80481,'Thalassa (2015) / Ographic /
INSERT INTO usage VALUES('IAU_2015','PCRS_80481','projected_crs','IAU_2015',80481,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',80486,'Thalassa (2015) / Ographic / Albers Equal Area',NULL,'PROJ','PROJECTED_WEST_NORTH','IAU_2015',80401,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_80486','projected_crs','IAU_2015',80486,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',80491,'Thalassa (2015) / Ographic / Popular Visualisation Pseudo-Mercator',NULL,'PROJ','PROJECTED_WEST_NORTH','IAU_2015',80401,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_80491','projected_crs','IAU_2015',80491,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 805, 'Despina', 74000.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 80500, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',80500,'Despina (2015) - Sphere',NULL,'IAU_2015',805,74000.000000,'EPSG','9001',NULL,74000.000000,0);
@@ -3576,6 +3756,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',80580,'Despina (2015) - Sphere / Oce
INSERT INTO usage VALUES('IAU_2015','PCRS_80580','projected_crs','IAU_2015',80580,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',80585,'Despina (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',80500,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_80585','projected_crs','IAU_2015',80585,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',80590,'Despina (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',80500,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_80590','projected_crs','IAU_2015',80590,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO ellipsoid VALUES('IAU_2015',80501,'Despina (2015)',NULL,'IAU_2015',805,74000.000000,'EPSG','9001',NULL,74000.000000,0);
INSERT INTO geodetic_datum VALUES('IAU_2015',80501,'Despina (2015)','','IAU_2015',80501,'IAU_2015',80500,NULL,NULL,NULL,NULL,0);
INSERT INTO usage VALUES('IAU_2015','GD_80501','geodetic_datum','IAU_2015',80501,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
@@ -3613,6 +3795,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',80581,'Despina (2015) / Ographic / L
INSERT INTO usage VALUES('IAU_2015','PCRS_80581','projected_crs','IAU_2015',80581,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',80586,'Despina (2015) / Ographic / Albers Equal Area',NULL,'PROJ','PROJECTED_WEST_NORTH','IAU_2015',80501,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_80586','projected_crs','IAU_2015',80586,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',80591,'Despina (2015) / Ographic / Popular Visualisation Pseudo-Mercator',NULL,'PROJ','PROJECTED_WEST_NORTH','IAU_2015',80501,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_80591','projected_crs','IAU_2015',80591,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 806, 'Galatea', 79000.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 80600, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',80600,'Galatea (2015) - Sphere',NULL,'IAU_2015',806,79000.000000,'EPSG','9001',NULL,79000.000000,0);
@@ -3652,6 +3836,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',80680,'Galatea (2015) - Sphere / Oce
INSERT INTO usage VALUES('IAU_2015','PCRS_80680','projected_crs','IAU_2015',80680,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',80685,'Galatea (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',80600,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_80685','projected_crs','IAU_2015',80685,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',80690,'Galatea (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',80600,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_80690','projected_crs','IAU_2015',80690,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO ellipsoid VALUES('IAU_2015',80601,'Galatea (2015)',NULL,'IAU_2015',806,79000.000000,'EPSG','9001',NULL,79000.000000,0);
INSERT INTO geodetic_datum VALUES('IAU_2015',80601,'Galatea (2015)','','IAU_2015',80601,'IAU_2015',80600,NULL,NULL,NULL,NULL,0);
INSERT INTO usage VALUES('IAU_2015','GD_80601','geodetic_datum','IAU_2015',80601,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
@@ -3689,6 +3875,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',80681,'Galatea (2015) / Ographic / L
INSERT INTO usage VALUES('IAU_2015','PCRS_80681','projected_crs','IAU_2015',80681,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',80686,'Galatea (2015) / Ographic / Albers Equal Area',NULL,'PROJ','PROJECTED_WEST_NORTH','IAU_2015',80601,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_80686','projected_crs','IAU_2015',80686,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',80691,'Galatea (2015) / Ographic / Popular Visualisation Pseudo-Mercator',NULL,'PROJ','PROJECTED_WEST_NORTH','IAU_2015',80601,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_80691','projected_crs','IAU_2015',80691,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 807, 'Larissa', 96000.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 80700, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',80700,'Larissa (2015) - Sphere',NULL,'IAU_2015',807,96000.000000,'EPSG','9001',NULL,96000.000000,0);
@@ -3728,6 +3916,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',80780,'Larissa (2015) - Sphere / Oce
INSERT INTO usage VALUES('IAU_2015','PCRS_80780','projected_crs','IAU_2015',80780,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',80785,'Larissa (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',80700,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_80785','projected_crs','IAU_2015',80785,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',80790,'Larissa (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',80700,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_80790','projected_crs','IAU_2015',80790,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO ellipsoid VALUES('IAU_2015',80701,'Larissa (2015)',NULL,'IAU_2015',807,96000.000000,'EPSG','9001',NULL,89000.000000,0);
INSERT INTO geodetic_datum VALUES('IAU_2015',80701,'Larissa (2015)','','IAU_2015',80701,'IAU_2015',80700,NULL,NULL,NULL,NULL,0);
INSERT INTO usage VALUES('IAU_2015','GD_80701','geodetic_datum','IAU_2015',80701,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
@@ -3765,6 +3955,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',80781,'Larissa (2015) / Ographic / L
INSERT INTO usage VALUES('IAU_2015','PCRS_80781','projected_crs','IAU_2015',80781,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',80786,'Larissa (2015) / Ographic / Albers Equal Area',NULL,'PROJ','PROJECTED_WEST_NORTH','IAU_2015',80701,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_80786','projected_crs','IAU_2015',80786,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',80791,'Larissa (2015) / Ographic / Popular Visualisation Pseudo-Mercator',NULL,'PROJ','PROJECTED_WEST_NORTH','IAU_2015',80701,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_80791','projected_crs','IAU_2015',80791,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO geodetic_crs VALUES('IAU_2015',80702,'Larissa (2015) / Ocentric','Source of IAU Coordinate systems: https://doi.org/10.1007/s10569-017-9805-5','other','PROJ','OCENTRIC_LAT_LON','IAU_2015',80701,NULL,0);
INSERT INTO usage VALUES('IAU_2015','GCRS_80702','geodetic_crs','IAU_2015',80702,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',80712,'Larissa (2015) / Ocentric / Equirectangular, clon = 0',NULL,'EPSG','4400','IAU_2015',80702,'IAU_2015',10,NULL,0);
@@ -3799,6 +3991,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',80782,'Larissa (2015) / Ocentric / L
INSERT INTO usage VALUES('IAU_2015','PCRS_80782','projected_crs','IAU_2015',80782,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',80787,'Larissa (2015) / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',80702,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_80787','projected_crs','IAU_2015',80787,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',80792,'Larissa (2015) / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',80702,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_80792','projected_crs','IAU_2015',80792,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 808, 'Proteus', 208000.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 80800, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',80800,'Proteus (2015) - Sphere',NULL,'IAU_2015',808,208000.000000,'EPSG','9001',NULL,208000.000000,0);
@@ -3838,6 +4032,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',80880,'Proteus (2015) - Sphere / Oce
INSERT INTO usage VALUES('IAU_2015','PCRS_80880','projected_crs','IAU_2015',80880,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',80885,'Proteus (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',80800,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_80885','projected_crs','IAU_2015',80885,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',80890,'Proteus (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',80800,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_80890','projected_crs','IAU_2015',80890,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
-- Skip Halimede has it lacks all axis information
-- Skip Psamathe has it lacks all axis information
-- Skip Sao has it lacks all axis information
@@ -3882,6 +4078,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',99980,'Pluto (2015) - Sphere / Ocent
INSERT INTO usage VALUES('IAU_2015','PCRS_99980','projected_crs','IAU_2015',99980,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',99985,'Pluto (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',99900,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_99985','projected_crs','IAU_2015',99985,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',99990,'Pluto (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',99900,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_99990','projected_crs','IAU_2015',99990,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 901, 'Charon', 606000.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 90100, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',90100,'Charon (2015) - Sphere',NULL,'IAU_2015',901,606000.000000,'EPSG','9001',NULL,606000.000000,0);
@@ -3921,6 +4119,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',90180,'Charon (2015) - Sphere / Ocen
INSERT INTO usage VALUES('IAU_2015','PCRS_90180','projected_crs','IAU_2015',90180,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',90185,'Charon (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',90100,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_90185','projected_crs','IAU_2015',90185,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',90190,'Charon (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',90100,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_90190','projected_crs','IAU_2015',90190,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
-- Borrelly lacks value for semimajor and/or axisb and/or semiminor. Only consider its mean value.
INSERT INTO celestial_body VALUES('IAU_2015', 1000005, 'Borrelly', 4220.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 100000500, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
@@ -3961,6 +4161,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',100000580,'Borrelly (2015) - Sphere
INSERT INTO usage VALUES('IAU_2015','PCRS_100000580','projected_crs','IAU_2015',100000580,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',100000585,'Borrelly (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',100000500,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_100000585','projected_crs','IAU_2015',100000585,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',100000590,'Borrelly (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',100000500,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_100000590','projected_crs','IAU_2015',100000590,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 1000012, 'Churyumov-Gerasimenko', 1650.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 100001200, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',100001200,'Churyumov-Gerasimenko (2015) - Sphere',NULL,'IAU_2015',1000012,1650.000000,'EPSG','9001',NULL,1650.000000,0);
@@ -4000,6 +4202,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',100001280,'Churyumov-Gerasimenko (20
INSERT INTO usage VALUES('IAU_2015','PCRS_100001280','projected_crs','IAU_2015',100001280,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',100001285,'Churyumov-Gerasimenko (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',100001200,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_100001285','projected_crs','IAU_2015',100001285,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',100001290,'Churyumov-Gerasimenko (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',100001200,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_100001290','projected_crs','IAU_2015',100001290,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 1000036, 'Halley', 8000.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 100003600, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',100003600,'Halley (2015) - Sphere',NULL,'IAU_2015',1000036,8000.000000,'EPSG','9001',NULL,8000.000000,0);
@@ -4039,6 +4243,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',100003680,'Halley (2015) - Sphere /
INSERT INTO usage VALUES('IAU_2015','PCRS_100003680','projected_crs','IAU_2015',100003680,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',100003685,'Halley (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',100003600,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_100003685','projected_crs','IAU_2015',100003685,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',100003690,'Halley (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',100003600,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_100003690','projected_crs','IAU_2015',100003690,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO ellipsoid VALUES('IAU_2015',100003601,'Halley (2015)',NULL,'IAU_2015',1000036,8000.000000,'EPSG','9001',NULL,4000.000000,0);
INSERT INTO geodetic_datum VALUES('IAU_2015',100003601,'Halley (2015)','','IAU_2015',100003601,'IAU_2015',100003600,NULL,NULL,NULL,NULL,0);
INSERT INTO usage VALUES('IAU_2015','GD_100003601','geodetic_datum','IAU_2015',100003601,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
@@ -4076,6 +4282,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',100003681,'Halley (2015) / Ographic
INSERT INTO usage VALUES('IAU_2015','PCRS_100003681','projected_crs','IAU_2015',100003681,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',100003686,'Halley (2015) / Ographic / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',100003601,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_100003686','projected_crs','IAU_2015',100003686,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',100003691,'Halley (2015) / Ographic / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',100003601,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_100003691','projected_crs','IAU_2015',100003691,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO geodetic_crs VALUES('IAU_2015',100003602,'Halley (2015) / Ocentric','Source of IAU Coordinate systems: https://doi.org/10.1007/s10569-017-9805-5','other','PROJ','OCENTRIC_LAT_LON','IAU_2015',100003601,NULL,0);
INSERT INTO usage VALUES('IAU_2015','GCRS_100003602','geodetic_crs','IAU_2015',100003602,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
-- Hartley 2 has inconsistent values: semimajor < axisb or axis < semiminor. Only consider its mean value.
@@ -4118,6 +4326,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',100004180,'Hartley 2 (2015) - Sphere
INSERT INTO usage VALUES('IAU_2015','PCRS_100004180','projected_crs','IAU_2015',100004180,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',100004185,'Hartley 2 (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',100004100,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_100004185','projected_crs','IAU_2015',100004185,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',100004190,'Hartley 2 (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',100004100,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_100004190','projected_crs','IAU_2015',100004190,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
-- Tempel 1 lacks value for semimajor and/or axisb and/or semiminor. Only consider its mean value.
INSERT INTO celestial_body VALUES('IAU_2015', 1000093, 'Tempel 1', 3000.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 100009300, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
@@ -4158,6 +4368,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',100009380,'Tempel 1 (2015) - Sphere
INSERT INTO usage VALUES('IAU_2015','PCRS_100009380','projected_crs','IAU_2015',100009380,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',100009385,'Tempel 1 (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',100009300,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_100009385','projected_crs','IAU_2015',100009385,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',100009390,'Tempel 1 (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',100009300,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_100009390','projected_crs','IAU_2015',100009390,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 1000107, 'Wild 2', 1975.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 100010700, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',100010700,'Wild 2 (2015) - Sphere',NULL,'IAU_2015',1000107,1975.000000,'EPSG','9001',NULL,1975.000000,0);
@@ -4197,6 +4409,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',100010780,'Wild 2 (2015) - Sphere /
INSERT INTO usage VALUES('IAU_2015','PCRS_100010780','projected_crs','IAU_2015',100010780,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',100010785,'Wild 2 (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',100010700,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_100010785','projected_crs','IAU_2015',100010785,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',100010790,'Wild 2 (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',100010700,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_100010790','projected_crs','IAU_2015',100010790,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 9511010, 'Gaspra', 6100.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 951101000, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',951101000,'Gaspra (2015) - Sphere',NULL,'IAU_2015',9511010,6100.000000,'EPSG','9001',NULL,6100.000000,0);
@@ -4236,6 +4450,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',951101080,'Gaspra (2015) - Sphere /
INSERT INTO usage VALUES('IAU_2015','PCRS_951101080','projected_crs','IAU_2015',951101080,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',951101085,'Gaspra (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',951101000,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_951101085','projected_crs','IAU_2015',951101085,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',951101090,'Gaspra (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',951101000,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_951101090','projected_crs','IAU_2015',951101090,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 2431010, 'Ida', 15650.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 243101000, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',243101000,'Ida (2015) - Sphere',NULL,'IAU_2015',2431010,15650.000000,'EPSG','9001',NULL,15650.000000,0);
@@ -4275,6 +4491,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',243101080,'Ida (2015) - Sphere / Oce
INSERT INTO usage VALUES('IAU_2015','PCRS_243101080','projected_crs','IAU_2015',243101080,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',243101085,'Ida (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',243101000,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_243101085','projected_crs','IAU_2015',243101085,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',243101090,'Ida (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',243101000,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_243101090','projected_crs','IAU_2015',243101090,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
-- Skip Dactyl has it lacks all axis information
INSERT INTO celestial_body VALUES('IAU_2015', 2000001, 'Ceres', 487300.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 200000100, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
@@ -4315,6 +4533,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',200000180,'Ceres (2015) - Sphere / O
INSERT INTO usage VALUES('IAU_2015','PCRS_200000180','projected_crs','IAU_2015',200000180,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',200000185,'Ceres (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',200000100,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_200000185','projected_crs','IAU_2015',200000185,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',200000190,'Ceres (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',200000100,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_200000190','projected_crs','IAU_2015',200000190,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO ellipsoid VALUES('IAU_2015',200000101,'Ceres (2015)',NULL,'IAU_2015',2000001,487300.000000,'EPSG','9001',NULL,446000.000000,0);
INSERT INTO geodetic_datum VALUES('IAU_2015',200000101,'Ceres (2015)','','IAU_2015',200000101,'IAU_2015',200000100,NULL,NULL,NULL,'Kait: 0.0',0);
INSERT INTO usage VALUES('IAU_2015','GD_200000101','geodetic_datum','IAU_2015',200000101,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
@@ -4352,6 +4572,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',200000181,'Ceres (2015) / Ographic /
INSERT INTO usage VALUES('IAU_2015','PCRS_200000181','projected_crs','IAU_2015',200000181,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',200000186,'Ceres (2015) / Ographic / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',200000101,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_200000186','projected_crs','IAU_2015',200000186,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',200000191,'Ceres (2015) / Ographic / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',200000101,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_200000191','projected_crs','IAU_2015',200000191,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO geodetic_crs VALUES('IAU_2015',200000102,'Ceres (2015) / Ocentric','Source of IAU Coordinate systems: https://doi.org/10.1007/s10569-017-9805-5','other','PROJ','OCENTRIC_LAT_LON','IAU_2015',200000101,NULL,0);
INSERT INTO usage VALUES('IAU_2015','GCRS_200000102','geodetic_crs','IAU_2015',200000102,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
-- Skip Pallas has it lacks all axis information
@@ -4394,6 +4616,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',200000480,'Vesta (2015) - Sphere / O
INSERT INTO usage VALUES('IAU_2015','PCRS_200000480','projected_crs','IAU_2015',200000480,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',200000485,'Vesta (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',200000400,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_200000485','projected_crs','IAU_2015',200000485,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',200000490,'Vesta (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',200000400,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_200000490','projected_crs','IAU_2015',200000490,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 2000016, 'Psyche', 113000.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 200001600, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',200001600,'Psyche (2015) - Sphere',NULL,'IAU_2015',2000016,113000.000000,'EPSG','9001',NULL,113000.000000,0);
@@ -4433,6 +4657,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',200001680,'Psyche (2015) - Sphere /
INSERT INTO usage VALUES('IAU_2015','PCRS_200001680','projected_crs','IAU_2015',200001680,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',200001685,'Psyche (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',200001600,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_200001685','projected_crs','IAU_2015',200001685,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',200001690,'Psyche (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',200001600,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_200001690','projected_crs','IAU_2015',200001690,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 2000021, 'Lutetia', 52500.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 200002100, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',200002100,'Lutetia (2015) - Sphere',NULL,'IAU_2015',2000021,52500.000000,'EPSG','9001',NULL,52500.000000,0);
@@ -4472,6 +4698,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',200002180,'Lutetia (2015) - Sphere /
INSERT INTO usage VALUES('IAU_2015','PCRS_200002180','projected_crs','IAU_2015',200002180,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',200002185,'Lutetia (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',200002100,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_200002185','projected_crs','IAU_2015',200002185,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',200002190,'Lutetia (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',200002100,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_200002190','projected_crs','IAU_2015',200002190,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 2000052, '52 Europa', 157500.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 200005200, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',200005200,'52 Europa (2015) - Sphere',NULL,'IAU_2015',2000052,157500.000000,'EPSG','9001',NULL,157500.000000,0);
@@ -4511,6 +4739,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',200005280,'52 Europa (2015) - Sphere
INSERT INTO usage VALUES('IAU_2015','PCRS_200005280','projected_crs','IAU_2015',200005280,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',200005285,'52 Europa (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',200005200,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_200005285','projected_crs','IAU_2015',200005285,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',200005290,'52 Europa (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',200005200,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_200005290','projected_crs','IAU_2015',200005290,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 2000216, 'Kleopatra', 65333.333333);
INSERT INTO prime_meridian VALUES('IAU_2015', 200021600, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',200021600,'Kleopatra (2015) - Sphere',NULL,'IAU_2015',2000216,65333.333333,'EPSG','9001',NULL,65333.333333,0);
@@ -4550,6 +4780,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',200021680,'Kleopatra (2015) - Sphere
INSERT INTO usage VALUES('IAU_2015','PCRS_200021680','projected_crs','IAU_2015',200021680,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',200021685,'Kleopatra (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',200021600,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_200021685','projected_crs','IAU_2015',200021685,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',200021690,'Kleopatra (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',200021600,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_200021690','projected_crs','IAU_2015',200021690,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 2000433, 'Eros', 17000.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 200043300, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',200043300,'Eros (2015) - Sphere',NULL,'IAU_2015',2000433,17000.000000,'EPSG','9001',NULL,17000.000000,0);
@@ -4589,6 +4821,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',200043380,'Eros (2015) - Sphere / Oc
INSERT INTO usage VALUES('IAU_2015','PCRS_200043380','projected_crs','IAU_2015',200043380,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',200043385,'Eros (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',200043300,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_200043385','projected_crs','IAU_2015',200043385,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',200043390,'Eros (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',200043300,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_200043390','projected_crs','IAU_2015',200043390,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO ellipsoid VALUES('IAU_2015',200043301,'Eros (2015)',NULL,'IAU_2015',2000433,17000.000000,'EPSG','9001',NULL,5500.000000,0);
INSERT INTO geodetic_datum VALUES('IAU_2015',200043301,'Eros (2015)','','IAU_2015',200043301,'IAU_2015',200043300,NULL,NULL,NULL,'unnamed crater: 0.0',0);
INSERT INTO usage VALUES('IAU_2015','GD_200043301','geodetic_datum','IAU_2015',200043301,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
@@ -4626,6 +4860,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',200043381,'Eros (2015) / Ographic /
INSERT INTO usage VALUES('IAU_2015','PCRS_200043381','projected_crs','IAU_2015',200043381,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',200043386,'Eros (2015) / Ographic / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',200043301,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_200043386','projected_crs','IAU_2015',200043386,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',200043391,'Eros (2015) / Ographic / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',200043301,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_200043391','projected_crs','IAU_2015',200043391,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO geodetic_crs VALUES('IAU_2015',200043302,'Eros (2015) / Ocentric','Source of IAU Coordinate systems: https://doi.org/10.1007/s10569-017-9805-5','other','PROJ','OCENTRIC_LAT_LON','IAU_2015',200043301,NULL,0);
INSERT INTO usage VALUES('IAU_2015','GCRS_200043302','geodetic_crs','IAU_2015',200043302,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 2000511, 'Davida', 150000.000000);
@@ -4667,6 +4903,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',200051180,'Davida (2015) - Sphere /
INSERT INTO usage VALUES('IAU_2015','PCRS_200051180','projected_crs','IAU_2015',200051180,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',200051185,'Davida (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',200051100,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_200051185','projected_crs','IAU_2015',200051185,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',200051190,'Davida (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',200051100,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_200051190','projected_crs','IAU_2015',200051190,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 2000253, 'Mathilde', 26500.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 200025300, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',200025300,'Mathilde (2015) - Sphere',NULL,'IAU_2015',2000253,26500.000000,'EPSG','9001',NULL,26500.000000,0);
@@ -4706,6 +4944,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',200025380,'Mathilde (2015) - Sphere
INSERT INTO usage VALUES('IAU_2015','PCRS_200025380','projected_crs','IAU_2015',200025380,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',200025385,'Mathilde (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',200025300,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_200025385','projected_crs','IAU_2015',200025385,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',200025390,'Mathilde (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',200025300,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_200025390','projected_crs','IAU_2015',200025390,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 2002867, 'Steins', 2700.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 200286700, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',200286700,'Steins (2015) - Sphere',NULL,'IAU_2015',2002867,2700.000000,'EPSG','9001',NULL,2700.000000,0);
@@ -4745,6 +4985,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',200286780,'Steins (2015) - Sphere /
INSERT INTO usage VALUES('IAU_2015','PCRS_200286780','projected_crs','IAU_2015',200286780,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',200286785,'Steins (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',200286700,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_200286785','projected_crs','IAU_2015',200286785,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',200286790,'Steins (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',200286700,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_200286790','projected_crs','IAU_2015',200286790,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
-- Skip 1992KD has it lacks all axis information
-- Skip Braille has it lacks all axis information
-- Skip Wilson-Harrington has it lacks all axis information
@@ -4787,6 +5029,8 @@ INSERT INTO projected_crs VALUES('IAU_2015',200417980,'Toutatis (2015) - Sphere
INSERT INTO usage VALUES('IAU_2015','PCRS_200417980','projected_crs','IAU_2015',200417980,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',200417985,'Toutatis (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',200417900,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_200417985','projected_crs','IAU_2015',200417985,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',200417990,'Toutatis (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',200417900,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_200417990','projected_crs','IAU_2015',200417990,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO celestial_body VALUES('IAU_2015', 2025143, 'Itokawa', 173.000000);
INSERT INTO prime_meridian VALUES('IAU_2015', 202514300, 'Reference Meridian', 0.0, 'EPSG', 9102, 0);
INSERT INTO ellipsoid VALUES('IAU_2015',202514300,'Itokawa (2015) - Sphere',NULL,'IAU_2015',2025143,173.000000,'EPSG','9001',NULL,173.000000,0);
@@ -4826,3 +5070,5 @@ INSERT INTO projected_crs VALUES('IAU_2015',202514380,'Itokawa (2015) - Sphere /
INSERT INTO usage VALUES('IAU_2015','PCRS_202514380','projected_crs','IAU_2015',202514380,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',202514385,'Itokawa (2015) - Sphere / Ocentric / Albers Equal Area',NULL,'EPSG','4400','IAU_2015',202514300,'IAU_2015',85,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_202514385','projected_crs','IAU_2015',202514385,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
INSERT INTO projected_crs VALUES('IAU_2015',202514390,'Itokawa (2015) - Sphere / Ocentric / Popular Visualisation Pseudo-Mercator',NULL,'EPSG','4400','IAU_2015',202514300,'IAU_2015',90,NULL,0);
INSERT INTO usage VALUES('IAU_2015','PCRS_202514390','projected_crs','IAU_2015',202514390,'PROJ','EXTENT_UNKNOWN','PROJ','SCOPE_UNKNOWN');
+3 -3
View File
@@ -9,8 +9,8 @@
INSERT INTO "metadata" VALUES('DATABASE.LAYOUT.VERSION.MAJOR', 1);
INSERT INTO "metadata" VALUES('DATABASE.LAYOUT.VERSION.MINOR', 2);
INSERT INTO "metadata" VALUES('EPSG.VERSION', 'v10.082');
INSERT INTO "metadata" VALUES('EPSG.DATE', '2023-02-06');
INSERT INTO "metadata" VALUES('EPSG.VERSION', 'v10.088');
INSERT INTO "metadata" VALUES('EPSG.DATE', '2023-05-13');
-- The value of ${PROJ_VERSION} is substituted at build time by the actual
-- value.
@@ -18,4 +18,4 @@ INSERT INTO "metadata" VALUES('PROJ.VERSION', '${PROJ_VERSION}');
-- Version of the PROJ-data package with which this database is the most
-- compatible.
INSERT INTO "metadata" VALUES('PROJ_DATA.VERSION', '1.13');
INSERT INTO "metadata" VALUES('PROJ_DATA.VERSION', '1.14');
+1
View File
@@ -1,5 +1,6 @@
--- This file has been generated by scripts/build_db.py. DO NOT EDIT !
INSERT INTO "prime_meridian" VALUES('EPSG','1026','Copenhagen',12.34399,'EPSG','9110',0);
INSERT INTO "prime_meridian" VALUES('EPSG','8901','Greenwich',0.0,'EPSG','9102',0);
INSERT INTO "prime_meridian" VALUES('EPSG','8902','Lisbon',-9.0754862,'EPSG','9110',0);
INSERT INTO "prime_meridian" VALUES('EPSG','8903','Paris',2.5969213,'EPSG','9105',0);
+21 -20
View File
@@ -502,6 +502,7 @@ BEGIN
'EPSG_1069_Change of Vertical Unit',
'EPSG_1104_Change of Vertical Unit',
'EPSG_1078_Equal Earth',
'EPSG_1102_Lambert Conic Conformal (1SP variant B)',
'EPSG_1111_Transverse Mercator 3D',
'EPSG_9602_Geographic/geocentric conversions',
'EPSG_9659_Geographic3D to 2D conversion',
@@ -1411,75 +1412,75 @@ END;
CREATE VIEW coordinate_operation_view AS
SELECT 'grid_transformation' AS table_name, auth_name, code, name,
SELECT CAST('grid_transformation' AS TEXT) AS table_name, auth_name, code, name,
description,
method_auth_name, method_code, method_name, source_crs_auth_name,
source_crs_code, target_crs_auth_name, target_crs_code,
accuracy, deprecated FROM grid_transformation
UNION ALL
SELECT 'helmert_transformation' AS table_name, auth_name, code, name,
SELECT CAST('helmert_transformation' AS TEXT) AS table_name, auth_name, code, name,
description,
method_auth_name, method_code, method_name, source_crs_auth_name,
source_crs_code, target_crs_auth_name, target_crs_code,
accuracy, deprecated FROM helmert_transformation
UNION ALL
SELECT 'other_transformation' AS table_name, auth_name, code, name,
SELECT CAST('other_transformation' AS TEXT) AS table_name, auth_name, code, name,
description,
method_auth_name, method_code, method_name, source_crs_auth_name,
source_crs_code, target_crs_auth_name, target_crs_code,
accuracy, deprecated FROM other_transformation
UNION ALL
SELECT 'concatenated_operation' AS table_name, auth_name, code, name,
SELECT CAST('concatenated_operation' AS TEXT) AS table_name, auth_name, code, name,
description,
NULL, NULL, NULL, source_crs_auth_name,
CAST(NULL AS TEXT) as method_auth_name, CAST(NULL AS INTEGER_OR_TEXT) as method_code, CAST(NULL AS TEXT) as method_name, source_crs_auth_name,
source_crs_code, target_crs_auth_name, target_crs_code,
accuracy, deprecated FROM concatenated_operation
;
CREATE VIEW coordinate_operation_with_conversion_view AS
SELECT auth_name, code, table_name AS type FROM coordinate_operation_view UNION ALL
SELECT auth_name, code, 'conversion' FROM conversion_table;
SELECT auth_name, code, CAST('conversion' AS TEXT) FROM conversion_table;
CREATE VIEW crs_view AS
SELECT 'geodetic_crs' AS table_name, auth_name, code, name, type,
SELECT CAST('geodetic_crs' AS TEXT) AS table_name, auth_name, code, name, type,
description,
deprecated FROM geodetic_crs
UNION ALL
SELECT 'projected_crs' AS table_name, auth_name, code, name, 'projected',
SELECT CAST('projected_crs' AS TEXT) AS table_name, auth_name, code, name, CAST('projected' AS TEXT),
description,
deprecated FROM projected_crs
UNION ALL
SELECT 'vertical_crs' AS table_name, auth_name, code, name, 'vertical',
SELECT CAST('vertical_crs' AS TEXT) AS table_name, auth_name, code, name, CAST('vertical' AS TEXT),
description,
deprecated FROM vertical_crs
UNION ALL
SELECT 'compound_crs' AS table_name, auth_name, code, name, 'compound',
SELECT CAST('compound_crs' AS TEXT) AS table_name, auth_name, code, name, CAST('compound' AS TEXT),
description,
deprecated FROM compound_crs
;
CREATE VIEW object_view AS
SELECT 'unit_of_measure' AS table_name, auth_name, code, name, NULL as type, deprecated FROM unit_of_measure
SELECT CAST('unit_of_measure' AS TEXT) AS table_name, auth_name, code, name, CAST(NULL AS TEXT) as type, deprecated FROM unit_of_measure
UNION ALL
SELECT 'celestial_body', auth_name, code, name, NULL, 0 FROM celestial_body
SELECT CAST('celestial_body' AS TEXT), auth_name, code, name, CAST(NULL AS TEXT) as type, CAST(0 AS BOOLEAN) AS deprecated FROM celestial_body
UNION ALL
SELECT 'ellipsoid', auth_name, code, name, NULL, deprecated FROM ellipsoid
SELECT CAST('ellipsoid' AS TEXT), auth_name, code, name, CAST(NULL AS TEXT) as type, deprecated FROM ellipsoid
UNION ALL
SELECT 'extent', auth_name, code, name, NULL, deprecated FROM extent
SELECT CAST('extent' AS TEXT), auth_name, code, name, CAST(NULL AS TEXT) as type, deprecated FROM extent
UNION ALL
SELECT 'prime_meridian', auth_name, code, name, NULL, deprecated FROM prime_meridian
SELECT CAST('prime_meridian' AS TEXT), auth_name, code, name, CAST(NULL AS TEXT) as type, deprecated FROM prime_meridian
UNION ALL
SELECT 'geodetic_datum', auth_name, code, name, CASE WHEN ensemble_accuracy IS NOT NULL THEN 'ensemble' ELSE 'datum' END, deprecated FROM geodetic_datum
SELECT CAST('geodetic_datum' AS TEXT), auth_name, code, name, CAST(CASE WHEN ensemble_accuracy IS NOT NULL THEN 'ensemble' ELSE 'datum' END AS TEXT), deprecated FROM geodetic_datum
UNION ALL
SELECT 'vertical_datum', auth_name, code, name, CASE WHEN ensemble_accuracy IS NOT NULL THEN 'ensemble' ELSE 'datum' END, deprecated FROM vertical_datum
SELECT CAST('vertical_datum' AS TEXT), auth_name, code, name, CAST(CASE WHEN ensemble_accuracy IS NOT NULL THEN 'ensemble' ELSE 'datum' END AS TEXT), deprecated FROM vertical_datum
UNION ALL
SELECT 'axis', auth_name, code, name, NULL, 0 as deprecated FROM axis
SELECT CAST('axis' AS TEXT), auth_name, code, name, CAST(NULL AS TEXT) as type, CAST(0 AS BOOLEAN) AS deprecated FROM axis
UNION ALL
SELECT table_name, auth_name, code, name, type, deprecated FROM crs_view
UNION ALL
SELECT 'conversion', auth_name, code, name, NULL, deprecated FROM conversion_table
SELECT CAST('conversion' AS TEXT), auth_name, code, name, CAST(NULL AS TEXT) as type, deprecated FROM conversion_table
UNION ALL
SELECT table_name, auth_name, code, name, NULL, deprecated FROM coordinate_operation_view
SELECT table_name, auth_name, code, name, CAST(NULL AS TEXT) as type, deprecated FROM coordinate_operation_view
;
CREATE VIEW authority_list AS
+52 -2
View File
@@ -2103,7 +2103,7 @@ INSERT INTO "projected_crs" VALUES('EPSG','3057','ISN93 / Lambert 1993',NULL,'EP
INSERT INTO "usage" VALUES('EPSG','2075','projected_crs','EPSG','3057','EPSG','1120','EPSG','1210');
INSERT INTO "projected_crs" VALUES('EPSG','3058','Helle 1954 / Jan Mayen Grid',NULL,'EPSG','4531','EPSG','4660','EPSG','19991',NULL,0);
INSERT INTO "usage" VALUES('EPSG','2076','projected_crs','EPSG','3058','EPSG','2869','EPSG','1153');
INSERT INTO "projected_crs" VALUES('EPSG','3059','LKS92 / Latvia TM',NULL,'EPSG','4530','EPSG','4661','EPSG','19990',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','3059','LKS-92 / Latvia TM',NULL,'EPSG','4530','EPSG','4661','EPSG','19990',NULL,0);
INSERT INTO "usage" VALUES('EPSG','2077','projected_crs','EPSG','3059','EPSG','1139','EPSG','1142');
INSERT INTO "projected_crs" VALUES('EPSG','3060','IGN72 Grande Terre / UTM zone 58S',NULL,'EPSG','4400','EPSG','4662','EPSG','16158',NULL,0);
INSERT INTO "usage" VALUES('EPSG','2078','projected_crs','EPSG','3060','EPSG','2822','EPSG','1142');
@@ -7053,7 +7053,7 @@ INSERT INTO "projected_crs" VALUES('EPSG','8387','NAD83(2011) / NCRS Las Vegas h
INSERT INTO "usage" VALUES('EPSG','5816','projected_crs','EPSG','8387','EPSG','4487','EPSG','1029');
INSERT INTO "projected_crs" VALUES('EPSG','8391','GDA94 / WEIPA94',NULL,'EPSG','4400','EPSG','4283','EPSG','8389',NULL,0);
INSERT INTO "usage" VALUES('EPSG','5817','projected_crs','EPSG','8391','EPSG','4491','EPSG','1249');
INSERT INTO "projected_crs" VALUES('EPSG','8395','ETRS89 / Gauss-Kruger CM 9E',NULL,'EPSG','4400','EPSG','4258','EPSG','16302',NULL,0);
INSERT INTO "projected_crs" VALUES('EPSG','8395','ETRS89 / Gauss-Kruger CM 9E',NULL,'EPSG','4400','EPSG','4258','EPSG','16302',NULL,1);
INSERT INTO "usage" VALUES('EPSG','5818','projected_crs','EPSG','8395','EPSG','4490','EPSG','1143');
INSERT INTO "projected_crs" VALUES('EPSG','8433','Macao 1920 / Macao Grid',NULL,'EPSG','4500','EPSG','8428','EPSG','8432',NULL,0);
INSERT INTO "usage" VALUES('EPSG','5830','projected_crs','EPSG','8433','EPSG','1147','EPSG','1055');
@@ -7301,6 +7301,8 @@ INSERT INTO "projected_crs" VALUES('EPSG','9494','SRGI2013 / UTM zone 54S',NULL,
INSERT INTO "usage" VALUES('EPSG','14172','projected_crs','EPSG','9494','EPSG','1663','EPSG','1266');
INSERT INTO "projected_crs" VALUES('EPSG','9498','POSGAR 2007 / CABA 2019',NULL,'EPSG','4530','EPSG','5340','EPSG','9497',NULL,0);
INSERT INTO "usage" VALUES('EPSG','14513','projected_crs','EPSG','9498','EPSG','4610','EPSG','1056');
INSERT INTO "projected_crs" VALUES('EPSG','9549','LTF2004(C)',NULL,'EPSG','4400','EPSG','9547','EPSG','9548',NULL,0);
INSERT INTO "usage" VALUES('EPSG','14928','projected_crs','EPSG','9549','EPSG','4613','EPSG','1271');
INSERT INTO "projected_crs" VALUES('EPSG','9674','NAD83 / USFS R6 Albers',NULL,'EPSG','4400','EPSG','4269','EPSG','9673',NULL,0);
INSERT INTO "usage" VALUES('EPSG','14787','projected_crs','EPSG','9674','EPSG','2381','EPSG','1165');
INSERT INTO "projected_crs" VALUES('EPSG','9678','Gulshan 303 / Bangladesh Transverse Mercator',NULL,'EPSG','4400','EPSG','4682','EPSG','9677',NULL,0);
@@ -7447,6 +7449,8 @@ INSERT INTO "projected_crs" VALUES('EPSG','9972','SCM22 Grid',NULL,'EPSG','4400'
INSERT INTO "usage" VALUES('EPSG','17441','projected_crs','EPSG','9972','EPSG','4665','EPSG','1141');
INSERT INTO "projected_crs" VALUES('EPSG','9977','FNL22 Grid',NULL,'EPSG','4400','EPSG','9974','EPSG','9976',NULL,0);
INSERT INTO "usage" VALUES('EPSG','17456','projected_crs','EPSG','9977','EPSG','4664','EPSG','1141');
INSERT INTO "projected_crs" VALUES('EPSG','10160','S34J reconstruction east-orientated',NULL,'EPSG','4400','EPSG','10158','EPSG','10159',NULL,0);
INSERT INTO "usage" VALUES('EPSG','19661','projected_crs','EPSG','10160','EPSG','2531','EPSG','1028');
INSERT INTO "projected_crs" VALUES('EPSG','10183','DoPw22 Grid',NULL,'EPSG','4400','EPSG','10175','EPSG','10182',NULL,0);
INSERT INTO "usage" VALUES('EPSG','18655','projected_crs','EPSG','10183','EPSG','4686','EPSG','1141');
INSERT INTO "projected_crs" VALUES('EPSG','10188','ShAb07 Grid',NULL,'EPSG','4400','EPSG','10185','EPSG','10187',NULL,0);
@@ -7469,10 +7473,48 @@ INSERT INTO "projected_crs" VALUES('EPSG','10235','OxWo08 Grid',NULL,'EPSG','440
INSERT INTO "usage" VALUES('EPSG','18786','projected_crs','EPSG','10235','EPSG','4680','EPSG','1141');
INSERT INTO "projected_crs" VALUES('EPSG','10240','SYC20 Grid',NULL,'EPSG','4400','EPSG','10237','EPSG','10239',NULL,0);
INSERT INTO "usage" VALUES('EPSG','18788','projected_crs','EPSG','10240','EPSG','4679','EPSG','1141');
INSERT INTO "projected_crs" VALUES('EPSG','10250','S34S reconstruction east-orientated',NULL,'EPSG','4400','EPSG','10249','EPSG','10159',NULL,0);
INSERT INTO "usage" VALUES('EPSG','19665','projected_crs','EPSG','10250','EPSG','2532','EPSG','1028');
INSERT INTO "projected_crs" VALUES('EPSG','10254','S45B reconstruction east-orientated',NULL,'EPSG','4400','EPSG','10252','EPSG','10253',NULL,0);
INSERT INTO "usage" VALUES('EPSG','19674','projected_crs','EPSG','10254','EPSG','2533','EPSG','1028');
INSERT INTO "projected_crs" VALUES('EPSG','10258','GS reconstruction east-orientated',NULL,'EPSG','4400','EPSG','10256','EPSG','10257',NULL,0);
INSERT INTO "usage" VALUES('EPSG','19709','projected_crs','EPSG','10258','EPSG','4575','EPSG','1153');
INSERT INTO "projected_crs" VALUES('EPSG','10262','GSB reconstruction east-orientated',NULL,'EPSG','4400','EPSG','10260','EPSG','10261',NULL,0);
INSERT INTO "usage" VALUES('EPSG','19685','projected_crs','EPSG','10262','EPSG','2533','EPSG','1180');
INSERT INTO "projected_crs" VALUES('EPSG','10266','KK reconstruction east-orientated',NULL,'EPSG','4400','EPSG','10265','EPSG','10257',NULL,0);
INSERT INTO "usage" VALUES('EPSG','19710','projected_crs','EPSG','10266','EPSG','4693','EPSG','1153');
INSERT INTO "projected_crs" VALUES('EPSG','10270','Ostenfeld reconstruction',NULL,'EPSG','4400','EPSG','10268','EPSG','10269',NULL,0);
INSERT INTO "usage" VALUES('EPSG','19698','projected_crs','EPSG','10270','EPSG','4694','EPSG','1028');
INSERT INTO "projected_crs" VALUES('EPSG','10275','SMITB20 Grid',NULL,'EPSG','4400','EPSG','10272','EPSG','10274',NULL,0);
INSERT INTO "usage" VALUES('EPSG','19178','projected_crs','EPSG','10275','EPSG','4688','EPSG','1141');
INSERT INTO "projected_crs" VALUES('EPSG','10280','RBEPP12 Grid',NULL,'EPSG','4400','EPSG','10277','EPSG','10279',NULL,0);
INSERT INTO "usage" VALUES('EPSG','19184','projected_crs','EPSG','10280','EPSG','4689','EPSG','1141');
INSERT INTO "projected_crs" VALUES('EPSG','10285','ETRS89/DREF91/2016 / 3-degree Gauss-Kruger zone 3',NULL,'EPSG','4400','EPSG','10284','EPSG','16263',NULL,0);
INSERT INTO "usage" VALUES('EPSG','19567','projected_crs','EPSG','10285','EPSG','4490','EPSG','1029');
INSERT INTO "projected_crs" VALUES('EPSG','10286','ETRS89/DREF91/2016 / UTM zone 31N (N-zE)',NULL,'EPSG','4500','EPSG','10284','EPSG','5647',NULL,0);
INSERT INTO "usage" VALUES('EPSG','19247','projected_crs','EPSG','10286','EPSG','2860','EPSG','1056');
INSERT INTO "projected_crs" VALUES('EPSG','10287','ETRS89/DREF91/2016 / UTM zone 31N (zE-N)',NULL,'EPSG','4400','EPSG','10284','EPSG','5647',NULL,0);
INSERT INTO "usage" VALUES('EPSG','19248','projected_crs','EPSG','10287','EPSG','2860','EPSG','1056');
INSERT INTO "projected_crs" VALUES('EPSG','10288','ETRS89/DREF91/2016 / UTM zone 32N (N-zE)',NULL,'EPSG','4500','EPSG','10284','EPSG','4648',NULL,0);
INSERT INTO "usage" VALUES('EPSG','19249','projected_crs','EPSG','10288','EPSG','2861','EPSG','1056');
INSERT INTO "projected_crs" VALUES('EPSG','10289','ETRS89/DREF91/2016 / UTM zone 32N (zE-N)',NULL,'EPSG','4400','EPSG','10284','EPSG','4648',NULL,0);
INSERT INTO "usage" VALUES('EPSG','19250','projected_crs','EPSG','10289','EPSG','2861','EPSG','1056');
INSERT INTO "projected_crs" VALUES('EPSG','10290','ETRS89/DREF91/2016 / UTM zone 33N (N-zE)',NULL,'EPSG','4500','EPSG','10284','EPSG','5648',NULL,0);
INSERT INTO "usage" VALUES('EPSG','19251','projected_crs','EPSG','10290','EPSG','2862','EPSG','1056');
INSERT INTO "projected_crs" VALUES('EPSG','10291','ETRS89/DREF91/2016 / UTM zone 33N (zE-N)',NULL,'EPSG','4400','EPSG','10284','EPSG','5648',NULL,0);
INSERT INTO "usage" VALUES('EPSG','19252','projected_crs','EPSG','10291','EPSG','2862','EPSG','1056');
INSERT INTO "projected_crs" VALUES('EPSG','10306','LKS-2020 / Latvia TM',NULL,'EPSG','4530','EPSG','10305','EPSG','19990',NULL,0);
INSERT INTO "usage" VALUES('EPSG','19561','projected_crs','EPSG','10306','EPSG','1139','EPSG','1056');
INSERT INTO "projected_crs" VALUES('EPSG','10314','RGNC15 / Lambert New Caledonia 2015',NULL,'EPSG','4400','EPSG','10310','EPSG','10313',NULL,0);
INSERT INTO "usage" VALUES('EPSG','19643','projected_crs','EPSG','10314','EPSG','3430','EPSG','1142');
INSERT INTO "projected_crs" VALUES('EPSG','10315','RGNC15 / UTM zone 57S',NULL,'EPSG','4400','EPSG','10310','EPSG','16157',NULL,0);
INSERT INTO "usage" VALUES('EPSG','19648','projected_crs','EPSG','10315','EPSG','3431','EPSG','1142');
INSERT INTO "projected_crs" VALUES('EPSG','10316','RGNC15 / UTM zone 58S',NULL,'EPSG','4400','EPSG','10310','EPSG','16158',NULL,0);
INSERT INTO "usage" VALUES('EPSG','19649','projected_crs','EPSG','10316','EPSG','3432','EPSG','1142');
INSERT INTO "projected_crs" VALUES('EPSG','10317','RGNC15 / UTM zone 59S',NULL,'EPSG','4400','EPSG','10310','EPSG','16159',NULL,0);
INSERT INTO "usage" VALUES('EPSG','19650','projected_crs','EPSG','10317','EPSG','3433','EPSG','1142');
INSERT INTO "projected_crs" VALUES('EPSG','10329','BH_ETRS89 / TM',NULL,'EPSG','4500','EPSG','10328','EPSG','10325',NULL,0);
INSERT INTO "usage" VALUES('EPSG','19776','projected_crs','EPSG','10329','EPSG','1050','EPSG','1056');
INSERT INTO "projected_crs" VALUES('EPSG','11114','MAGNA-SIRGAS 2018 / Colombia Far West zone',NULL,'EPSG','4500','EPSG','20046','EPSG','18065',NULL,0);
INSERT INTO "usage" VALUES('EPSG','18947','projected_crs','EPSG','11114','EPSG','3091','EPSG','1142');
INSERT INTO "projected_crs" VALUES('EPSG','11115','MAGNA-SIRGAS 2018 / Colombia West zone',NULL,'EPSG','4500','EPSG','20046','EPSG','18066',NULL,0);
@@ -8244,6 +8286,14 @@ INSERT INTO "projected_crs" VALUES('EPSG','22221','NAD83(CSRS)v2 / UTM zone 21N'
INSERT INTO "usage" VALUES('EPSG','17994','projected_crs','EPSG','22221','EPSG','2151','EPSG','1142');
INSERT INTO "projected_crs" VALUES('EPSG','22222','NAD83(CSRS)v2 / UTM zone 22N',NULL,'EPSG','4400','EPSG','8237','EPSG','16022',NULL,0);
INSERT INTO "usage" VALUES('EPSG','17995','projected_crs','EPSG','22222','EPSG','2152','EPSG','1142');
INSERT INTO "projected_crs" VALUES('EPSG','22229','RGSH2020 / UTM zone 29N',NULL,'EPSG','4400','EPSG','10299','EPSG','16029',NULL,0);
INSERT INTO "usage" VALUES('EPSG','19537','projected_crs','EPSG','22229','EPSG','1735','EPSG','1136');
INSERT INTO "projected_crs" VALUES('EPSG','22230','RGSH2020 / UTM zone 30N',NULL,'EPSG','4400','EPSG','10299','EPSG','16030',NULL,0);
INSERT INTO "usage" VALUES('EPSG','19538','projected_crs','EPSG','22230','EPSG','3952','EPSG','1136');
INSERT INTO "projected_crs" VALUES('EPSG','22231','RGSH2020 / UTM zone 31N',NULL,'EPSG','4400','EPSG','10299','EPSG','16031',NULL,0);
INSERT INTO "usage" VALUES('EPSG','19539','projected_crs','EPSG','22231','EPSG','3953','EPSG','1136');
INSERT INTO "projected_crs" VALUES('EPSG','22232','RGSH2020 / UTM zone 32N',NULL,'EPSG','4400','EPSG','10299','EPSG','16032',NULL,0);
INSERT INTO "usage" VALUES('EPSG','19541','projected_crs','EPSG','22232','EPSG','3954','EPSG','1136');
INSERT INTO "projected_crs" VALUES('EPSG','22234','Cape / UTM zone 34S',NULL,'EPSG','4400','EPSG','4222','EPSG','16134',NULL,0);
INSERT INTO "usage" VALUES('EPSG','6361','projected_crs','EPSG','22234','EPSG','1615','EPSG','1142');
INSERT INTO "projected_crs" VALUES('EPSG','22235','Cape / UTM zone 35S',NULL,'EPSG','4400','EPSG','4222','EPSG','16135',NULL,0);
+1
View File
@@ -278,3 +278,4 @@ INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','15888','grid_
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','15887','grid_transformation','EPSG','9329','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','15890','helmert_transformation','EPSG','15883','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','15891','helmert_transformation','EPSG','15884','EPSG',1);
INSERT INTO "supersession" VALUES('helmert_transformation','EPSG','5660','helmert_transformation','EPSG','10296','EPSG',1);
+3 -1
View File
@@ -349,7 +349,7 @@ INSERT INTO "usage" VALUES('EPSG','5439','vertical_crs','EPSG','7707','EPSG','43
INSERT INTO "vertical_crs" VALUES('EPSG','7832','POM96 height',NULL,'EPSG','6499','EPSG','1171',0);
INSERT INTO "usage" VALUES('EPSG','5497','vertical_crs','EPSG','7832','EPSG','4425','EPSG','1029');
INSERT INTO "vertical_crs" VALUES('EPSG','7837','DHHN2016 height',NULL,'EPSG','6499','EPSG','1170',0);
INSERT INTO "usage" VALUES('EPSG','5498','vertical_crs','EPSG','7837','EPSG','3339','EPSG','1178');
INSERT INTO "usage" VALUES('EPSG','5498','vertical_crs','EPSG','7837','EPSG','1103','EPSG','1178');
INSERT INTO "vertical_crs" VALUES('EPSG','7839','NZVD2016 height',NULL,'EPSG','6499','EPSG','1169',0);
INSERT INTO "usage" VALUES('EPSG','5499','vertical_crs','EPSG','7839','EPSG','1175','EPSG','1178');
INSERT INTO "vertical_crs" VALUES('EPSG','7841','POM08 height',NULL,'EPSG','6499','EPSG','1172',0);
@@ -470,6 +470,8 @@ INSERT INTO "vertical_crs" VALUES('EPSG','10150','MSL UK & Ireland VORF08 depth'
INSERT INTO "usage" VALUES('EPSG','18584','vertical_crs','EPSG','10150','EPSG','4668','EPSG','1198');
INSERT INTO "vertical_crs" VALUES('EPSG','10151','CD UK & Ireland VORF08 depth',NULL,'EPSG','6498','EPSG','1331',0);
INSERT INTO "usage" VALUES('EPSG','18583','vertical_crs','EPSG','10151','EPSG','4668','EPSG','1198');
INSERT INTO "vertical_crs" VALUES('EPSG','10190','NGA 2022 height',NULL,'EPSG','6499','EPSG','1354',0);
INSERT INTO "usage" VALUES('EPSG','19483','vertical_crs','EPSG','10190','EPSG','3213','EPSG','1026');
INSERT INTO "vertical_crs" VALUES('EPSG','20000','SVD2006 height',NULL,'EPSG','6499','EPSG','1323',0);
INSERT INTO "usage" VALUES('EPSG','17962','vertical_crs','EPSG','20000','EPSG','4058','EPSG','1180');
INSERT INTO "vertical_crs" VALUES('EPSG','20034','CGVD2013a(2002) height',NULL,'EPSG','6499','EPSG','1325',0);
+3 -1
View File
@@ -121,7 +121,7 @@ INSERT INTO "usage" VALUES('EPSG','13216','vertical_datum','EPSG','1164','EPSG',
INSERT INTO "vertical_datum" VALUES('EPSG','1169','New Zealand Vertical Datum 2016',NULL,'2016-06-27',NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('EPSG','13221','vertical_datum','EPSG','1169','EPSG','1175','EPSG','1178');
INSERT INTO "vertical_datum" VALUES('EPSG','1170','Deutsches Haupthoehennetz 2016',NULL,'2016-01-01',NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('EPSG','13222','vertical_datum','EPSG','1170','EPSG','3339','EPSG','1178');
INSERT INTO "usage" VALUES('EPSG','13222','vertical_datum','EPSG','1170','EPSG','1103','EPSG','1178');
INSERT INTO "vertical_datum" VALUES('EPSG','1171','Port Moresby 1996',NULL,'1996-01-01',NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('EPSG','13223','vertical_datum','EPSG','1171','EPSG','4425','EPSG','1029');
INSERT INTO "vertical_datum" VALUES('EPSG','1172','Port Moresby 2008',NULL,'2008-01-01',NULL,NULL,NULL,0);
@@ -244,6 +244,8 @@ INSERT INTO "vertical_datum" VALUES('EPSG','1330','Mean Sea Level UK & Ireland V
INSERT INTO "usage" VALUES('EPSG','18593','vertical_datum','EPSG','1330','EPSG','4668','EPSG','1198');
INSERT INTO "vertical_datum" VALUES('EPSG','1331','Chart Datum UK & Ireland VORF08',NULL,'2008-01-01',NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('EPSG','18581','vertical_datum','EPSG','1331','EPSG','4668','EPSG','1198');
INSERT INTO "vertical_datum" VALUES('EPSG','1354','Nivellement General de l''Algerie 2022',NULL,'2022-11-30',NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('EPSG','19359','vertical_datum','EPSG','1354','EPSG','3213','EPSG','1026');
INSERT INTO "vertical_datum" VALUES('EPSG','5100','Mean Sea Level',NULL,NULL,NULL,NULL,NULL,0);
INSERT INTO "usage" VALUES('EPSG','13307','vertical_datum','EPSG','5100','EPSG','1262','EPSG','1199');
INSERT INTO "vertical_datum" VALUES('EPSG','5101','Ordnance Datum Newlyn',NULL,'1956-01-01',NULL,NULL,NULL,0);
Binary file not shown.
@@ -15,7 +15,7 @@ jobs:
shell: bash -l {0}
steps:
- name: Checkout
uses: actions/checkout@v2
uses: actions/checkout@v3
- name: Install PROJ build dependencies
run: |
@@ -49,7 +49,7 @@ jobs:
export PROJ_DATA=/opt/proj/share/proj
./plot.py plotdefs.json images/
- uses: actions/upload-artifact@v2
- uses: actions/upload-artifact@v3
with:
name: Images
path: docs/plot/images
@@ -62,10 +62,16 @@ jobs:
runs-on: ubuntu-latest
strategy:
fail-fast: true
container: osgeo/proj-docs
container: ghcr.io/osgeo/proj-docs
steps:
- uses: actions/checkout@v2
- name: Pin sphinx version
# Avoid https://github.com/sphinx-doc/sphinx/issues/11163
shell: bash -l {0}
run: |
python3 -m pip install --user "sphinx==6.0.1"
- uses: actions/checkout@v3
- name: Print versions
shell: bash -l {0}
run: |
@@ -73,7 +79,7 @@ jobs:
sphinx-build --version
python3 -m pip list --not-required --format=columns
- uses: actions/download-artifact@v2
- uses: actions/download-artifact@v3
name: Images
with:
name: Images
@@ -103,15 +109,15 @@ jobs:
run: |
make spelling
working-directory: ./docs
- uses: actions/upload-artifact@v2
- uses: actions/upload-artifact@v3
with:
name: PDF
path: docs/build/latex/proj.pdf
- uses: actions/upload-artifact@v2
- uses: actions/upload-artifact@v3
with:
name: HTML
path: docs/build/html/*
- uses: actions/upload-artifact@v2
- uses: actions/upload-artifact@v3
with:
name: Misspelled
path: docs/build/spelling/output.txt
+1 -1
View File
@@ -4,5 +4,5 @@ From the base PROJ repository directory:
```bash
cd docs
docker run -i -t -v $PWD/..:/io -w /io/docs/ osgeo/proj-docs make html
docker run -i -t -v $PWD/..:/io -w /io/docs/ ghcr.io/osgeo/proj-docs make html
```
+1 -2
View File
@@ -2,10 +2,9 @@ name: proj
channels:
- conda-forge
dependencies:
- descartes
- geojson
- matplotlib
- shapely < 1.8
- shapely >= 2
- pip
- pip:
- breathe
-2
View File
@@ -1,2 +0,0 @@
python3 figure_captions.py plotdefs.json ../source/operations/projections/
-79
View File
@@ -1,79 +0,0 @@
import sys
import os
import json
import pathlib
import re
def update_caption(image_filename, proj_string, doc_directory,
doc_extension='rst'):
"""
Update the figure caption with a proj-string
This function assumes that within the "doc_directory" there is a file with
the same basename as the "image_filename" (e.g. for the image "aea.png",
the function will assume that there is a documentation file "aea.rst").
Within that documentation file, the function will try to find a section
starting with "..figure:: ./images/" and ending with a line like
" proj-string:...".
This line will be replaced with something like
" proj-string: ``+proj=aea``"
:param filename: The name of the image that's used in the documentation
:param proj_string: The proj-string that was used to generate the image
:param doc_directory: The directory containing the projection documentation .rst files
:return:
"""
basename, image_extension = os.path.splitext(image_filename)
doc_path = os.path.join(doc_directory, basename + os.extsep + doc_extension)
p = pathlib.Path(doc_path)
if p.is_file():
replacement_string = r'\1 proj-string: ``{}``\2'.format(proj_string)
new_doc_content = re.sub(
r'(\.\. figure\:\: \.\/images\/.*?^)[ \t]*proj-string.*?($)',
replacement_string,
p.read_text(),
flags=re.MULTILINE + re.DOTALL)
p.write_text(new_doc_content)
else:
print("File {} not found.".format(doc_path))
def main():
"""
Main function of caption replacement script.
Parses json-file with plot setups and runs the caption replacement
for each plot setup.
"""
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 projections documentation directory
outdir = sys.argv[2]
for i, plotdef in enumerate(plotdefs):
if plots != [] and plotdef['name'] not in plots:
continue
print(i, plotdef['projstring'])
if 'skip' in plotdef.keys():
print('skipping')
continue
update_caption(plotdef['name'],
plotdef['projstring'],
outdir)
if __name__ == "__main__":
sys.exit(main())
-3
View File
@@ -1,3 +0,0 @@
# Use Imagemagick to convert all images to grayscale,
# printing progress information
mogrify -monitor -colorspace Gray *.png
+208 -259
View File
@@ -1,5 +1,5 @@
#!/usr/bin/env python3
'''
"""
Plot map data in different projections supported by PROJ.
Call with:
@@ -40,174 +40,132 @@ or "line". The rest of the inputs are fairly free form.
Change PROJ to path on your local system before running the script.
'''
"""
import argparse
import json
import os
import shutil
import sys
import json
import subprocess
import functools
import sys
from pathlib import Path
import geojson
import numpy as np
import matplotlib.pyplot as plt
from shapely.geometry import MultiPolygon, Polygon, box as Box
import numpy as np
import shapely
from shapely.geometry import box as Box
from shapely.geometry import shape
from shapely.ops import transform
from descartes import PolygonPatch
PROJ_COMMAND = os.environ.get('PROJ_EXE', '../../src/proj')
try:
from shapely.plotting import patch_from_polygon
except ImportError:
raise ImportError("shapely>=2 required")
PROJ_COMMAND = os.environ.get("PROJ_EXE", "../../src/proj")
if not os.path.exists(PROJ_COMMAND):
PROJ = shutil.which('proj')
PROJ = shutil.which("proj")
if PROJ is None:
raise ValueError("specify PROJ_EXE or modify PATH to find proj")
raise FileNotFoundError("specify PROJ_EXE or modify PATH to find proj")
else:
PROJ = PROJ_COMMAND
PROJ_DATA = os.environ.get('PROJ_DATA', os.environ.get('PROJ_LIB', '../../data'))
LINE_LOW = 'data/coastline.geojson'
LINE_MED = 'data/coastline50.geojson'
POLY_LOW = 'data/land.geojson'
POLY_MED = 'data/land50.geojson'
PROJ_DATA = os.environ.get("PROJ_DATA", os.environ.get("PROJ_LIB", "../../data"))
PROJ_ENV = {
"PROJ_DATA": os.path.abspath(PROJ_DATA),
"PROJ_LIB": os.path.abspath(PROJ_DATA),
}
LINE_LOW = "data/coastline.geojson"
LINE_MED = "data/coastline50.geojson"
POLY_LOW = "data/land.geojson"
POLY_MED = "data/land50.geojson"
GRATICULE_WIDTH = 15
N_POINTS = 1000
# colors
COLOR_LAND = '#000000'
COLOR_COAST = '#000000'
COLOR_GRAT = '#888888'
COLOR_LAND = "#000000"
COLOR_COAST = "#000000"
COLOR_GRAT = "#888888"
def interp_coords(coords, tol):
'''
Interpolates extra coordinates when the euclidean distance between adjacent
points are larger than given tolerance.
def run_proj_cmd(args=[], **kwargs):
"""Run PROJ command with optional args.
The function tries to densify a list of coordinates based on a simple measure.
If two adjacent points in the input coordinate list are further away from each
other than the specified tolerance, the list will be densified between those two
points. Roughly speaking, a point will be inserted every `tol` between the
points.
Parameters
----------
args : list
Zero or more arguments.
**kwargs : dict
Passed to ``subprocess.run``.
Inputs:
Returns
-------
coords: 2xN numpy array with geodetic coordinates
tol: Euclidean distance tolerance.
subprocess.CompletedProcess
"""
args = [PROJ] + args
proc = subprocess.run(args, capture_output=True, env=PROJ_ENV, **kwargs)
proc.check_returncode()
return proc
Returns:
--------
A densified numpy array of coordinates. If tol < 0 the input array is returned
unchanged.
'''
if tol < 0:
return coords
x, y = coords
x = np.array(x)
y = np.array(y)
dsts = np.hypot(np.diff(x), np.diff(y))
# Points to the *beginning* of the segment.
I = np.where(dsts > tol)[0]
offset = 0
xy = []
for i in I:
# Add points that are already below tolerance.
xy.append((x[offset:i], y[offset:i]))
# Interpolate between points above tolerance.
n = int(np.ceil(dsts[i] / tol))
x1 = np.linspace(x[i], x[i + 1], n + 1)
y1 = np.linspace(y[i], y[i + 1], n + 1)
xy.append((x1[:-1], y1[:-1]))
offset = i + 1
xy.append((x[offset:], y[offset:]))
xy = np.concatenate(xy, axis=1)
return xy.T
def geojson2geom_array(file):
"""Read GeoJSON file, return array of geometries."""
features = geojson.loads(Path(file).read_text())["features"]
return np.fromiter((shape(feat["geometry"]) for feat in features), object)
def project(coordinates, proj_string, in_radians=False):
'''
Project geographical coordinates
"""Project geographical coordinates.
Input:
------
coordinates: numpy ndarray of size (N,2) and type double.
longitude, latitude
proj_string: Definition of output projection
Parameters
----------
coordinates : array_like
NumPy ndarray of size (N, 2) describing longitude, latitude.
proj_string : str
Definition of output projection.
Out:
----
numpy ndarray with shape (N,2) with N pairs of 2D
Returns
-------
array_like
NumPy ndarray with shape (N, 2) with N pairs of 2D
coordinates (x, y).
'''
"""
# proj expects binary input to be in radians
if not in_radians:
coordinates = np.deg2rad(coordinates)
coordinates = coordinates.astype(np.double, copy=False)
coordinates = np.deg2rad(coordinates, order="C", dtype=np.float64)
else:
coordinates = coordinates.astype(np.float64, order="C", copy=False)
# set up cmd call. -b for binary in/out
args = [PROJ, '-b']
args.extend(proj_string.split(' '))
args = ["-b"] + proj_string.split(" ")
proc = run_proj_cmd(args, input=coordinates.tobytes(order="C"))
try:
proc = subprocess.Popen(args, stdin=subprocess.PIPE, stdout=subprocess.PIPE,
env={'PROJ_DATA': os.path.abspath(PROJ_DATA),
'PROJ_LIB': os.path.abspath(PROJ_DATA)})
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'))
out = np.frombuffer(stdout, dtype=np.double)
out = np.frombuffer(proc.stdout, dtype=np.float64)
return np.reshape(out, (-1, 2))
def project_xy(x, y, proj_string):
'''
Wrapper for project() that works with shapely.ops.transform().
'''
a = project(np.column_stack((x, y)), proj_string)
return a.T
def project_geoms(geoms, proj_string):
"""Projects array of geometries."""
in_coords = shapely.get_coordinates(geoms)
pj_coords = project(in_coords, proj_string=proj_string)
return shapely.set_coordinates(geoms.copy(), pj_coords)
def meridian(longitude, lat_min, lat_max):
'''
Calculate meridian coordinates.
'''
coords = np.zeros((N_POINTS, 2))
coords[:, 0] = longitude
coords[:, 1] = np.linspace(lat_min, lat_max, N_POINTS)
return coords
"""Return LineString for a meridian."""
lons = np.repeat(longitude, N_POINTS)
lats = np.linspace(lat_min, lat_max, N_POINTS)
return shapely.linestrings(np.stack((lons, lats)).T)
def parallel(lat, lon_min, lon_max):
'''
Calculate parallel coordinates.
'''
coords = np.zeros((N_POINTS, 2))
coords[:, 0] = np.linspace(lon_min, lon_max, N_POINTS)
coords[:, 1] = lat
return coords
"""Return LineString for a parallel."""
lons = np.linspace(lon_min, lon_max, N_POINTS)
lats = np.repeat(lat, N_POINTS)
return shapely.linestrings(np.stack((lons, lats)).T)
def build_graticule(lonmin=-180, lonmax=180, latmin=-85, latmax=85):
'''
Build graticule
'''
"""Return array of LineString for graticule."""
# we might get unwanted floats
lonmin = int(lonmin)
lonmax = int(lonmax)
@@ -215,163 +173,136 @@ def build_graticule(lonmin=-180, lonmax=180, latmin=-85, latmax=85):
latmax = int(latmax)
graticule = []
for longitude in range(lonmin, lonmax+1, GRATICULE_WIDTH):
for longitude in range(lonmin, lonmax + 1, GRATICULE_WIDTH):
graticule.append(meridian(longitude, latmin, latmax))
for lat in range(latmin, latmax+1, GRATICULE_WIDTH):
for lat in range(latmin, latmax + 1, GRATICULE_WIDTH):
graticule.append(parallel(lat, lonmin, lonmax))
return graticule
def resample_polygon(polygon):
'''
Use interp_coords() to resample (multi)polygons.
'''
try:
xy = polygon.exterior.coords.xy
except AttributeError: #no xy's
return polygon
ext = interp_coords(xy, 2)
# interiors
rings = []
for int_ring in polygon.interiors:
rings.append(interp_coords(int_ring.coords.xy, 2))
return Polygon(ext, rings)
return np.array(graticule)
def plot_with_interruptions(axes, x, y, delta_cut=1e100, **kwargs):
"""
Plot x/y with proper splitting for interrupted projections.
"""
"""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()
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)
axes.plot(x[last_part:part], y[last_part:part], **kwargs)
last_part = part
def plotproj(plotdef, data, outdir):
'''
Plot map.
'''
def plotproj(plotdef, geoms, outdir):
"""Plot map."""
axes = plt.axes()
box = Box(
plotdef['lonmin'], plotdef['latmin'],
plotdef['lonmax'], plotdef['latmax'])
for feat in data["features"]:
geom = shape(feat["geometry"])
if not geom.intersects(box):
continue
temp_pol = geom.intersection(box)
if plotdef['type'] == 'poly':
if isinstance(temp_pol, MultiPolygon):
polys = [resample_polygon(polygon) for polygon in temp_pol.geoms]
pol = MultiPolygon(polys)
else:
pol = resample_polygon(temp_pol)
else:
pol = temp_pol
trans = functools.partial(project_xy, proj_string=plotdef['projstring'])
proj_geom = transform(trans, pol)
if plotdef['type'] == 'poly':
try:
patch = PolygonPatch(proj_geom, fc=COLOR_LAND, zorder=0)
axes.add_patch(patch)
except TypeError:
pass
else:
x, y = proj_geom.xy
plot_with_interruptions(axes, x, y, color=COLOR_COAST, linewidth=0.5,
delta_cut=plotdef.get('delta_cut', 1e100))
# Plot frame
frame = [
parallel(plotdef['latmin'], plotdef['lonmin'], plotdef['lonmax']),
parallel(plotdef['latmax'], plotdef['lonmin'], plotdef['lonmax']),
]
for line in frame:
line = project(line, plotdef['projstring'])
x = line[:, 0]
y = line[:, 1]
plot_with_interruptions(axes, x, y, color='black', linestyle='-',
delta_cut=plotdef.get('delta_cut', 1e6))
graticule = build_graticule(
plotdef['lonmin'],
plotdef['lonmax'],
plotdef['latmin'],
plotdef['latmax'],
plotdef["lonmin"], plotdef["latmin"], plotdef["lonmax"], plotdef["latmax"]
)
# Filter to geometries that intersect the bounds; evaluate intersection
geoms = geoms[box.intersects(geoms)]
geoms = box.intersection(geoms)
# Add extra vertices for segments greater than 2.0 degrees
geoms = shapely.segmentize(geoms, 2.0)
# Reproject all geometries
geoms = project_geoms(geoms, proj_string=plotdef["projstring"])
# Plot each geometry
for geom in geoms:
if plotdef["type"] == "poly":
patch = patch_from_polygon(geom, color=COLOR_LAND, zorder=0)
axes.add_patch(patch)
else:
plot_with_interruptions(
axes,
*geom.xy,
color=COLOR_COAST,
linewidth=0.5,
delta_cut=plotdef.get("delta_cut", 1e100),
)
# Plot frame
frame = np.array(
[
parallel(plotdef["latmin"], plotdef["lonmin"], plotdef["lonmax"]),
parallel(plotdef["latmax"], plotdef["lonmin"], plotdef["lonmax"]),
]
)
frame = project_geoms(frame, proj_string=plotdef["projstring"])
for line in frame:
plot_with_interruptions(
axes,
*line.xy,
color="black",
linestyle="-",
delta_cut=plotdef.get("delta_cut", 1e6),
)
# Plot graticule
for feature in graticule:
feature = project(feature, plotdef['projstring'])
x = feature[:, 0]
y = feature[:, 1]
plot_with_interruptions(axes, x, y, color=COLOR_GRAT, linewidth=0.4,
delta_cut=plotdef.get('delta_cut', 1e6))
graticule = build_graticule(
plotdef["lonmin"],
plotdef["lonmax"],
plotdef["latmin"],
plotdef["latmax"],
)
graticule = project_geoms(graticule, proj_string=plotdef["projstring"])
for line in graticule:
plot_with_interruptions(
axes,
*line.xy,
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 longitude in plotdef['top_interrupted_lons']:
if "top_interrupted_lons" in plotdef:
for longitude in plotdef["top_interrupted_lons"]:
for delta in [-0.0001, 0.0001]:
merid = meridian(longitude + delta, 0.0, plotdef['latmax'])
interrupted_lines.append(project(merid, plotdef['projstring']))
merid = meridian(longitude + delta, 0.0, plotdef["latmax"])
interrupted_lines.append(merid)
if 'bottom_interrupted_lons' in plotdef:
for longitude in plotdef['bottom_interrupted_lons']:
if "bottom_interrupted_lons" in plotdef:
for longitude in plotdef["bottom_interrupted_lons"]:
for delta in [-0.0001, 0.0001]:
merid = meridian(longitude + delta, plotdef['latmin'], 0)
interrupted_lines.append(project(merid, plotdef['projstring']))
merid = meridian(longitude + delta, plotdef["latmin"], 0)
interrupted_lines.append(merid)
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))
if interrupted_lines:
interrupted_lines = project_geoms(
np.array(interrupted_lines), proj_string=plotdef["projstring"]
)
for line in interrupted_lines:
plot_with_interruptions(
axes,
*line.xy,
color=COLOR_GRAT,
linewidth=0.4,
delta_cut=plotdef.get("delta_cut", 1e100),
)
# Switch off the axis lines...
plt.axis('off')
plt.axis("off")
# ... and additionally switch off the visibility of the axis lines and
# labels so they can be removed by "bbox_inches='tight'" when saving
axes.get_xaxis().set_visible(False)
axes.get_yaxis().set_visible(False)
font = {
'family': 'serif',
'color': 'black',
'style': 'italic',
'size': 12
}
# Make sure the plot is not stretched
axes.set_aspect('equal')
axes.set_aspect("equal")
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')
plt.savefig(outdir / plotdef["filename"], dpi=400, bbox_inches="tight")
# Clean up
axes = None
@@ -380,46 +311,64 @@ def plotproj(plotdef, data, outdir):
def main(plotdefs, outdir, plots=[]):
'''
Main function of plotting script.
"""Run main function of plotting script.
Parses json-file with plot setups and runs the plotting
for each plot setup.
'''
"""
try:
# Check 'proj' command, show version
proc = run_proj_cmd(text=True)
print(proc.stderr.splitlines()[0])
except (FileNotFoundError, OSError) as e:
sys.stderr.write(
"'proj' binary not found, set the PROJ_EXE environment variable "
"to point to your local 'proj' binary\n{}\n".format(e)
)
return 1
outdir = Path(outdir)
if not outdir.exists():
outdir.mkdir(parents=True)
if not outdir.is_dir():
raise OSError("outdir is not a directory")
plotdefs = json.loads(Path(plotdefs).read_text())
data = {
('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()),
("line", "low"): geojson2geom_array(LINE_LOW),
("line", "med"): geojson2geom_array(LINE_MED),
("poly", "low"): geojson2geom_array(POLY_LOW),
("poly", "med"): geojson2geom_array(POLY_MED),
}
for i, plotdef in enumerate(plotdefs):
if plots != [] and plotdef['name'] not in plots:
if plots != [] and plotdef["name"] not in plots:
continue
print(i, plotdef['projstring'])
if 'skip' in plotdef.keys():
print('skipping')
print("{}: {!r} {}".format(i, plotdef["filename"], plotdef["projstring"]))
if "skip" in plotdef.keys():
print("skipping")
continue
plotproj(plotdef, data[(plotdef['type'], plotdef['res'])], outdir)
plotproj(plotdef, data[(plotdef["type"], plotdef["res"])], outdir)
if __name__ == "__main__":
import argparse
parser = argparse.ArgumentParser(
description=__doc__,
formatter_class=argparse.RawDescriptionHelpFormatter)
description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter
)
parser.add_argument(
'plotdefs',
help='A JSON file with setup for each auto-generated plot')
"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(
'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.')
"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)))
+3 -5
View File
@@ -116,18 +116,16 @@ Clang Static Analyzer (CSA)
CSA is run by a GitHub Actions workflow. You may also run it locally.
Preliminary step: install clang. For example:
Preliminary step: install clang tools. For example, on a Debian-like OS:
::
wget https://releases.llvm.org/9.0.0/clang+llvm-9.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz
tar xJf clang+llvm-9.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz
mv clang+llvm-9.0.0-x86_64-linux-gnu-ubuntu-18.04 clang+llvm-9
export PATH=$PWD/clang+llvm-9/bin:$PATH
sudo apt install clang-tools libfindbin-libs-perl
Configure PROJ with the `scan-build <https://clang-analyzer.llvm.org/scan-build.html>`__ utility of clang:
::
mkdir csa_build
cd csa_build
scan-build cmake ..
+6 -5
View File
@@ -35,6 +35,7 @@ import bibstyle
extensions = [
'sphinx.ext.mathjax',
'sphinxcontrib.bibtex',
"sphinxcontrib.jquery",
'sphinxcontrib.spelling',
'breathe',
'redirects',
@@ -78,8 +79,8 @@ copyright = u'1983-{0}'.format(now.year)
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
version = '9.2.0'
data_version = '1.13'
version = '9.2.1'
data_version = '1.14'
# use same |release| as |version|
release = version
@@ -205,13 +206,13 @@ htm_css_files = [
'theme_overrides.css', # override wide tables in RTD theme
]
# display "Edit on GitHub"
html_context = {
'display_github': True,
'theme_vcs_pageview_mode': 'edit',
'github_user': 'OSGeo',
'github_repo': 'PROJ',
# TODO: edit when switching active branch
'github_version': '9.1/docs/source/',
'github_version': '9.2',
'conf_py_path': '/docs/source/',
}
# Add any extra paths that contain custom files (such as robots.txt or
@@ -194,10 +194,10 @@ paragraph for more details.
- AUTHORITY=name: to restrict the authority of coordinate operations
looked up in the database. When not specified, coordinate
``operations from any authority`` will be searched, with the restrictions set
operations from any authority will be searched, with the restrictions set
in the authority_to_authority_preference database table related to the authority
of the source/target CRS themselves.
If authority is set to "any", then coordinate operations from any authority will be searched
If authority is set to ``any``, then coordinate operations from any authority will be searched.
If authority is a non-empty string different of ``any``, then coordinate operations
will be searched only in that authority namespace (e.g ``EPSG``).
+27 -8
View File
@@ -4,18 +4,30 @@
Download
================================================================================
Here you can download current and previous releases of PROJ. We only supply a
distribution of the source code and various resource file archives. See
:ref:`install` for information on how to get pre-built packages of PROJ.
.. only:: html
Here you can download current and previous releases of PROJ. We only supply
a distribution of the source code and various resource file archives. See
:ref:`install` for information on how to get pre-built packages of PROJ.
Documentation in PDF and zipped HTML can be downloaded using the flyout menu
on the left side of the browser window.
.. only:: not html
Source code for the current and previous releases can be downloaded from
https://download.osgeo.org/proj/
Documentation in PDF and zipped HTML can be downloaded using the flyout menu
on the left side of the browser window from https://proj.org/
.. _current_release:
Current Release
--------------------------------------------------------------------------------
* **2022-12-01** `proj-9.1.1.tar.gz`_ (`md5`_)
* **2022-12-01** `proj-data-1.12.tar.gz`_
* **PDF Manual** `proj.pdf`_
* **2023-06-01** `proj-9.2.1.tar.gz`_ (`md5`_)
* **2023-06-01** `proj-data-1.14.tar.gz`_
.. note::
@@ -28,6 +40,8 @@ Current Release
Past Releases
--------------------------------------------------------------------------------
* **2023-03-01** `proj-9.2.0.tar.gz`_
* **2022-12-01** `proj-9.1.1.tar.gz`_
* **2022-09-01** `proj-9.1.0.tar.gz`_
* **2022-06-15** `proj-9.0.1.tar.gz`_
* **2022-03-01** `proj-9.0.0.tar.gz`_
@@ -59,6 +73,8 @@ Past Releases
* **2015-09-13** `proj-4.9.2.tar.gz`_
* **2015-03-04** `proj-4.9.1.tar.gz`_
* **2023-03-01** `proj-data-1.13.tar.gz`_
* **2022-12-01** `proj-data-1.12.tar.gz`_
* **2022-09-01** `proj-data-1.11.tar.gz`_
* **2022-06-15** `proj-data-1.10.tar.gz`_
* **2022-03-01** `proj-data-1.9.tar.gz`_
@@ -92,8 +108,10 @@ Past Releases
* **2018-03-01** `proj-datumgrid-oceania-1.1.zip`_
* **2018-03-01** `proj-datumgrid-oceania-1.0.zip`_
.. _`md5`: https://download.osgeo.org/proj/proj-9.2.1.tar.gz.md5
.. _`proj-9.2.1.tar.gz`: https://download.osgeo.org/proj/proj-9.2.1.tar.gz
.. _`proj-9.2.0.tar.gz`: https://download.osgeo.org/proj/proj-9.2.0.tar.gz
.. _`proj-9.1.1.tar.gz`: https://download.osgeo.org/proj/proj-9.1.1.tar.gz
.. _`md5`: https://download.osgeo.org/proj/proj-9.1.1.tar.gz.md5
.. _`proj-9.1.0.tar.gz`: https://download.osgeo.org/proj/proj-9.1.0.tar.gz
.. _`proj-9.0.1.tar.gz`: https://download.osgeo.org/proj/proj-9.0.1.tar.gz
.. _`proj-9.0.0.tar.gz`: https://download.osgeo.org/proj/proj-9.0.0.tar.gz
@@ -126,6 +144,8 @@ Past Releases
.. _`proj-4.9.2.tar.gz`: https://download.osgeo.org/proj/proj-4.9.2.tar.gz
.. _`proj-4.9.3.tar.gz`: https://download.osgeo.org/proj/proj-4.9.3.tar.gz
.. _`proj-data-1.14.tar.gz`: https://download.osgeo.org/proj/proj-data-1.14.tar.gz
.. _`proj-data-1.13.tar.gz`: https://download.osgeo.org/proj/proj-data-1.13.tar.gz
.. _`proj-data-1.12.tar.gz`: https://download.osgeo.org/proj/proj-data-1.12.tar.gz
.. _`proj-data-1.11.tar.gz`: https://download.osgeo.org/proj/proj-data-1.11.tar.gz
.. _`proj-data-1.10.tar.gz`: https://download.osgeo.org/proj/proj-data-1.10.tar.gz
@@ -159,4 +179,3 @@ Past Releases
.. _`proj-datumgrid-oceania-1.1.zip`: https://download.osgeo.org/proj/proj-datumgrid-oceania-1.1.zip
.. _`proj-datumgrid-oceania-1.2.zip`: https://download.osgeo.org/proj/proj-datumgrid-oceania-1.2.zip
.. _`proj-datumgrid-world-1.0.zip`: https://download.osgeo.org/proj/proj-datumgrid-world-1.0.zip
.. _`proj.pdf`: https://raw.githubusercontent.com/OSGeo/PROJ/gh-pages/proj.pdf
-5
View File
@@ -31,8 +31,3 @@ PROJ
You can download the source code for PROJ on the :ref:`download section<download>`
and find links to prepackaged executables in the
:ref:`installation section<install>`.
In addition to this website the PROJ documentation is also available in `PDF`_
form.
.. _`PDF`: https://raw.githubusercontent.com/OSGeo/proj.4/gh-pages/proj.pdf
+2 -2
View File
@@ -400,8 +400,8 @@ Install PROJ dependencies
::
vcpkg.exe install sqlite3[core,tool]:x86-windows tiff:x86-windows curl:x86-windows
vcpkg.exe install sqlite3[core,tool]:x64-windows tiff:x64-windows curl:x64-windows
vcpkg install sqlite3[core,tool] tiff curl --triplet=x86-windows
vcpkg install sqlite3[core,tool] tiff curl --triplet=x64-windows
.. note:: The tiff and curl dependencies are only needed since PROJ 7.0
+203 -6
View File
@@ -3,6 +3,203 @@
News
###############################################################################
9.2.1 Release Notes
++++++++++++++++++++
*June 1st 2023*
Database updates
----------------
* Add alias for old ESRI datum/CRS names of EPSG:8353 S_JTSK_JTSK03_Krovak_East_North (`#3678 <https://github.com/OSGeo/PROJ/issues/3678>`_)
* Pseudo Mercator now supported with IAU CRS's (`#3645 <https://github.com/OSGeo/PROJ/issues/3645>`_)
* Updated to EPSG 10.088 (`#3731 <https://github.com/OSGeo/PROJ/issues/3731>`_)
Bug fixes
---------
* Fixed build errors with Cygwin (`#3642 <https://github.com/OSGeo/PROJ/issues/3642>`_)
* PROJ string CRS parser: make sure that PROJ arguments of the rotated string are kept in the WKT representation (`#3656 <https://github.com/OSGeo/PROJ/issues/3656>`_)
* Fix slowness on ``proj_trans()`` when doing WGS 84 <--> NAD83 conversions (`#3661 <https://github.com/OSGeo/PROJ/issues/3661>`_)
* ``vgridshift``/``gridshift``: accept ``hydroid_height`` as valid band description (`#3675 <https://github.com/OSGeo/PROJ/issues/3675>`_)
* WKT/PROJJSON: import/export accuracy of ConcatenatedOperation (`#3676 <https://github.com/OSGeo/PROJ/issues/3676>`_)
* Coordinate operation factory: count identified concatenated operations as a single step (`#3677 <https://github.com/OSGeo/PROJ/issues/3677>`_)
* EngineeringCRS: make ```proj_create_engineering_crs()``` set a datum name and relax ``isEquivalentTo()`` comparisons (`#3685 <https://github.com/OSGeo/PROJ/issues/3685>`_)
* PROJJSON: fix import/export of integer parameter value, and deal with interpolation CRS parameters in conversions (`#3695 <https://github.com/OSGeo/PROJ/issues/3695>`_)
* CMake: avoid imbalanced cmake_policy push/pop if TIFF or CURL dependency cannot be found (`#3697 <https://github.com/OSGeo/PROJ/issues/3697>`_)
* ``proj_create_crs_to_crs()``: restore transformation selection behaviour of PROJ 9.1 when grids are missing (`#3707 <https://github.com/OSGeo/PROJ/issues/3707>`_)
* ESRI WKT: improve roundtrip of name and definition for UPS WGS84 CRS (`#3720 <https://github.com/OSGeo/PROJ/issues/3720>`_)
* CRS instanciation from PROJ.4 string: set 'Unknown based on XXXX ellipsoid' datum name when instanciating from known +a, +rf (`#3727 <https://github.com/OSGeo/PROJ/issues/3727>`_)
* :program:`cs2cs` / ``proj_create_crs_to_crs()``: fix regression with geocentric CRS (`#3729 <https://github.com/OSGeo/PROJ/issues/3729>`_)
* ``proj_trans()``: set ``PROJ_ERR_COORD_TRANSFM_NO_OPERATION`` error when failing in ``ONLY_BEST=YES`` mode (`#3730 <https://github.com/OSGeo/PROJ/issues/3730>`_)
* ``tinshift``: raise maximum size of JSON file to 100 MB (`#3736 <https://github.com/OSGeo/PROJ/issues/3736>`_)
9.2.0 Release Notes
++++++++++++++++++++
*March 1st 2023*
Updates
--------
* Database
* EPSG updated to EPSG 10.082 (`#3609 <https://github.com/OSGeo/PROJ/issues/3609>`_)
* ESRI objects updated to v3.1.0 (`#3575 <https://github.com/OSGeo/PROJ/issues/3575>`_)
* Added Slovenian geoid model SLO-VRP2016/Koper (`#3610 <https://github.com/OSGeo/PROJ/issues/3610>`_)
* Projections
* Added generic Space Oblique Mercator (`#3338 <https://github.com/OSGeo/PROJ/issues/3338>`_)
* Inverse ``eck4``: Add checks for projection domain (`#3625 <https://github.com/OSGeo/PROJ/issues/3625>`_)
* Transformations
* Added support for NADCON5 grids and transformation method (`#3510 <https://github.com/OSGeo/PROJ/issues/3510>`_)
* Added option ``ONLY_BEST=YES`` (`#3535 <https://github.com/OSGeo/PROJ/issues/3535>`_)
When enabled only use the best possible transformation between two CRS's can be
instantiated. If the best possible transfomations can't be instantiated it will
fail instead of opting for the next best transformation.
With ``ONLY_BEST=YES`` a transformation will fail if a needed grid is unavailable.
The option can be toggled in ``proj.ini`` and with ``--only-best`` in :program:`cs2cs`.
* Implement 'Similarity transformation' (EPSG:9621) and import related tranformations from EPSG (`#3578 <https://github.com/OSGeo/PROJ/issues/3578>`_)
* Optimise transformations between GDA94, GDA2020 and WGS84 (`#3621 <https://github.com/OSGeo/PROJ/issues/3621>`_)
* Performance improvements
* Pass :c:type:`PJ_COORD` by reference for :c:func:`fwd4d` and :c:func:`inv4d` callbacks (`#3503 <https://github.com/OSGeo/PROJ/issues/3503>`_)
* Improved of inverse meridian length calculations (`#3516 <https://github.com/OSGeo/PROJ/issues/3516>`_)
* Avoid very poor performance on a geographic CRS whose datum name is the alias
of an official one (`#3624 <https://github.com/OSGeo/PROJ/issues/3624>`_)
* Well-Known Text improvements
* Support WKT:2019 COORDINATEMETADATA[] construct (`#2711 <https://github.com/OSGeo/PROJ/issues/2711>`_)
* implement :cpp:func:`alterCSLinearUnit` for CompoundCRS (`#3325 <https://github.com/OSGeo/PROJ/issues/3325>`_)
* Implement :cpp:func:`alterCSLinearUnit` for BoundCRS (`#3327 <https://github.com/OSGeo/PROJ/issues/3327>`_)
* Added :c:type:`PJ_TYPE_DERIVED_PROJECTED_CRS` (`#3488 <https://github.com/OSGeo/PROJ/issues/3488>`_)
* Added support for ISO19111 CoordinateMetadata class (`#3562 <https://github.com/OSGeo/PROJ/issues/3562>`_)
* Update WKT import to support WKT2 corrigendum (`#3573 <https://github.com/OSGeo/PROJ/issues/3573>`_)
* WKT import: Make axis direction and range meaning enumeration case
insensitive as mandated by spec (`#3577 <https://github.com/OSGeo/PROJ/issues/3577>`_)
* Implement AffineCS and handle it in WKT (`#3579 <https://github.com/OSGeo/PROJ/issues/3579>`_)
* WKT1 parser: Support ``inf`` as inverse flattening value (`#3626 <https://github.com/OSGeo/PROJ/issues/3626>`_)
* PROJJSON
* Version number changed to 0.6
* Added an additional optional ``source_crs`` property in ``abridged_transformation`` (`#3454 <https://github.com/OSGeo/PROJ/issues/3454>`_)
* Added support for ISO19111 CoordinateMetadata class (`#3562 <https://github.com/OSGeo/PROJ/issues/3562>`_)
* Implement AffineCS and handle it in PROJJSON (`#3579 <https://github.com/OSGeo/PROJ/issues/3579>`_)
* C/C++ API
* C API: add :c:func:`proj_get_domain_count()`, :c:func:`proj_get_area_of_use_ex()` and :c:func:`proj_get_scope_ex()` (`#3588 <https://github.com/OSGeo/PROJ/issues/3588>`_)
* Added explicit ``NaN`` handling to :c:func:`proj_trans` and :program:`gie` (`#3603 <https://github.com/OSGeo/PROJ/issues/3603>`_)
**DEPRECATIONS**
The following functions have been deprecated and will be removed in a future version.
* C API function :c:func:`proj_rtodms`. Use :c:func:`proj_rtodms2` instead (`#3431 <https://github.com/OSGeo/PROJ/issues/3431>`_)
* C experimental API function :c:func:`proj_create_conversion_tunisia_mapping_grid()`.
Use :c:func:`proj_create_conversion_tunisia_mining_grid()` instead (`#3559 <https://github.com/OSGeo/PROJ/issues/3559>`_)
* C++ API function :cpp:func:`createTunisiaMapingGrid()`. Use :cpp:func:`createTunisiaMiningGrid()` instead (`#3559 <https://github.com/OSGeo/PROJ/issues/3559>`_)
* CMake
* Added ``uninstall`` target (`#3362 <https://github.com/OSGeo/PROJ/issues/3362>`_)
* Adopted use of ``TIFF:TIFF`` and ``CURL::libcurl`` targets (`#3374 <https://github.com/OSGeo/PROJ/issues/3374>`_)
+ Security improvements
* Replaced uses of :c:func:`sprintf` with the safer :c:func:`snprintf` (`#3421 <https://github.com/OSGeo/PROJ/issues/3421>`_, `#3431 <https://github.com/OSGeo/PROJ/issues/3431>`_)
+ Various other improvements
* Implemented platform independent mutex for better results on lesser used platforms (`#3425 <https://github.com/OSGeo/PROJ/issues/3425>`_)
* Improved name and remarks in descriptions of some vertical transformations (`#3334 <https://github.com/OSGeo/PROJ/issues/3334>`_)
* Implemented stricter matching by name to avoid false positives (`#3487 <https://github.com/OSGeo/PROJ/issues/3487>`_)
* Improved numerical accuracy of the meridian length calculations and its inverse (`#3516 <https://github.com/OSGeo/PROJ/issues/3516>`_)
* Added ``PROJ_IGNORE_CELESTIAL_BODY=YES`` environment variable that allows better matching of
non-earth shaped ellipsoids to other celestial bodies (`#3569 <https://github.com/OSGeo/PROJ/issues/3569>`_)
Bug fixes
----------
* :c:func:`rtodms()`: fix potential buffer overflow not dealt with (`#3441 <https://github.com/OSGeo/PROJ/issues/3441>`_)
* :cpp:func:`NetworkFile::open()`: fix memory leak in unlikely error code path (`#3443 <https://github.com/OSGeo/PROJ/issues/3443>`_)
* When importing LOCAL_CS["foo"], generates a non-empty name for the datum (`#3491 <https://github.com/OSGeo/PROJ/issues/3491>`_)
* Avoid unit mix-up in :cpp:func:`CRS::alterCSLinearUnit` for ``DerivedProjectedCRS`` (`#3499 <https://github.com/OSGeo/PROJ/issues/3499>`_)
* WKT to PROJ conversions: Map 'Lambert Azimuthal Equal Area (Spherical)' to ``+proj=laea +R_A`` (`#3526 <https://github.com/OSGeo/PROJ/issues/3526>`_)
* ProjectedCRS::identify(): Relax trust in id/authority in definition to identify (`#3532 <https://github.com/OSGeo/PROJ/issues/3532>`_)
* Fix instantion of http://www.opengis.net/def/crs/IAU/2015/xxx URNs (`#3569 <https://github.com/OSGeo/PROJ/issues/3569>`_)
* Fix :c:func:`proj_normalize_for_visualization()` on a transformation with ``FORCE_OVERb=YES`` (`#3570 <https://github.com/OSGeo/PROJ/issues/3570>`_)
* :cpp:func:`createBoundCRSToWGS84IfPossible()`: Do not report ``+towgs84`` for a CRS with multiple extents,
such as EPSG:6316 (`#3587 <https://github.com/OSGeo/PROJ/issues/3587>`_)
* :c:func:`pj_get_suggested_operation()`: handle longitudes outside of [-180,180] for coordinate
operation selection (`#3595 <https://github.com/OSGeo/PROJ/issues/3595>`_)
* WKT1 parser: only emit warning when encountering invalid UNKNOWN WKT1 axis direction (`#3618 <https://github.com/OSGeo/PROJ/issues/3618>`_)
* :program:`projinfo`: fix long option name ``--source-crs`` (`#3601 <https://github.com/OSGeo/PROJ/issues/3601>`_)
9.1.1 Release Notes
++++++++++++++++++++
@@ -1670,7 +1867,7 @@ a geodetic object of the database, import and export geodetic objects from/into
WKT and PROJ strings, and display coordinate operations available between two
CRSs.
UPDATES
Updates
-------
* Removed projects.h as a public interface (`#835 <https://github.com/OSGeo/proj.4/issues/835>`_)
@@ -1733,7 +1930,7 @@ UPDATES
* Added :option:`+dt` parameter to deformation as replacement for
removed ``+t_obs`` (`#1264 <https://github.com/OSGeo/proj.4/issues/1264>`_)
BUG FIXES
Bug fixes
---------
* Read :option:`+towgs84` values correctly on locales not using dot as comma separator (`#1136 <https://github.com/OSGeo/proj.4/issues/1136>`_)
@@ -1760,7 +1957,7 @@ PROJ 5.2.0
++++++++++++++++++++++++++++++++++++++++
*September 15th 2018*
UPDATES
Updates
-------
* Added support for deg, rad and grad in unitconvert (`#1054 <https://github.com/OSGeo/proj.4/issues/1054>`_)
@@ -1786,7 +1983,7 @@ UPDATES
stream (`#1111 <https://github.com/OSGeo/proj.4/issues/1111>`_)
BUG FIXES
Bug fixes
------------
* Do not pivot over WGS84 when doing cs2cs-emulation with geocent (`#1026 <https://github.com/OSGeo/proj.4/issues/1026>`_)
@@ -1814,7 +2011,7 @@ PROJ 5.1.0
*June 1st 2018*
UPDATES
Updates
-------
* Function :c:func:`proj_errno_string()` added to ``proj.h`` API (`#847 <https://github.com/OSGeo/proj.4/issues/847>`_)
@@ -1843,7 +2040,7 @@ UPDATES
the temporal domain (`#1015 <https://github.com/OSGeo/proj.4/issues/1015>`_)
BUG FIXES
Bug fixes
------------
* Handle ``NaN`` float cast overflow in ``PJ_robin.c`` and ``nad_intr.c`` (`#887 <https://github.com/OSGeo/proj.4/issues/887>`_)
@@ -46,14 +46,14 @@ Parameters
Horizontal input units. See :ref:`distance_units` and :ref:`angular_units`
for a list of available units. `<conversion_factor>` is the conversion factor
from the input unit to metre for linear units, or to radian for angular
units.
units. Default if not given: meters.
.. option:: +xy_out=<unit> or <conversion_factor>
Horizontal output units. See :ref:`distance_units` and :ref:`angular_units`
for a list of available units. `<conversion_factor>` is the conversion factor
from the output unit to metre for linear units, or to radian for angular
units.
units. Default if not given: meters.
.. option:: +z_in=<unit> or <conversion_factor>
@@ -44,7 +44,7 @@ Usage
The Bertin 1953 projection has no special options. Its rotation parameters
are fixed. Here is an example of a forward projection with scale 1::
$ echo 122 47 | src/proj +proj=bertin1953 +R=1
$ echo 122 47 | proj +proj=bertin1953 +R=1
0.72 0.73
Parameters
@@ -35,7 +35,7 @@ degrees from the meridian so that they are oriented with the coastline of the So
Lines increase from Northwest to Southeast.
A unit of line is 12 nautical miles. Stations increase from inshore to offshore.
A unit of station is equal to 4 nautical miles.
The rotation point is located at line 80, station 60, or 34.15 degrees N, -121.15 degrees W, and is depicted by the red dot in the figure.
The rotation point is located at line 80, station 60, or 34.15 degrees N, 121.15 degrees W, and is depicted by the red dot in the figure.
By convention, the ellipsoid of Clarke 1866 is used to calculate CalCOFI coordinates.
The CalCOFI program is a joint research effort by the U.S. National Oceanic and
+8 -2
View File
@@ -40,12 +40,18 @@ The Cassini-Soldner was also used for the detailed mapping of many German states
Example using EPSG 30200 (Trinidad 1903, units in clarke's links)::
$ echo 0.17453293 -1.08210414 | proj +proj=cass +lat_0=10.44166666666667 +lon_0=-61.33333333333334 +x_0=86501.46392051999 +y_0=65379.0134283 +a=6378293.645208759 +b=6356617.987679838 +to_meter=0.201166195164
$ echo 0.17453293 -1.08210414 | proj +proj=cass \
+lat_0=10.44166666666667 +lon_0=-61.33333333333334 \
+x_0=86501.46392051999 +y_0=65379.0134283 \
+a=6378293.645208759 +b=6356617.987679838 \
+to_meter=0.201166195164
66644.94 82536.22
Example using EPSG 3068 (Soldner Berlin)::
$ echo 13.5 52.4 | proj +proj=cass +lat_0=52.41864827777778 +lon_0=13.62720366666667 +x_0=40000 +y_0=10000 +ellps=bessel +units=m
$ echo 13.5 52.4 | proj +proj=cass \
+lat_0=52.41864827777778 +lon_0=13.62720366666667 \
+x_0=40000 +y_0=10000 +ellps=bessel
31343.05 7932.76
Options
+2 -2
View File
@@ -120,7 +120,7 @@ For ATPOL to WGS84 test, run the following script:
::
#!/bin/bash
cat << EOF | src/cs2cs -v -f "%E" +proj=ccon +lat_1=52 +lat_0=52 +lon_0=19 +axis=esu +a=6390000 +x_0=330000 +y_0=-350000 +to +proj=longlat
cat << EOF | cs2cs -v -f "%E" +proj=ccon +lat_1=52 +lat_0=52 +lon_0=19 +axis=esu +a=6390000 +x_0=330000 +y_0=-350000 +to +proj=longlat
0 0
0 700000
700000 0
@@ -142,7 +142,7 @@ Analogous script can be run for reverse test:
::
cat << EOF | src/cs2cs -v -f "%E" +proj=longlat +to +proj=ccon +lat_1=52 +lat_0=52 +lon_0=19 +axis=esu +a=6390000 +x_0=330000 +y_0=-350000
cat << EOF | cs2cs -v -f "%E" +proj=longlat +to +proj=ccon +lat_1=52 +lat_0=52 +lon_0=19 +axis=esu +a=6390000 +x_0=330000 +y_0=-350000
24 55
15 49
24 49
@@ -44,7 +44,7 @@ Usage
The Equal Earth projection has no special options. Here is
an example of an forward projection on a sphere with a radius of 1 m::
$ echo 122 47 | src/proj +proj=eqearth +R=1
$ echo 122 47 | proj +proj=eqearth +R=1
1.55 0.89
Parameters
+2 -2
View File
@@ -1,13 +1,13 @@
.. _nzmg:
********************************************************************************
New Zealand Map Grid
New Zealand Map Grid (EPSG:27200)
********************************************************************************
.. figure:: ./images/nzmg.png
:width: 500 px
:align: center
:alt: New Zealand Map Grid
:alt: New Zealand Map Grid (EPSG:27200)
proj-string: ``+proj=nzmg``
+1 -1
View File
@@ -82,7 +82,7 @@ Usage
The following example uses S2 on the right face::
echo 90 0 | ../bin/proj +proj=s2 +lat_0=0 +lon_0=90 +ellps=WGS84 +UVtoST=linear
echo 90 0 | proj +proj=s2 +lat_0=0 +lon_0=90 +ellps=WGS84 +UVtoST=linear
0.5 0.5
+2 -2
View File
@@ -64,12 +64,12 @@ The following table gives special cases of the Transverse Mercator projection.
Example using Gauss-Kruger on Germany area (aka EPSG:31467) ::
$ echo 9 51 | proj +proj=tmerc +lat_0=0 +lon_0=9 +k_0=1 +x_0=3500000 +y_0=0 +ellps=bessel +units=m
$ echo 9 51 | proj +proj=tmerc +lon_0=9 +x_0=3500000 +ellps=bessel
3500000.00 5651505.56
Example using Gauss Boaga on Italy area (EPSG:3004) ::
$ echo 15 42 | proj +proj=tmerc +lat_0=0 +lon_0=15 +k_0=0.9996 +x_0=2520000 +y_0=0 +ellps=intl +units=m
$ echo 15 42 | proj +proj=tmerc +lon_0=15 +k_0=0.9996 +x_0=2520000 +ellps=intl
2520000.00 4649858.60
Parameters
@@ -62,4 +62,5 @@ Transforming a point with the LINZ NZGD2000 deformation model:
::
echo 166.7133850980 -44.5105886020 293.3700 2007.689 | cct +proj=defmodel +model=nzgd2000-20180701.json
echo 166.7133850980 -44.5105886020 293.3700 2007.689 |
cct +proj=defmodel +model=nzgd2000-20180701.json
@@ -331,7 +331,7 @@ The three rotation matrices can be combined in one:
.. math::
\begin{align}
\mathbf{R} = \mathbf{R_X} \mathbf{R_Y} \mathbf{R_Y}
\mathbf{R} = \mathbf{R_X} \mathbf{R_Y} \mathbf{R_Z}
\end{align}
@@ -289,10 +289,24 @@ is an easy way to inspect such grid files:
is expressed in the target CRS) to
get an ellipsoidal height (that is expressed in the source CRS), also
called the geoid undulation.
The value is positive upward from the reference ellipsoid.
Note the possible confusion related to what is the source CRS and target CRS and
the semantics of the value stored (to convert from the source to the target,
one must subtract the value contained in the grid). This is the convention
used by the `EPSG:9665 <https://www.epsg-registry.org/export.htm?gml=urn:ogc:def:method:EPSG::9665>`_
used by the `EPSG:9665 <https://epsg.org/coord-operation-method_9665/Geographic3D-to-GravityRelatedHeight-gtx.html>`_
operation method.
+ ``hydroid_height``: valid for TYPE=VERTICAL_OFFSET_GEOGRAPHIC_TO_VERTICAL.
For a source CRS being a geographic CRS and a target CRS being a vertical CRS
representing a tidal surface (typically Chart Datum, Highest/Lowest Astronomical
Tide (HAT/LAT), High/Low Waters, Mean Sea Level), the hydroid height is
the value to add to a height related to a tidal surface (that is expressed
in the target CRS) to get an ellipsoidal height (that is expressed in the source CRS).
The value is positive upward from the reference ellipsoid.
Note the possible confusion related to what is the source CRS and target CRS and
the semantics of the value stored (to convert from the source to the target,
one must subtract the value contained in the grid). This is the convention
used by the `EPSG:1115 <https://epsg.org/coord-operation-method_1115/Geographic3D-to-GravityRelatedDepth-txt.html>`_
operation method.
+ ``vertical_offset``: valid for TYPE=VERTICAL_OFFSET_VERTICAL_TO_VERTICAL.
+1
View File
@@ -51,6 +51,7 @@ in the WKT2:2019 specification also apply, as supplement to the JSON schema cons
History of the schema
---------------------
* v0.7: added "accuracy" property in ConcatenatedOperation. Implemented in PROJ 9.2.1
* v0.6:
- Implemented in PROJ 9.2
- Additional optional "source_crs" property in "abridged_transformation".
+17
View File
@@ -49,6 +49,10 @@ class DerivedCRS;
class ProjectedCRS;
} // namespace crs
namespace io {
class JSONParser;
} // namespace io
namespace coordinates {
class CoordinateMetadata;
using CoordinateMetadataPtr = std::shared_ptr<CoordinateMetadata>;
@@ -184,6 +188,7 @@ class PROJ_GCC_DLL CoordinateOperation : public common::ObjectUsage,
PROJ_FRIEND(CoordinateOperationFactory);
PROJ_FRIEND(ConcatenatedOperation);
PROJ_FRIEND(io::WKTParser);
PROJ_FRIEND(io::JSONParser);
PROJ_INTERNAL void
setWeakSourceTargetCRS(std::weak_ptr<crs::CRS> sourceCRSIn,
std::weak_ptr<crs::CRS> targetCRSIn);
@@ -675,6 +680,10 @@ class PROJ_GCC_DLL SingleOperation : virtual public CoordinateOperation {
const io::DatabaseContextPtr &dbContext,
bool inOtherDirection) const;
PROJ_INTERNAL static GeneralParameterValueNNPtr
createOperationParameterValueFromInterpolationCRS(int methodEPSGCode,
int crsEPSGCode);
private:
PROJ_OPAQUE_PRIVATE_DATA
SingleOperation &operator=(const SingleOperation &other) = delete;
@@ -976,6 +985,14 @@ class PROJ_GCC_DLL Conversion : public SingleOperation {
const common::Length &falseEasting,
const common::Length &falseNorthing);
PROJ_DLL static ConversionNNPtr createLambertConicConformal_1SP_VariantB(
const util::PropertyMap &properties,
const common::Angle &latitudeNatOrigin, const common::Scale &scale,
const common::Angle &latitudeFalseOrigin,
const common::Angle &longitudeFalseOrigin,
const common::Length &eastingFalseOrigin,
const common::Length &northingFalseOrigin);
PROJ_DLL static ConversionNNPtr
createLambertConicConformal_2SP(const util::PropertyMap &properties,
const common::Angle &latitudeFalseOrigin,
+38
View File
@@ -0,0 +1,38 @@
/******************************************************************************
*
* Project: PROJ
* Purpose: ISO19111:2019 implementation
* Author: Even Rouault <even dot rouault at spatialys dot com>
*
******************************************************************************
* Copyright (c) 2023, Even Rouault <even dot rouault at spatialys dot com>
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included
* in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
****************************************************************************/
#ifndef FROM_PROJ_CPP
#error This file should only be included from a PROJ cpp file
#endif
#ifndef DATUM_INTERNAL_HH_INCLUDED
#define DATUM_INTERNAL_HH_INCLUDED
#define UNKNOWN_ENGINEERING_DATUM "Unknown engineering datum"
#endif // DATUM_INTERNAL_HH_INCLUDED
+1 -1
View File
@@ -562,7 +562,7 @@ class PROJ_GCC_DLL JSONFormatter {
PROJ_INTERNAL bool
outputUsage(bool calledBeforeObjectContext = false) const;
PROJ_INTERNAL static const char *PROJJSON_v0_6;
PROJ_INTERNAL static const char *PROJJSON_v0_7;
//! @endcond
+6 -6
View File
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.TH "CCT" "1" "Mar 1, 2023" "9.2.0" "PROJ"
.TH "CCT" "1" "Jun 1, 2023" "9.2.1" "PROJ"
.SH NAME
cct \- Coordinate Conversion and Transformation
.SH SYNOPSIS
@@ -54,13 +54,13 @@ a proj\-string,
.IP \(bu 2
a WKT string,
.IP \(bu 2
an object code (like \(dqEPSG:1671\(dq \(dqurn:ogc:def:coordinateOperation:EPSG::1671\(dq),
an object code (like "EPSG:1671" "urn:ogc:def:coordinateOperation:EPSG::1671"),
.IP \(bu 2
an object name. e.g. \(dqITRF2014 to ETRF2014 (1)\(dq. In that case as
an object name. e.g. "ITRF2014 to ETRF2014 (1)". In that case as
uniqueness is not guaranteed, heuristics are applied to determine the appropriate best match.
.IP \(bu 2
a OGC URN combining references for concatenated operations
(e.g. \(dq\fI\%urn:ogc:def:coordinateOperation,coordinateOperation:EPSG::3895,coordinateOperation:EPSG::1618\fP\(dq)
(e.g. "\fI\%urn:ogc:def:coordinateOperation,coordinateOperation:EPSG::3895,coordinateOperation:EPSG::1618\fP")
.IP \(bu 2
a PROJJSON string. The jsonschema is at \fI\%https://proj.org/schemas/v0.4/projjson.schema.json\fP
.UNINDENT
@@ -162,7 +162,7 @@ Usage varies with operation.
\fI\%cct\fP is an acronym meaning \fICoordinate Conversion and Transformation\fP\&.
.sp
The acronym refers to definitions given in the OGC 08\-015r2/ISO\-19111
standard \(dqGeographical Information \-\- Spatial Referencing by Coordinates\(dq,
standard "Geographical Information \-\- Spatial Referencing by Coordinates",
which defines two different classes of \fIcoordinate operations\fP:
.sp
\fICoordinate Conversions\fP, which are coordinate operations where input
@@ -319,7 +319,7 @@ Coordinate operation referenced through its name
.sp
.nf
.ft C
$ echo 3541657.3778 948984.2343 5201383.5231 2020.5 | cct \(dqITRF2014 to ETRF2014 (1)\(dq
$ echo 3541657.3778 948984.2343 5201383.5231 2020.5 | cct "ITRF2014 to ETRF2014 (1)"
3541657.9112 948983.7503 5201383.2482 2020.5000
.ft P
.fi
+16 -16
View File
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.TH "CS2CS" "1" "Mar 1, 2023" "9.2.0" "PROJ"
.TH "CS2CS" "1" "Jun 1, 2023" "9.2.1" "PROJ"
.SH NAME
cs2cs \- Cartographic coordinate system filter
.SH SYNOPSIS
@@ -53,29 +53,29 @@ a proj\-string,
.IP \(bu 2
a WKT string,
.IP \(bu 2
an object code (like \(dqEPSG:4326\(dq, \(dqurn:ogc:def:crs:EPSG::4326\(dq,
\(dqurn:ogc:def:coordinateOperation:EPSG::1671\(dq),
an object code (like "EPSG:4326", "urn:ogc:def:crs:EPSG::4326",
"urn:ogc:def:coordinateOperation:EPSG::1671"),
.IP \(bu 2
an Object name. e.g \(dqWGS 84\(dq, \(dqWGS 84 / UTM zone 31N\(dq. In that case as
an Object name. e.g "WGS 84", "WGS 84 / UTM zone 31N". In that case as
uniqueness is not guaranteed, heuristics are applied to determine the appropriate best match.
.IP \(bu 2
a CRS name and a coordinate epoch, separated with \(aq@\(aq. For example \(dq\fI\%ITRF2014@2025.0\fP\(dq. (\fIadded in 9.2\fP)
a CRS name and a coordinate epoch, separated with \(aq@\(aq. For example "\fI\%ITRF2014@2025.0\fP". (\fIadded in 9.2\fP)
.IP \(bu 2
a OGC URN combining references for compound coordinate reference systems
(e.g \(dq\fI\%urn:ogc:def:crs,crs:EPSG::2393,crs:EPSG::5717\fP\(dq or custom abbreviated
syntax \(dqEPSG:2393+5717\(dq),
(e.g "\fI\%urn:ogc:def:crs,crs:EPSG::2393,crs:EPSG::5717\fP" or custom abbreviated
syntax "EPSG:2393+5717"),
.IP \(bu 2
a OGC URN combining references for references for projected or derived CRSs
e.g. for Projected 3D CRS \(dqUTM zone 31N / WGS 84 (3D)\(dq:
\(dq\fI\%urn:ogc:def:crs,crs:EPSG::4979,cs:PROJ::ENh,coordinateOperation:EPSG::16031\fP\(dq
e.g. for Projected 3D CRS "UTM zone 31N / WGS 84 (3D)":
"\fI\%urn:ogc:def:crs,crs:EPSG::4979,cs:PROJ::ENh,coordinateOperation:EPSG::16031\fP"
(\fIadded in 6.2\fP)
.IP \(bu 2
a OGC URN combining references for concatenated operations
(e.g. \(dq\fI\%urn:ogc:def:coordinateOperation,coordinateOperation:EPSG::3895,coordinateOperation:EPSG::1618\fP\(dq)
(e.g. "\fI\%urn:ogc:def:coordinateOperation,coordinateOperation:EPSG::3895,coordinateOperation:EPSG::1618\fP")
.IP \(bu 2
a PROJJSON string. The jsonschema is at \fI\%https://proj.org/schemas/v0.4/projjson.schema.json\fP (\fIadded in 6.2\fP)
.IP \(bu 2
a compound CRS made from two object names separated with \(dq + \(dq. e.g. \(dqWGS 84 + EGM96 height\(dq (\fIadded in 7.1\fP)
a compound CRS made from two object names separated with " + ". e.g. "WGS 84 + EGM96 height" (\fIadded in 7.1\fP)
.UNINDENT
.sp
New in version 6.0.0.
@@ -181,7 +181,7 @@ third.
Where \fIformat\fP is a printf format string to control the form of the output values.
For inverse projections, the output will be in degrees when this option is
employed. If a format is specified for inverse projection the output data
will be in decimal degrees. The default format is \fB\(dq%.2f\(dq\fP for forward
will be in decimal degrees. The default format is \fB"%.2f"\fP for forward
projection and DMS for inverse.
.UNINDENT
.INDENT 0.0
@@ -211,7 +211,7 @@ New in version 8.0.0.
.sp
Specify an area of interest to restrict the results when researching
coordinate operations between 2 CRS. The area of interest can be specified either
as a name (e.g \(dqDenmark \- onshore\(dq) or a AUTHORITY:CODE (EPSG:3237)
as a name (e.g "Denmark \- onshore") or a AUTHORITY:CODE (EPSG:3237)
.sp
This option is mutually exclusive with \fI\%\-\-bbox\fP\&.
.UNINDENT
@@ -288,7 +288,7 @@ This option is mutually exclusive with \fI\%\-\-bbox\fP\&.
New in version 9.1.
.sp
\(dqPromote\(dq 2D CRS(s) to their 3D version, where the vertical axis is the
"Promote" 2D CRS(s) to their 3D version, where the vertical axis is the
ellipsoidal height in metres, using the ellipsoid of the base geodetic CRS.
Depending on PROJ versions and the exact nature of the CRS involved,
especially before PROJ 9.1, a mix of 2D and 3D CRS could lead to 2D or 3D
@@ -352,7 +352,7 @@ The following script
.nf
.ft C
cs2cs +proj=latlong +datum=NAD83 +to +proj=utm +zone=10 +datum=NAD27 \-r <<EOF
45°15\(aq33.1\(dq 111.5W
45°15\(aq33.1" 111.5W
45d15.551666667N \-111d30
+45.25919444444 111d30\(aq000w
EOF
@@ -468,7 +468,7 @@ UTM Zone 31N/WGS 84 with WGS84 ellipsoidal height
.sp
.nf
.ft C
echo 45 2 0 | cs2cs \(dqWGS 84 + EGM96 height\(dq \(dqWGS 84 / UTM zone 31N\(dq \-\-3d
echo 45 2 0 | cs2cs "WGS 84 + EGM96 height" "WGS 84 / UTM zone 31N" \-\-3d
.ft P
.fi
.UNINDENT
+6 -6
View File
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.TH "GEOD" "1" "Mar 1, 2023" "9.2.0" "PROJ"
.TH "GEOD" "1" "Jun 1, 2023" "9.2.1" "PROJ"
.SH NAME
geod \- Geodesic computations
.SH SYNOPSIS
@@ -92,7 +92,7 @@ geographic coordinate values. The default mode is DMS.
.TP
.B \-F <format>
Where \fIformat\fP is a printf format string to control the output form of the distance
value. The default mode is \fB\(dq%.3f\(dq\fP\&.
value. The default mode is \fB"%.3f"\fP\&.
.UNINDENT
.INDENT 0.0
.TP
@@ -141,7 +141,7 @@ azimuthal data must be in decimal degrees or DMS format and
input distance data must be in units consistent with the ellipsoid
major axis or sphere radius units. The latitude must lie
in the range [\-90d,90d]. Output geographic coordinates will be
in DMS (if the \fI\%\-f\fP switch is not employed) to 0.001\(dq with trailing,
in DMS (if the \fI\%\-f\fP switch is not employed) to 0.001" with trailing,
zero\-valued minute\-second fields deleted. Output distance
data will be in the same units as the ellipsoid or sphere
radius.
@@ -189,7 +189,7 @@ which gives the results:
.sp
.nf
.ft C
\-66d31\(aq50.141\(dq 75d39\(aq13.083\(dq 2587.504
\-66d31\(aq50.141" 75d39\(aq13.083" 2587.504
.ft P
.fi
.UNINDENT
@@ -206,7 +206,7 @@ and determine Portland\(aqs location by azimuth and distance:
.nf
.ft C
geod +ellps=clrk66 +units=us\-mi <<EOF
42d15\(aqN 71d07\(aqW \-66d31\(aq50.141\(dq 2587.504
42d15\(aqN 71d07\(aqW \-66d31\(aq50.141" 2587.504
EOF
.ft P
.fi
@@ -219,7 +219,7 @@ which gives:
.sp
.nf
.ft C
45d31\(aq0.003\(dqN 123d40\(aq59.985\(dqW 75d39\(aq13.094\(dq
45d31\(aq0.003"N 123d40\(aq59.985"W 75d39\(aq13.094"
.ft P
.fi
.UNINDENT
+6 -6
View File
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.TH "GIE" "1" "Mar 1, 2023" "9.2.0" "PROJ"
.TH "GIE" "1" "Jun 1, 2023" "9.2.1" "PROJ"
.SH NAME
gie \- The Geospatial Integrity Investigation Environment
.SH SYNOPSIS
@@ -343,7 +343,7 @@ expect 12 55 0 0
.UNINDENT
.UNINDENT
.sp
The default direction is \(dqforward\(dq.
The default direction is "forward".
.UNINDENT
.INDENT 0.0
.TP
@@ -458,7 +458,7 @@ end with the space character followed by backslash to mark the continuation.
<gie\-strict>
# This is a comment. The following line with multiple repeated characters too
\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-
# A command on several lines must use \(dq \e\(dq continuation
# A command on several lines must use " \e" continuation
operation proj=hgridshift +grids=nzgd2kgrid0005.gsb \e
ellps=GRS80
tolerance 1 mm
@@ -474,8 +474,8 @@ expect 173 \-45
.UNINDENT
.SH BACKGROUND
.sp
More importantly than being an acronym for \(dqGeospatial Integrity Investigation
Environment\(dq, gie were also the initials, user id, and USGS email address of
More importantly than being an acronym for "Geospatial Integrity Investigation
Environment", gie were also the initials, user id, and USGS email address of
Gerald Ian Evenden (1935\-\-2016), the geospatial visionary, who, already in the
1980s, started what was to become the PROJ of today.
.sp
@@ -497,7 +497,7 @@ call like \fBhypot(x,y)\fP\&.
.sp
While today, we may have more formally well defined metadata systems (most
prominent the OGC WKT2 representation), nothing comes close being as easily
readable (\(dqhuman compatible\(dq) as Gerald\(aqs key\-value system. This system in
readable ("human compatible") as Gerald\(aqs key\-value system. This system in
particular, and the PROJ system in general, was Gerald\(aqs great gift to anyone
using and/or communicating about geodata.
.sp
+4 -4
View File
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.TH "PROJ" "1" "Mar 1, 2023" "9.2.0" "PROJ"
.TH "PROJ" "1" "Jun 1, 2023" "9.2.1" "PROJ"
.SH NAME
proj \- Cartographic projection filter
.SH SYNOPSIS
@@ -163,7 +163,7 @@ reciprocal value of \fImult\fP is employed.
.B \-f <format>
Where \fIformat\fP is a printf format string to control the form of the output values.
For inverse projections, the output will be in degrees when this option is
employed. The default format is \fB\(dq%.2f\(dq\fP for forward projection and DMS for
employed. The default format is \fB"%.2f"\fP for forward projection and DMS for
inverse.
.UNINDENT
.INDENT 0.0
@@ -211,7 +211,7 @@ portions of the input line are appended to the output line.
Input geographic data (longitude and latitude) must be in DMS or decimal degrees format and input
cartesian data must be in units consistent with the ellipsoid major axis or
sphere radius units. Output geographic coordinates will be in DMS (if the
\fB\-w\fP switch is not employed) and precise to 0.001\(dq with trailing, zero\-valued
\fB\-w\fP switch is not employed) and precise to 0.001" with trailing, zero\-valued
minute\-second fields deleted.
.SH EXAMPLE
.sp
@@ -222,7 +222,7 @@ The following script
.nf
.ft C
proj +proj=utm +lon_0=112w +ellps=clrk66 \-r <<EOF
45d15\(aq33.1\(dq 111.5W
45d15\(aq33.1" 111.5W
45d15.551666667N \-111d30
+45.25919444444 111d30\(aq000w
EOF
+120 -120
View File
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.TH "PROJINFO" "1" "Mar 1, 2023" "9.2.0" "PROJ"
.TH "PROJINFO" "1" "Jun 1, 2023" "9.2.1" "PROJ"
.SH NAME
projinfo \- Geodetic object and coordinate operation queries
.SH SYNOPSIS
@@ -68,29 +68,29 @@ a proj\-string,
.IP \(bu 2
a WKT string,
.IP \(bu 2
an object code (like \(dqEPSG:4326\(dq, \(dqurn:ogc:def:crs:EPSG::4326\(dq,
\(dqurn:ogc:def:coordinateOperation:EPSG::1671\(dq),
an object code (like "EPSG:4326", "urn:ogc:def:crs:EPSG::4326",
"urn:ogc:def:coordinateOperation:EPSG::1671"),
.IP \(bu 2
an Object name. e.g \(dqWGS 84\(dq, \(dqWGS 84 / UTM zone 31N\(dq. In that case as
an Object name. e.g "WGS 84", "WGS 84 / UTM zone 31N". In that case as
uniqueness is not guaranteed, heuristics are applied to determine the appropriate best match.
.IP \(bu 2
a CRS name and a coordinate epoch, separated with \(aq@\(aq. For example \(dq\fI\%ITRF2014@2025.0\fP\(dq. (\fIadded in 9.2\fP)
a CRS name and a coordinate epoch, separated with \(aq@\(aq. For example "\fI\%ITRF2014@2025.0\fP". (\fIadded in 9.2\fP)
.IP \(bu 2
a OGC URN combining references for compound coordinate reference systems
(e.g \(dq\fI\%urn:ogc:def:crs,crs:EPSG::2393,crs:EPSG::5717\fP\(dq or custom abbreviated
syntax \(dqEPSG:2393+5717\(dq),
(e.g "\fI\%urn:ogc:def:crs,crs:EPSG::2393,crs:EPSG::5717\fP" or custom abbreviated
syntax "EPSG:2393+5717"),
.IP \(bu 2
a OGC URN combining references for references for projected or derived CRSs
e.g. for Projected 3D CRS \(dqUTM zone 31N / WGS 84 (3D)\(dq:
\(dq\fI\%urn:ogc:def:crs,crs:EPSG::4979,cs:PROJ::ENh,coordinateOperation:EPSG::16031\fP\(dq
e.g. for Projected 3D CRS "UTM zone 31N / WGS 84 (3D)":
"\fI\%urn:ogc:def:crs,crs:EPSG::4979,cs:PROJ::ENh,coordinateOperation:EPSG::16031\fP"
(\fIadded in 6.2\fP)
.IP \(bu 2
a OGC URN combining references for concatenated operations
(e.g. \(dq\fI\%urn:ogc:def:coordinateOperation,coordinateOperation:EPSG::3895,coordinateOperation:EPSG::1618\fP\(dq)
(e.g. "\fI\%urn:ogc:def:coordinateOperation,coordinateOperation:EPSG::3895,coordinateOperation:EPSG::1618\fP")
.IP \(bu 2
a PROJJSON string. The jsonschema is at \fI\%https://proj.org/schemas/v0.4/projjson.schema.json\fP (\fIadded in 6.2\fP)
.IP \(bu 2
a compound CRS made from two object names separated with \(dq + \(dq. e.g. \(dqWGS 84 + EGM96 height\(dq (\fIadded in 7.1\fP)
a compound CRS made from two object names separated with " + ". e.g. "WGS 84 + EGM96 height" (\fIadded in 7.1\fP)
.UNINDENT
.sp
{object_reference} is a filename preceded by the \(aq@\(aq character. The
@@ -175,7 +175,7 @@ potentially compatible of being piped in other utilities.
.B \-\-area name_or_code
Specify an area of interest to restrict the results when researching
coordinate operations between 2 CRS. The area of interest can be specified either
as a name (e.g \(dqDenmark \- onshore\(dq) or a AUTHORITY:CODE (EPSG:3237)
as a name (e.g "Denmark \- onshore") or a AUTHORITY:CODE (EPSG:3237)
This option is exclusive of \fI\%\-\-bbox\fP\&.
.sp
\fBNOTE:\fP
@@ -432,7 +432,7 @@ A visual alternative is the webpage
New in version 6.3.
.sp
\(dqPromote\(dq 2D CRS(s) to their 3D version, where the vertical axis is the
"Promote" 2D CRS(s) to their 3D version, where the vertical axis is the
ellipsoidal height in metres, using the ellipsoid of the base geodetic CRS.
Depending on PROJ versions and the exact nature of the CRS involved,
especially before PROJ 9.1, a mix of 2D and 3D CRS could lead to 2D or 3D
@@ -518,24 +518,24 @@ PROJ.4 string:
+proj=longlat +datum=WGS84 +no_defs +type=crs
WKT2:2019 string:
GEOGCRS[\(dqWGS 84\(dq,
DATUM[\(dqWorld Geodetic System 1984\(dq,
ELLIPSOID[\(dqWGS 84\(dq,6378137,298.257223563,
LENGTHUNIT[\(dqmetre\(dq,1]]],
PRIMEM[\(dqGreenwich\(dq,0,
ANGLEUNIT[\(dqdegree\(dq,0.0174532925199433]],
GEOGCRS["WGS 84",
DATUM["World Geodetic System 1984",
ELLIPSOID["WGS 84",6378137,298.257223563,
LENGTHUNIT["metre",1]]],
PRIMEM["Greenwich",0,
ANGLEUNIT["degree",0.0174532925199433]],
CS[ellipsoidal,2],
AXIS[\(dqgeodetic latitude (Lat)\(dq,north,
AXIS["geodetic latitude (Lat)",north,
ORDER[1],
ANGLEUNIT[\(dqdegree\(dq,0.0174532925199433]],
AXIS[\(dqgeodetic longitude (Lon)\(dq,east,
ANGLEUNIT["degree",0.0174532925199433]],
AXIS["geodetic longitude (Lon)",east,
ORDER[2],
ANGLEUNIT[\(dqdegree\(dq,0.0174532925199433]],
ANGLEUNIT["degree",0.0174532925199433]],
USAGE[
SCOPE[\(dqunknown\(dq],
AREA[\(dqWorld\(dq],
SCOPE["unknown"],
AREA["World"],
BBOX[\-90,\-180,90,180]],
ID[\(dqEPSG\(dq,4326]]
ID["EPSG",4326]]
.ft P
.fi
.UNINDENT
@@ -550,7 +550,7 @@ and NAD83 (designed with its EPSG code 4269) within an area of interest
.sp
.nf
.ft C
projinfo \-s NAD27 \-t EPSG:4269 \-\-area \(dqUSA \- Missouri\(dq
projinfo \-s NAD27 \-t EPSG:4269 \-\-area "USA \- Missouri"
.ft P
.fi
.UNINDENT
@@ -570,43 +570,43 @@ PROJ string:
+step +proj=unitconvert +xy_in=rad +xy_out=deg +step +proj=axisswap +order=2,1
WKT2:2019 string:
COORDINATEOPERATION[\(dqNAD27 to NAD83 (1)\(dq,
COORDINATEOPERATION["NAD27 to NAD83 (1)",
SOURCECRS[
GEOGCRS[\(dqNAD27\(dq,
DATUM[\(dqNorth American Datum 1927\(dq,
ELLIPSOID[\(dqClarke 1866\(dq,6378206.4,294.978698213898,
LENGTHUNIT[\(dqmetre\(dq,1]]],
PRIMEM[\(dqGreenwich\(dq,0,
ANGLEUNIT[\(dqdegree\(dq,0.0174532925199433]],
GEOGCRS["NAD27",
DATUM["North American Datum 1927",
ELLIPSOID["Clarke 1866",6378206.4,294.978698213898,
LENGTHUNIT["metre",1]]],
PRIMEM["Greenwich",0,
ANGLEUNIT["degree",0.0174532925199433]],
CS[ellipsoidal,2],
AXIS[\(dqgeodetic latitude (Lat)\(dq,north,
AXIS["geodetic latitude (Lat)",north,
ORDER[1],
ANGLEUNIT[\(dqdegree\(dq,0.0174532925199433]],
AXIS[\(dqgeodetic longitude (Lon)\(dq,east,
ANGLEUNIT["degree",0.0174532925199433]],
AXIS["geodetic longitude (Lon)",east,
ORDER[2],
ANGLEUNIT[\(dqdegree\(dq,0.0174532925199433]]]],
ANGLEUNIT["degree",0.0174532925199433]]]],
TARGETCRS[
GEOGCRS[\(dqNAD83\(dq,
DATUM[\(dqNorth American Datum 1983\(dq,
ELLIPSOID[\(dqGRS 1980\(dq,6378137,298.257222101,
LENGTHUNIT[\(dqmetre\(dq,1]]],
PRIMEM[\(dqGreenwich\(dq,0,
ANGLEUNIT[\(dqdegree\(dq,0.0174532925199433]],
GEOGCRS["NAD83",
DATUM["North American Datum 1983",
ELLIPSOID["GRS 1980",6378137,298.257222101,
LENGTHUNIT["metre",1]]],
PRIMEM["Greenwich",0,
ANGLEUNIT["degree",0.0174532925199433]],
CS[ellipsoidal,2],
AXIS[\(dqgeodetic latitude (Lat)\(dq,north,
AXIS["geodetic latitude (Lat)",north,
ORDER[1],
ANGLEUNIT[\(dqdegree\(dq,0.0174532925199433]],
AXIS[\(dqgeodetic longitude (Lon)\(dq,east,
ANGLEUNIT["degree",0.0174532925199433]],
AXIS["geodetic longitude (Lon)",east,
ORDER[2],
ANGLEUNIT[\(dqdegree\(dq,0.0174532925199433]]]],
METHOD[\(dqCTABLE2\(dq],
PARAMETERFILE[\(dqLatitude and longitude difference file\(dq,\(dqconus\(dq],
ANGLEUNIT["degree",0.0174532925199433]]]],
METHOD["CTABLE2"],
PARAMETERFILE["Latitude and longitude difference file","conus"],
OPERATIONACCURACY[0.15],
USAGE[
SCOPE[\(dqunknown\(dq],
AREA[\(dqUSA \- CONUS including EEZ\(dq],
SCOPE["unknown"],
AREA["USA \- CONUS including EEZ"],
BBOX[23.81,\-129.17,49.38,\-65.69]],
ID[\(dqDERIVED_FROM(EPSG)\(dq,1241]]
ID["DERIVED_FROM(EPSG)",1241]]
.ft P
.fi
.UNINDENT
@@ -633,44 +633,44 @@ Output:
.nf
.ft C
{
\(dqtype\(dq: \(dqGeographicCRS\(dq,
\(dqname\(dq: \(dqGDA94\(dq,
\(dqdatum\(dq: {
\(dqtype\(dq: \(dqGeodeticReferenceFrame\(dq,
\(dqname\(dq: \(dqGeocentric Datum of Australia 1994\(dq,
\(dqellipsoid\(dq: {
\(dqname\(dq: \(dqGRS 1980\(dq,
\(dqsemi_major_axis\(dq: 6378137,
\(dqinverse_flattening\(dq: 298.257222101
"type": "GeographicCRS",
"name": "GDA94",
"datum": {
"type": "GeodeticReferenceFrame",
"name": "Geocentric Datum of Australia 1994",
"ellipsoid": {
"name": "GRS 1980",
"semi_major_axis": 6378137,
"inverse_flattening": 298.257222101
}
},
\(dqcoordinate_system\(dq: {
\(dqsubtype\(dq: \(dqellipsoidal\(dq,
\(dqaxis\(dq: [
"coordinate_system": {
"subtype": "ellipsoidal",
"axis": [
{
\(dqname\(dq: \(dqGeodetic latitude\(dq,
\(dqabbreviation\(dq: \(dqLat\(dq,
\(dqdirection\(dq: \(dqnorth\(dq,
\(dqunit\(dq: \(dqdegree\(dq
"name": "Geodetic latitude",
"abbreviation": "Lat",
"direction": "north",
"unit": "degree"
},
{
\(dqname\(dq: \(dqGeodetic longitude\(dq,
\(dqabbreviation\(dq: \(dqLon\(dq,
\(dqdirection\(dq: \(dqeast\(dq,
\(dqunit\(dq: \(dqdegree\(dq
"name": "Geodetic longitude",
"abbreviation": "Lon",
"direction": "east",
"unit": "degree"
}
]
},
\(dqarea\(dq: \(dqAustralia \- GDA\(dq,
\(dqbbox\(dq: {
\(dqsouth_latitude\(dq: \-60.56,
\(dqwest_longitude\(dq: 93.41,
\(dqnorth_latitude\(dq: \-8.47,
\(dqeast_longitude\(dq: 173.35
"area": "Australia \- GDA",
"bbox": {
"south_latitude": \-60.56,
"west_longitude": 93.41,
"north_latitude": \-8.47,
"east_longitude": 173.35
},
\(dqid\(dq: {
\(dqauthority\(dq: \(dqEPSG\(dq,
\(dqcode\(dq: 4283
"id": {
"authority": "EPSG",
"code": 4283
}
}
.ft P
@@ -687,11 +687,11 @@ Exporting the SQL statements to insert a new CRS in an auxiliary database.
.nf
.ft C
# Get the SQL statements for a custom CRS
projinfo \(dq+proj=merc +lat_ts=5 +datum=WGS84 +type=crs +title=my_crs\(dq \-\-output\-id HOBU:MY_CRS \-o SQL \-q > my_crs.sql
projinfo "+proj=merc +lat_ts=5 +datum=WGS84 +type=crs +title=my_crs" \-\-output\-id HOBU:MY_CRS \-o SQL \-q > my_crs.sql
cat my_crs.sql
# Initialize an auxiliary database with the schema of the reference database
echo \(dq.schema\(dq | sqlite3 /path/to/proj.db | sqlite3 aux.db
echo ".schema" | sqlite3 /path/to/proj.db | sqlite3 aux.db
# Append the content of the definition of HOBU:MY_CRS
sqlite3 aux.db < my_crs.db
@@ -710,7 +710,7 @@ or more simply:
.nf
.ft C
# Create an auxiliary database with the definition of a custom CRS.
projinfo \(dq+proj=merc +lat_ts=5 +datum=WGS84 +type=crs +title=my_crs\(dq \-\-output\-id HOBU:MY_CRS \-\-dump\-db\-structure | sqlite3 aux.db
projinfo "+proj=merc +lat_ts=5 +datum=WGS84 +type=crs +title=my_crs" \-\-output\-id HOBU:MY_CRS \-\-dump\-db\-structure | sqlite3 aux.db
# Check that everything works OK
projinfo \-\-aux\-db\-path aux.db HOBU:MY_CRS
@@ -744,44 +744,44 @@ PROJ.4 string:
+proj=merc +lat_ts=5 +lon_0=0 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs +type=crs
WKT2:2019 string:
PROJCRS[\(dqmy_crs\(dq,
BASEGEOGCRS[\(dqunknown\(dq,
ENSEMBLE[\(dqWorld Geodetic System 1984 ensemble\(dq,
MEMBER[\(dqWorld Geodetic System 1984 (Transit)\(dq],
MEMBER[\(dqWorld Geodetic System 1984 (G730)\(dq],
MEMBER[\(dqWorld Geodetic System 1984 (G873)\(dq],
MEMBER[\(dqWorld Geodetic System 1984 (G1150)\(dq],
MEMBER[\(dqWorld Geodetic System 1984 (G1674)\(dq],
MEMBER[\(dqWorld Geodetic System 1984 (G1762)\(dq],
ELLIPSOID[\(dqWGS 84\(dq,6378137,298.257223563,
LENGTHUNIT[\(dqmetre\(dq,1]],
PROJCRS["my_crs",
BASEGEOGCRS["unknown",
ENSEMBLE["World Geodetic System 1984 ensemble",
MEMBER["World Geodetic System 1984 (Transit)"],
MEMBER["World Geodetic System 1984 (G730)"],
MEMBER["World Geodetic System 1984 (G873)"],
MEMBER["World Geodetic System 1984 (G1150)"],
MEMBER["World Geodetic System 1984 (G1674)"],
MEMBER["World Geodetic System 1984 (G1762)"],
ELLIPSOID["WGS 84",6378137,298.257223563,
LENGTHUNIT["metre",1]],
ENSEMBLEACCURACY[2.0]],
PRIMEM[\(dqGreenwich\(dq,0,
ANGLEUNIT[\(dqdegree\(dq,0.0174532925199433]],
ID[\(dqHOBU\(dq,\(dqGEODETIC_CRS_MY_CRS\(dq]],
CONVERSION[\(dqunknown\(dq,
METHOD[\(dqMercator (variant B)\(dq,
ID[\(dqEPSG\(dq,9805]],
PARAMETER[\(dqLatitude of 1st standard parallel\(dq,5,
ANGLEUNIT[\(dqdegree\(dq,0.0174532925199433],
ID[\(dqEPSG\(dq,8823]],
PARAMETER[\(dqLongitude of natural origin\(dq,0,
ANGLEUNIT[\(dqdegree\(dq,0.0174532925199433],
ID[\(dqEPSG\(dq,8802]],
PARAMETER[\(dqFalse easting\(dq,0,
LENGTHUNIT[\(dqmetre\(dq,1],
ID[\(dqEPSG\(dq,8806]],
PARAMETER[\(dqFalse northing\(dq,0,
LENGTHUNIT[\(dqmetre\(dq,1],
ID[\(dqEPSG\(dq,8807]]],
PRIMEM["Greenwich",0,
ANGLEUNIT["degree",0.0174532925199433]],
ID["HOBU","GEODETIC_CRS_MY_CRS"]],
CONVERSION["unknown",
METHOD["Mercator (variant B)",
ID["EPSG",9805]],
PARAMETER["Latitude of 1st standard parallel",5,
ANGLEUNIT["degree",0.0174532925199433],
ID["EPSG",8823]],
PARAMETER["Longitude of natural origin",0,
ANGLEUNIT["degree",0.0174532925199433],
ID["EPSG",8802]],
PARAMETER["False easting",0,
LENGTHUNIT["metre",1],
ID["EPSG",8806]],
PARAMETER["False northing",0,
LENGTHUNIT["metre",1],
ID["EPSG",8807]]],
CS[Cartesian,2],
AXIS[\(dq(E)\(dq,east,
AXIS["(E)",east,
ORDER[1],
LENGTHUNIT[\(dqmetre\(dq,1]],
AXIS[\(dq(N)\(dq,north,
LENGTHUNIT["metre",1]],
AXIS["(N)",north,
ORDER[2],
LENGTHUNIT[\(dqmetre\(dq,1]],
ID[\(dqHOBU\(dq,\(dqMY_CRS\(dq]]
LENGTHUNIT["metre",1]],
ID["HOBU","MY_CRS"]]
.ft P
.fi
.UNINDENT
@@ -808,7 +808,7 @@ Output:
.nf
.ft C
WKT1:GDAL string:
PROJCS[\(dqETRS89 / UTM zone 32N\(dq,GEOGCS[\(dqETRS89\(dq,DATUM[\(dqEuropean_Terrestrial_Reference_System_1989\(dq,SPHEROID[\(dqGRS 1980\(dq,6378137,298.257222101,AUTHORITY[\(dqEPSG\(dq,\(dq7019\(dq]],AUTHORITY[\(dqEPSG\(dq,\(dq6258\(dq]],PRIMEM[\(dqGreenwich\(dq,0,AUTHORITY[\(dqEPSG\(dq,\(dq8901\(dq]],UNIT[\(dqdegree\(dq,0.0174532925199433,AUTHORITY[\(dqEPSG\(dq,\(dq9122\(dq]],AUTHORITY[\(dqEPSG\(dq,\(dq4258\(dq]],PROJECTION[\(dqTransverse_Mercator\(dq],PARAMETER[\(dqlatitude_of_origin\(dq,0],PARAMETER[\(dqcentral_meridian\(dq,9],PARAMETER[\(dqscale_factor\(dq,0.9996],PARAMETER[\(dqfalse_easting\(dq,500000],PARAMETER[\(dqfalse_northing\(dq,0],UNIT[\(dqmetre\(dq,1,AUTHORITY[\(dqEPSG\(dq,\(dq9001\(dq]],AXIS[\(dqEasting\(dq,EAST],AXIS[\(dqNorthing\(dq,NORTH],AUTHORITY[\(dqEPSG\(dq,\(dq25832\(dq]]
PROJCS["ETRS89 / UTM zone 32N",GEOGCS["ETRS89",DATUM["European_Terrestrial_Reference_System_1989",SPHEROID["GRS 1980",6378137,298.257222101,AUTHORITY["EPSG","7019"]],AUTHORITY["EPSG","6258"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4258"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",9],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AXIS["Easting",EAST],AXIS["Northing",NORTH],AUTHORITY["EPSG","25832"]]
.ft P
.fi
.UNINDENT
+1 -1
View File
@@ -27,7 +27,7 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.TH "PROJSYNC" "1" "Mar 1, 2023" "9.2.0" "PROJ"
.TH "PROJSYNC" "1" "Jun 1, 2023" "9.2.1" "PROJ"
.SH NAME
projsync \- Downloading tool of resource files
.SH SYNOPSIS
File diff suppressed because it is too large Load Diff
+12 -8
View File
@@ -470,9 +470,13 @@ BEGIN
# the source/target CRS names from the transformation name.
# Method EPSG:9666 'P6 I=J+90 seismic bin grid coordinate operation' requires more than 7 parameters. Not supported by PROJ for now
# Idem for EPSG:1049 'P6 I=J-90 seismic bin grid coordinate operation'
# EPSG:1102 is "Lambert Conic Conformal (1SP variant B)" and is only used at time of writing for specialized CRS EPSG:9548, "Lyon Turin Ferroviaire 2004 (C)"
proj_db_cursor.execute("SELECT coord_op_code, coord_op_name, coord_op_method_code, coord_op_method_name, epsg_coordoperation.deprecated, epsg_coordoperation.remarks FROM epsg.epsg_coordoperation LEFT JOIN epsg.epsg_coordoperationmethod USING (coord_op_method_code) WHERE coord_op_type = 'conversion' AND coord_op_name NOT LIKE '%to DMSH' AND (coord_op_method_code NOT IN (1068, 1069, 9666, 1049, 1102) OR coord_op_code IN (7812,7813))")
proj_db_cursor.execute("SELECT coord_op_code, coord_op_name, coord_op_method_code, coord_op_method_name, epsg_coordoperation.deprecated, epsg_coordoperation.remarks FROM epsg.epsg_coordoperation LEFT JOIN epsg.epsg_coordoperationmethod USING (coord_op_method_code) WHERE coord_op_type = 'conversion' AND coord_op_name NOT LIKE '%to DMSH' AND (coord_op_method_code NOT IN (1068, 1069, 9666, 1049) OR coord_op_code IN (7812,7813))")
for (code, name, method_code, method_name, deprecated, remarks) in proj_db_cursor.fetchall():
# If skipping some projection methods is needed
if method_code in ():
print(f"Skipping conversion {code}, {name}, {method_code}, {method_name} as the map projection is not handled")
continue
expected_order = 1
max_n_params = 7
param_auth_name = [None for i in range(max_n_params)]
@@ -551,17 +555,17 @@ def fill_projected_crs(proj_db_cursor):
#proj_db_cursor.execute(
# "INSERT INTO crs SELECT 'EPSG', coord_ref_sys_code, coord_ref_sys_kind FROM epsg.epsg_coordinatereferencesystem WHERE coord_ref_sys_kind IN ('projected')")
#proj_db_cursor.execute("INSERT INTO projected_crs SELECT 'EPSG', coord_ref_sys_code, coord_ref_sys_name, 'EPSG', coord_sys_code, 'EPSG', base_crs_code, 'EPSG', projection_conv_code, deprecated FROM epsg.epsg_coordinatereferencesystem WHERE coord_ref_sys_kind IN ('projected')")
proj_db_cursor.execute("SELECT ?, coord_ref_sys_code, coord_ref_sys_name, NULL, ?, coord_sys_code, ?, base_crs_code, ?, projection_conv_code, deprecated FROM epsg.epsg_coordinatereferencesystem WHERE coord_ref_sys_kind IN ('projected')", (EPSG_AUTHORITY, EPSG_AUTHORITY, EPSG_AUTHORITY, EPSG_AUTHORITY))
for row in proj_db_cursor.fetchall():
(auth_name, code, name, description, coordinate_system_auth_name, coordinate_system_code, geodetic_crs_auth_name, geodetic_crs_code, conversion_auth_name, conversion_code, deprecated) = row
if code == 9549: # "LTF2004(C)"
print('Skipping EPSG:9549 LTF2004(C) as we do not handle yet projection method EPSG:1102 is "Lambert Conic Conformal (1SP variant B)"')
proj_db_cursor.execute("SELECT ?, coord_ref_sys_code, coord_ref_sys_name, NULL, ?, coord_sys_code, ?, base_crs_code, ?, projection_conv_code, crs.deprecated, co.coord_op_method_code, com.coord_op_method_name FROM epsg.epsg_coordinatereferencesystem crs LEFT JOIN epsg.epsg_coordoperation co ON crs.projection_conv_code = co.coord_op_code LEFT JOIN epsg.epsg_coordoperationmethod com USING (coord_op_method_code) WHERE coord_ref_sys_kind IN ('projected')", (EPSG_AUTHORITY, EPSG_AUTHORITY, EPSG_AUTHORITY, EPSG_AUTHORITY))
for (auth_name, code, name, description, coordinate_system_auth_name, coordinate_system_code, geodetic_crs_auth_name, geodetic_crs_code, conversion_auth_name, conversion_code, deprecated, coord_op_method_code, coord_op_method_name) in proj_db_cursor.fetchall():
# If skipping some projection methods is needed
if coord_op_method_code in ():
print(f'Skipping EPSG:{code} {name} as we do not handle yet projection method EPSG:{coord_op_method_code} / {coord_op_method_name}')
continue
proj_db_cursor.execute("SELECT 1 FROM epsg.epsg_coordinatereferencesystem WHERE coord_ref_sys_code = ? AND coord_ref_sys_kind IN ('geographic 2D', 'geographic 3D', 'geocentric')", (geodetic_crs_code,))
if proj_db_cursor.fetchone():
#proj_db_cursor.execute("INSERT INTO crs VALUES (?, ?, 'projected')", (EPSG_AUTHORITY, code))
try:
proj_db_cursor.execute("INSERT INTO projected_crs VALUES (?,?,?,?,?,?,?,?,?,?,NULL,?)", row)
proj_db_cursor.execute("INSERT INTO projected_crs VALUES (?,?,?,?,?,?,?,?,?,?,NULL,?)", (auth_name, code, name, description, coordinate_system_auth_name, coordinate_system_code, geodetic_crs_auth_name, geodetic_crs_code, conversion_auth_name, conversion_code, deprecated))
except sqlite3.IntegrityError as e:
print(e)
print(row)
+61
View File
@@ -401,6 +401,26 @@ map_datum_esri_name_to_auth_code = {}
map_datum_esri_to_parameters = {}
def get_old_esri_name(s):
"""Massage datum/CRS name like old ESRI software did"""
# Needed for EPSG:8353 S_JTSK_JTSK03_Krovak_East_North
# Cf https://github.com/OSGeo/gdal/issues/75054
if '[' in s:
s = s.replace('-', '_')
s = s.replace('[', '')
s = s.replace(']', '')
# Not totally sure of below, so disable
if False:
s = s.replace('_(', '_').replace(')_', '_')
s = s.replace('.', '_')
s = s.replace('(', '_').replace(')', '_')
if s.endswith('_'):
s = s[0:-1]
return s
def import_datum():
with open(path_to_csv / 'pe_list_datum.csv', 'rt') as csvfile:
reader = csv.reader(csvfile)
@@ -455,6 +475,12 @@ def import_datum():
code, escape_literal(esri_name))
all_sql.append(sql)
old_esri_name = get_old_esri_name(esri_name)
if old_esri_name != esri_name:
sql = """INSERT INTO alias_name VALUES('geodetic_datum','EPSG','%s','%s','ESRI');""" % (
code, escape_literal(old_esri_name))
all_sql.append(sql)
description = row[idx_description]
deprecated = 1 if row[idx_deprecated] == 'yes' else 0
@@ -580,6 +606,13 @@ def import_geogcs():
sql = """INSERT INTO alias_name VALUES('geodetic_crs','EPSG','%s','%s','ESRI');""" % (
code, escape_literal(esri_name))
all_sql.append(sql)
old_esri_name = get_old_esri_name(esri_name)
if old_esri_name != esri_name:
sql = """INSERT INTO alias_name VALUES('geodetic_crs','EPSG','%s','%s','ESRI');""" % (
code, escape_literal(old_esri_name))
all_sql.append(sql)
else:
assert authority.upper() == 'ESRI', row
@@ -1296,6 +1329,13 @@ def import_projcs():
sql = """INSERT INTO alias_name VALUES('projected_crs','EPSG','%s','%s','ESRI');""" % (
code, escape_literal(esri_name))
all_sql.append(sql)
old_esri_name = get_old_esri_name(esri_name)
if old_esri_name != esri_name:
sql = """INSERT INTO alias_name VALUES('projected_crs','EPSG','%s','%s','ESRI');""" % (
code, escape_literal(old_esri_name))
all_sql.append(sql)
else:
assert authority.upper() == 'ESRI', row
@@ -1534,6 +1574,13 @@ def import_vdatum():
sql = """INSERT INTO alias_name VALUES('vertical_datum','EPSG','%s','%s','ESRI');""" % (
wkid, escape_literal(esri_name))
all_sql.append(sql)
old_esri_name = get_old_esri_name(esri_name)
if old_esri_name != esri_name:
sql = """INSERT INTO alias_name VALUES('vertical_datum','EPSG','%s','%s','ESRI');""" % (
wkid, escape_literal(old_esri_name))
all_sql.append(sql)
else:
assert authority.upper() == 'ESRI', row
@@ -1647,6 +1694,13 @@ def import_vertcs():
sql = """INSERT INTO alias_name VALUES('vertical_crs','EPSG','%s','%s','ESRI');""" % (
code, escape_literal(esri_name))
all_sql.append(sql)
old_esri_name = get_old_esri_name(esri_name)
if old_esri_name != esri_name:
sql = """INSERT INTO alias_name VALUES('vertical_crs','EPSG','%s','%s','ESRI');""" % (
code, escape_literal(old_esri_name))
all_sql.append(sql)
else:
assert authority.upper() == 'ESRI', row
@@ -1840,6 +1894,13 @@ def import_hvcoordsys():
sql = """INSERT INTO alias_name VALUES('compound_crs','EPSG','%s','%s','ESRI');""" % (
code, escape_literal(esri_name))
all_sql.append(sql)
old_esri_name = get_old_esri_name(esri_name)
if old_esri_name != esri_name:
sql = """INSERT INTO alias_name VALUES('compound_crs','EPSG','%s','%s','ESRI');""" % (
code, escape_literal(old_esri_name))
all_sql.append(sql)
else:
assert False, row # no ESRI specific entries at that time !
+3 -1
View File
@@ -86,6 +86,7 @@ projection_data = [
[75, "Lambert Conic Conformal", "Lambert Conic Conformal (2SP)", "Latitude of false origin", 40, "Longitude of false origin", 0, "Latitude of 1st standard parallel", 20, "Latitude of 2nd standard parallel", 60, "Easting at false origin", 0, "Northing at false origin", 0],
[80, "Lambert Azimuthal Equal Area", "Lambert Azimuthal Equal Area", "Latitude of natural origin", 40, "Longitude of natural origin", 0, "False easting", 0, "False northing", 0, None, None, None, None],
[85, "Albers Equal Area", "Albers Equal Area", "Latitude of false origin", 40,"Longitude of false origin", 0, "Latitude of 1st standard parallel", 20, "Latitude of 2nd standard parallel", 60, "Easting at false origin", 0, "Northing at false origin", 0],
[90, "Popular Visualisation Pseudo-Mercator", "Popular Visualisation Pseudo Mercator", "Latitude of natural origin", 0, "Longitude of natural origin", 0, "False easting", 0, "False northing", 0, None, None, None, None],
]
method_and_param_mapping = {
@@ -111,7 +112,8 @@ method_and_param_mapping = {
"Polar Stereographic (variant A)": ["EPSG", 9810],
"Lambert Azimuthal Equal Area": ["EPSG", 9820],
"Albers Equal Area" : ["EPSG", 9822],
"Orthographic" : ["EPSG", 9840]
"Orthographic" : ["EPSG", 9840],
"Popular Visualisation Pseudo Mercator": ["EPSG", 1024]
}
def append_proj_paramater(name, value):
+9 -1
View File
@@ -289,6 +289,15 @@ config_str = """
- Scale_Factor: EPSG_NAME_PARAMETER_SCALE_FACTOR_AT_NATURAL_ORIGIN
- Latitude_Of_Origin: EPSG_NAME_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN
- Polar_Stereographic_Variant_A:
WKT2_name: EPSG_NAME_METHOD_POLAR_STEREOGRAPHIC_VARIANT_A
Params:
- False_Easting: EPSG_NAME_PARAMETER_FALSE_EASTING
- False_Northing: EPSG_NAME_PARAMETER_FALSE_NORTHING
- Central_Meridian: EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN
- Scale_Factor: EPSG_NAME_PARAMETER_SCALE_FACTOR_AT_NATURAL_ORIGIN
- Latitude_Of_Origin: EPSG_NAME_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN
- Equidistant_Conic:
WKT2_name: PROJ_WKT2_NAME_METHOD_EQUIDISTANT_CONIC
Params:
@@ -740,7 +749,6 @@ config_str = """
# Missing mappings
# Transverse_Mercator_NGA_2014: utm -- tricky mapping from Central_Meridian to zone
# Polar_Stereographic_Variant_A: ups -- tricky mapping from Latitude_Of_Origin to "+south" when required
# Transverse Mercator: alias for Transverse_Mercator, as seen in ESRI:102470 - ESRI:102489
+2
View File
@@ -583,6 +583,7 @@ osgeo::proj::operation::Conversion::createKrovak(osgeo::proj::util::PropertyMap
osgeo::proj::operation::Conversion::createLabordeObliqueMercator(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Scale const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
osgeo::proj::operation::Conversion::createLambertAzimuthalEqualArea(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
osgeo::proj::operation::Conversion::createLambertConicConformal_1SP(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Scale const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
osgeo::proj::operation::Conversion::createLambertConicConformal_1SP_VariantB(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Scale const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
osgeo::proj::operation::Conversion::createLambertConicConformal_2SP_Belgium(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
osgeo::proj::operation::Conversion::createLambertConicConformal_2SP_Michigan(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&, osgeo::proj::common::Scale const&)
osgeo::proj::operation::Conversion::createLambertConicConformal_2SP(osgeo::proj::util::PropertyMap const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Angle const&, osgeo::proj::common::Length const&, osgeo::proj::common::Length const&)
@@ -911,6 +912,7 @@ proj_create_conversion_krovak_north_oriented
proj_create_conversion_laborde_oblique_mercator
proj_create_conversion_lambert_azimuthal_equal_area
proj_create_conversion_lambert_conic_conformal_1sp
proj_create_conversion_lambert_conic_conformal_1sp_variant_b
proj_create_conversion_lambert_conic_conformal_2sp
proj_create_conversion_lambert_conic_conformal_2sp_belgium
proj_create_conversion_lambert_conic_conformal_2sp_michigan
+275 -78
View File
@@ -245,8 +245,24 @@ int pj_get_suggested_operation(PJ_CONTEXT *,
const auto &alt = opList[i];
bool spatialCriterionOK = false;
if (direction == PJ_FWD) {
if (coord.xyzt.x >= alt.minxSrc && coord.xyzt.y >= alt.minySrc &&
coord.xyzt.x <= alt.maxxSrc && coord.xyzt.y <= alt.maxySrc) {
if (alt.pjSrcGeocentricToLonLat) {
if (alt.minxSrc == -180 && alt.minySrc == -90 &&
alt.maxxSrc == 180 && alt.maxySrc == 90) {
spatialCriterionOK = true;
} else {
PJ_COORD tmp = coord;
pj_fwd4d(tmp, alt.pjSrcGeocentricToLonLat);
if (tmp.xyzt.x >= alt.minxSrc &&
tmp.xyzt.y >= alt.minySrc &&
tmp.xyzt.x <= alt.maxxSrc &&
tmp.xyzt.y <= alt.maxySrc) {
spatialCriterionOK = true;
}
}
} else if (coord.xyzt.x >= alt.minxSrc &&
coord.xyzt.y >= alt.minySrc &&
coord.xyzt.x <= alt.maxxSrc &&
coord.xyzt.y <= alt.maxySrc) {
spatialCriterionOK = true;
} else if (alt.srcIsLonLatDegree && coord.xyzt.y >= alt.minySrc &&
coord.xyzt.y <= alt.maxySrc) {
@@ -264,8 +280,24 @@ int pj_get_suggested_operation(PJ_CONTEXT *,
}
}
} else {
if (coord.xyzt.x >= alt.minxDst && coord.xyzt.y >= alt.minyDst &&
coord.xyzt.x <= alt.maxxDst && coord.xyzt.y <= alt.maxyDst) {
if (alt.pjDstGeocentricToLonLat) {
if (alt.minxDst == -180 && alt.minyDst == -90 &&
alt.maxxDst == 180 && alt.maxyDst == 90) {
spatialCriterionOK = true;
} else {
PJ_COORD tmp = coord;
pj_fwd4d(tmp, alt.pjDstGeocentricToLonLat);
if (tmp.xyzt.x >= alt.minxDst &&
tmp.xyzt.y >= alt.minyDst &&
tmp.xyzt.x <= alt.maxxDst &&
tmp.xyzt.y <= alt.maxyDst) {
spatialCriterionOK = true;
}
}
} else if (coord.xyzt.x >= alt.minxDst &&
coord.xyzt.y >= alt.minyDst &&
coord.xyzt.x <= alt.maxxDst &&
coord.xyzt.y <= alt.maxyDst) {
spatialCriterionOK = true;
} else if (alt.dstIsLonLatDegree && coord.xyzt.y >= alt.minyDst &&
coord.xyzt.y <= alt.maxyDst) {
@@ -307,8 +339,7 @@ int pj_get_suggested_operation(PJ_CONTEXT *,
!opList[iBest].isPriorityOp)) &&
!alt.isOffshore)) {
if (skipNonInstantiable &&
!proj_coordoperation_is_instantiable(alt.pj->ctx, alt.pj)) {
if (skipNonInstantiable && !alt.isInstantiable()) {
continue;
}
iBest = i;
@@ -320,6 +351,24 @@ int pj_get_suggested_operation(PJ_CONTEXT *,
return iBest;
}
//! @cond Doxygen_Suppress
/**************************************************************************************/
PJCoordOperation::~PJCoordOperation() {
/**************************************************************************************/
proj_destroy(pj);
proj_destroy(pjSrcGeocentricToLonLat);
proj_destroy(pjDstGeocentricToLonLat);
}
/**************************************************************************************/
bool PJCoordOperation::isInstantiable() const {
/**************************************************************************************/
if (isInstantiableCached == INSTANTIABLE_STATUS_UNKNOWN)
isInstantiableCached = proj_coordoperation_is_instantiable(pj->ctx, pj);
return (isInstantiableCached == 1);
}
//! @endcond
/**************************************************************************************/
static void warnAboutMissingGrid(PJ *P)
/**************************************************************************************/
@@ -434,8 +483,10 @@ PJ_COORD proj_trans(PJ *P, PJ_DIRECTION direction, PJ_COORD coord) {
} else if (P->errorIfBestTransformationNotAvailable ||
P->warnIfBestTransformationNotAvailable) {
warnAboutMissingGrid(alt.pj);
if (P->errorIfBestTransformationNotAvailable)
if (P->errorIfBestTransformationNotAvailable) {
proj_errno_set(P, PROJ_ERR_COORD_TRANSFM_NO_OPERATION);
return res;
}
P->warnIfBestTransformationNotAvailable = false;
skipNonInstantiable = true;
}
@@ -1475,7 +1526,7 @@ int proj_trans_bounds(PJ_CONTEXT *context, PJ *P, PJ_DIRECTION direction,
bool degree_input = proj_degree_input(P, direction) != 0;
if (degree_output && densify_pts < 2) {
proj_log_error(
P, _("densify_pts must be at least 2 if the output is geograpic."));
P, _("densify_pts must be at least 2 if the output is geographic."));
proj_errno_set(P, PROJ_ERR_INVALID_OP_ILLEGAL_ARG_VALUE);
return false;
}
@@ -1649,11 +1700,11 @@ static void reproject_bbox(PJ *pjGeogToCrs, double west_lon, double south_lat,
}
/*****************************************************************************/
static PJ *add_coord_op_to_list(int idxInOriginalList, PJ *op, double west_lon,
double south_lat, double east_lon,
double north_lat, PJ *pjGeogToSrc,
PJ *pjGeogToDst, bool isOffshore,
std::vector<PJCoordOperation> &altCoordOps) {
static PJ *add_coord_op_to_list(
int idxInOriginalList, PJ *op, double west_lon, double south_lat,
double east_lon, double north_lat, PJ *pjGeogToSrc, PJ *pjGeogToDst,
const PJ *pjSrcGeocentricToLonLat, const PJ *pjDstGeocentricToLonLat,
bool isOffshore, std::vector<PJCoordOperation> &altCoordOps) {
/*****************************************************************************/
double minxSrc;
@@ -1665,19 +1716,35 @@ static PJ *add_coord_op_to_list(int idxInOriginalList, PJ *op, double west_lon,
double maxxDst;
double maxyDst;
reproject_bbox(pjGeogToSrc, west_lon, south_lat, east_lon, north_lat,
minxSrc, minySrc, maxxSrc, maxySrc);
reproject_bbox(pjGeogToDst, west_lon, south_lat, east_lon, north_lat,
minxDst, minyDst, maxxDst, maxyDst);
if (pjSrcGeocentricToLonLat) {
minxSrc = west_lon;
minySrc = south_lat;
maxxSrc = east_lon;
maxySrc = north_lat;
} else {
reproject_bbox(pjGeogToSrc, west_lon, south_lat, east_lon, north_lat,
minxSrc, minySrc, maxxSrc, maxySrc);
}
if (pjDstGeocentricToLonLat) {
minxDst = west_lon;
minyDst = south_lat;
maxxDst = east_lon;
maxyDst = north_lat;
} else {
reproject_bbox(pjGeogToDst, west_lon, south_lat, east_lon, north_lat,
minxDst, minyDst, maxxDst, maxyDst);
}
if (minxSrc <= maxxSrc && minxDst <= maxxDst) {
const char *c_name = proj_get_name(op);
std::string name(c_name ? c_name : "");
const double accuracy = proj_coordoperation_get_accuracy(op->ctx, op);
altCoordOps.emplace_back(idxInOriginalList, minxSrc, minySrc, maxxSrc,
maxySrc, minxDst, minyDst, maxxDst, maxyDst,
op, name, accuracy, isOffshore);
altCoordOps.emplace_back(
idxInOriginalList, minxSrc, minySrc, maxxSrc, maxySrc, minxDst,
minyDst, maxxDst, maxyDst, op, name, accuracy, isOffshore,
pjSrcGeocentricToLonLat, pjDstGeocentricToLonLat);
op = nullptr;
}
return op;
@@ -1788,6 +1855,57 @@ static PJ *create_operation_to_geog_crs(PJ_CONTEXT *ctx, const PJ *crs) {
return opGeogToCrs;
}
/*****************************************************************************/
static PJ *create_operation_geocentric_crs_to_geog_crs(PJ_CONTEXT *ctx,
const PJ *geocentric_crs)
/*****************************************************************************/
{
assert(proj_get_type(geocentric_crs) == PJ_TYPE_GEOCENTRIC_CRS);
auto datum = proj_crs_get_datum_forced(ctx, geocentric_crs);
assert(datum);
auto cs = proj_create_ellipsoidal_2D_cs(ctx, PJ_ELLPS2D_LONGITUDE_LATITUDE,
nullptr, 0);
auto ellps = proj_get_ellipsoid(ctx, datum);
proj_destroy(datum);
double semi_major_metre = 0;
double inv_flattening = 0;
proj_ellipsoid_get_parameters(ctx, ellps, &semi_major_metre, nullptr,
nullptr, &inv_flattening);
// It is critical to set the prime meridian to 0
auto lon_lat_crs = proj_create_geographic_crs(
ctx, "unnamed crs", "unnamed datum", proj_get_name(ellps),
semi_major_metre, inv_flattening, "Reference prime meridian", 0,
nullptr, 0, cs);
proj_destroy(ellps);
proj_destroy(cs);
// Create the transformation from this geocentric CRS to the lon-lat one
auto operation_ctx = proj_create_operation_factory_context(ctx, nullptr);
proj_operation_factory_context_set_spatial_criterion(
ctx, operation_ctx, PROJ_SPATIAL_CRITERION_PARTIAL_INTERSECTION);
proj_operation_factory_context_set_grid_availability_use(
ctx, operation_ctx,
PROJ_GRID_AVAILABILITY_DISCARD_OPERATION_IF_MISSING_GRID);
auto op_list =
proj_create_operations(ctx, geocentric_crs, lon_lat_crs, operation_ctx);
proj_operation_factory_context_destroy(operation_ctx);
proj_destroy(lon_lat_crs);
const int nOpCount = op_list == nullptr ? 0 : proj_list_get_count(op_list);
if (nOpCount != 1) {
proj_context_log_debug(ctx, "Cannot compute transformation from "
"geocentric CRS to geographic CRS");
proj_list_destroy(op_list);
return nullptr;
}
auto op = proj_list_get(ctx, op_list, 0);
assert(op);
proj_list_destroy(op_list);
return op;
}
/*****************************************************************************/
PJ *proj_create_crs_to_crs(PJ_CONTEXT *ctx, const char *source_crs,
const char *target_crs, PJ_AREA *area) {
@@ -1836,21 +1954,46 @@ pj_create_prepared_operations(PJ_CONTEXT *ctx, const PJ *source_crs,
const PJ *target_crs, PJ_OBJ_LIST *op_list)
/*****************************************************************************/
{
auto pjGeogToSrc = create_operation_to_geog_crs(ctx, source_crs);
if (!pjGeogToSrc) {
proj_context_log_debug(ctx,
"Cannot create transformation from geographic "
"CRS of source CRS to source CRS");
return {};
PJ *pjGeogToSrc = nullptr;
PJ *pjSrcGeocentricToLonLat = nullptr;
if (proj_get_type(source_crs) == PJ_TYPE_GEOCENTRIC_CRS) {
pjSrcGeocentricToLonLat =
create_operation_geocentric_crs_to_geog_crs(ctx, source_crs);
if (!pjSrcGeocentricToLonLat) {
// shouldn't happen
return {};
}
} else {
pjGeogToSrc = create_operation_to_geog_crs(ctx, source_crs);
if (!pjGeogToSrc) {
proj_context_log_debug(
ctx, "Cannot create transformation from geographic "
"CRS of source CRS to source CRS");
return {};
}
}
auto pjGeogToDst = create_operation_to_geog_crs(ctx, target_crs);
if (!pjGeogToDst) {
proj_context_log_debug(ctx,
"Cannot create transformation from geographic "
"CRS of target CRS to target CRS");
proj_destroy(pjGeogToSrc);
return {};
PJ *pjGeogToDst = nullptr;
PJ *pjDstGeocentricToLonLat = nullptr;
if (proj_get_type(target_crs) == PJ_TYPE_GEOCENTRIC_CRS) {
pjDstGeocentricToLonLat =
create_operation_geocentric_crs_to_geog_crs(ctx, target_crs);
if (!pjDstGeocentricToLonLat) {
// shouldn't happen
proj_destroy(pjSrcGeocentricToLonLat);
proj_destroy(pjGeogToSrc);
return {};
}
} else {
pjGeogToDst = create_operation_to_geog_crs(ctx, target_crs);
if (!pjGeogToDst) {
proj_context_log_debug(
ctx, "Cannot create transformation from geographic "
"CRS of target CRS to target CRS");
proj_destroy(pjSrcGeocentricToLonLat);
proj_destroy(pjGeogToSrc);
return {};
}
}
try {
@@ -1868,25 +2011,32 @@ pj_create_prepared_operations(PJ_CONTEXT *ctx, const PJ *source_crs,
double north_lat = 0.0;
const char *areaName = nullptr;
if (proj_get_area_of_use(ctx, op, &west_lon, &south_lat, &east_lon,
&north_lat, &areaName)) {
const bool isOffshore =
areaName && strstr(areaName, "- offshore");
if (west_lon <= east_lon) {
op = add_coord_op_to_list(
i, op, west_lon, south_lat, east_lon, north_lat,
pjGeogToSrc, pjGeogToDst, isOffshore, preparedOpList);
} else {
auto op_clone = proj_clone(ctx, op);
if (!proj_get_area_of_use(ctx, op, &west_lon, &south_lat, &east_lon,
&north_lat, &areaName)) {
west_lon = -180;
south_lat = -90;
east_lon = 180;
north_lat = 90;
}
op = add_coord_op_to_list(
i, op, west_lon, south_lat, 180, north_lat, pjGeogToSrc,
pjGeogToDst, isOffshore, preparedOpList);
op_clone = add_coord_op_to_list(
i, op_clone, -180, south_lat, east_lon, north_lat,
pjGeogToSrc, pjGeogToDst, isOffshore, preparedOpList);
proj_destroy(op_clone);
}
const bool isOffshore = areaName && strstr(areaName, "- offshore");
if (west_lon <= east_lon) {
op = add_coord_op_to_list(
i, op, west_lon, south_lat, east_lon, north_lat,
pjGeogToSrc, pjGeogToDst, pjSrcGeocentricToLonLat,
pjDstGeocentricToLonLat, isOffshore, preparedOpList);
} else {
auto op_clone = proj_clone(ctx, op);
op = add_coord_op_to_list(
i, op, west_lon, south_lat, 180, north_lat, pjGeogToSrc,
pjGeogToDst, pjSrcGeocentricToLonLat,
pjDstGeocentricToLonLat, isOffshore, preparedOpList);
op_clone = add_coord_op_to_list(
i, op_clone, -180, south_lat, east_lon, north_lat,
pjGeogToSrc, pjGeogToDst, pjSrcGeocentricToLonLat,
pjDstGeocentricToLonLat, isOffshore, preparedOpList);
proj_destroy(op_clone);
}
proj_destroy(op);
@@ -1894,10 +2044,14 @@ pj_create_prepared_operations(PJ_CONTEXT *ctx, const PJ *source_crs,
proj_destroy(pjGeogToSrc);
proj_destroy(pjGeogToDst);
proj_destroy(pjSrcGeocentricToLonLat);
proj_destroy(pjDstGeocentricToLonLat);
return preparedOpList;
} catch (const std::exception &) {
proj_destroy(pjGeogToSrc);
proj_destroy(pjGeogToDst);
proj_destroy(pjSrcGeocentricToLonLat);
proj_destroy(pjDstGeocentricToLonLat);
return {};
}
}
@@ -2046,20 +2200,35 @@ PJ *proj_create_crs_to_crs_from_pj(PJ_CONTEXT *ctx, const PJ *source_crs,
P->skipNonInstantiable = warnIfBestTransformationNotAvailable;
}
if (P == nullptr || op_count == 1 ||
proj_get_type(source_crs) == PJ_TYPE_GEOCENTRIC_CRS ||
proj_get_type(target_crs) == PJ_TYPE_GEOCENTRIC_CRS) {
const bool mayNeedToReRunWithDiscardMissing =
(errorIfBestTransformationNotAvailable ||
warnIfBestTransformationNotAvailable) &&
!proj_context_is_network_enabled(ctx);
int singleOpIsInstanciable = -1;
if (P != nullptr && op_count == 1 && mayNeedToReRunWithDiscardMissing) {
singleOpIsInstanciable = proj_coordoperation_is_instantiable(ctx, P);
}
const auto backup_errno = proj_context_errno(ctx);
if (P == nullptr ||
(op_count == 1 && (!mayNeedToReRunWithDiscardMissing ||
errorIfBestTransformationNotAvailable ||
singleOpIsInstanciable == static_cast<int>(true)))) {
proj_list_destroy(op_list);
ctx->forceOver = false;
if (P != nullptr &&
(errorIfBestTransformationNotAvailable ||
warnIfBestTransformationNotAvailable) &&
!proj_coordoperation_is_instantiable(ctx, P)) {
warnAboutMissingGrid(P);
if (errorIfBestTransformationNotAvailable) {
proj_destroy(P);
return nullptr;
if (P != nullptr && (errorIfBestTransformationNotAvailable ||
warnIfBestTransformationNotAvailable)) {
if (singleOpIsInstanciable < 0) {
singleOpIsInstanciable =
proj_coordoperation_is_instantiable(ctx, P);
}
if (!singleOpIsInstanciable) {
warnAboutMissingGrid(P);
if (errorIfBestTransformationNotAvailable) {
proj_destroy(P);
return nullptr;
}
}
}
@@ -2067,6 +2236,9 @@ PJ *proj_create_crs_to_crs_from_pj(PJ_CONTEXT *ctx, const PJ *source_crs,
P->over = forceOver;
}
return P;
} else if (op_count == 1 && mayNeedToReRunWithDiscardMissing &&
!singleOpIsInstanciable) {
warnAboutMissingGrid(P);
}
if (errorIfBestTransformationNotAvailable ||
@@ -2084,10 +2256,6 @@ PJ *proj_create_crs_to_crs_from_pj(PJ_CONTEXT *ctx, const PJ *source_crs,
return nullptr;
}
const bool mayNeedToReRunWithDiscardMissing =
(errorIfBestTransformationNotAvailable ||
warnIfBestTransformationNotAvailable) &&
!proj_context_is_network_enabled(ctx);
bool foundInstanciableAndNonBallpark = false;
for (auto &op : preparedOpList) {
@@ -2100,7 +2268,7 @@ PJ *proj_create_crs_to_crs_from_pj(PJ_CONTEXT *ctx, const PJ *source_crs,
!foundInstanciableAndNonBallpark) {
if (!proj_coordoperation_has_ballpark_transformation(op.pj->ctx,
op.pj) &&
proj_coordoperation_is_instantiable(op.pj->ctx, op.pj)) {
op.isInstantiable()) {
foundInstanciableAndNonBallpark = true;
}
}
@@ -2142,6 +2310,8 @@ PJ *proj_create_crs_to_crs_from_pj(PJ_CONTEXT *ctx, const PJ *source_crs,
op_list = proj_create_operations(ctx, source_crs, target_crs,
operation_ctx);
proj_operation_factory_context_destroy(operation_ctx);
if (op_list) {
ctx->forceOver = forceOver;
ctx->debug_level = PJ_LOG_NONE;
@@ -2169,10 +2339,30 @@ PJ *proj_create_crs_to_crs_from_pj(PJ_CONTEXT *ctx, const PJ *source_crs,
newOpList.emplace_back(std::move(op));
}
preparedOpList = std::move(newOpList);
} else {
// We get there in "cs2cs --only-best --no-ballpark
// EPSG:4326+3855 EPSG:4979" use case, where the initial
// create_operations returned 1 operation, and the retry
// with
// PROJ_GRID_AVAILABILITY_DISCARD_OPERATION_IF_MISSING_GRID
// returned 0.
if (op_count == 1 &&
(errorIfBestTransformationNotAvailable ||
warnIfBestTransformationNotAvailable)) {
if (singleOpIsInstanciable < 0) {
singleOpIsInstanciable =
proj_coordoperation_is_instantiable(ctx, P);
}
if (!singleOpIsInstanciable) {
if (errorIfBestTransformationNotAvailable) {
proj_destroy(P);
proj_context_errno_set(ctx, backup_errno);
return nullptr;
}
}
}
}
}
proj_operation_factory_context_destroy(operation_ctx);
}
}
@@ -2432,7 +2622,7 @@ PJ_PROJ_INFO proj_pj_info(PJ *P) {
// If there's just a single coordinate operation which is
// instanciable, use it.
for (const auto &op : P->alternativeCoordinateOperations) {
if (proj_coordoperation_is_instantiable(op.pj->ctx, op.pj)) {
if (op.isInstantiable()) {
if (candidateOp == nullptr) {
candidateOp = op.pj;
} else {
@@ -2782,13 +2972,12 @@ static bool isSpecialCaseForWGS84_to_GDA2020(const std::string &opName) {
return opName.find("GDA2020 to WGS 84 (2)") != std::string::npos;
}
PJCoordOperation::PJCoordOperation(int idxInOriginalListIn, double minxSrcIn,
double minySrcIn, double maxxSrcIn,
double maxySrcIn, double minxDstIn,
double minyDstIn, double maxxDstIn,
double maxyDstIn, PJ *pjIn,
const std::string &nameIn, double accuracyIn,
bool isOffshoreIn)
PJCoordOperation::PJCoordOperation(
int idxInOriginalListIn, double minxSrcIn, double minySrcIn,
double maxxSrcIn, double maxySrcIn, double minxDstIn, double minyDstIn,
double maxxDstIn, double maxyDstIn, PJ *pjIn, const std::string &nameIn,
double accuracyIn, bool isOffshoreIn, const PJ *pjSrcGeocentricToLonLatIn,
const PJ *pjDstGeocentricToLonLatIn)
: idxInOriginalList(idxInOriginalListIn), minxSrc(minxSrcIn),
minySrc(minySrcIn), maxxSrc(maxxSrcIn), maxySrc(maxySrcIn),
minxDst(minxDstIn), minyDst(minyDstIn), maxxDst(maxxDstIn),
@@ -2796,7 +2985,15 @@ PJCoordOperation::PJCoordOperation(int idxInOriginalListIn, double minxSrcIn,
isOffshore(isOffshoreIn),
isPriorityOp(isSpecialCaseForNAD83_to_NAD83HARN(name) ||
isSpecialCaseForGDA94_to_WGS84(name) ||
isSpecialCaseForWGS84_to_GDA2020(name)) {
isSpecialCaseForWGS84_to_GDA2020(name)),
pjSrcGeocentricToLonLat(pjSrcGeocentricToLonLatIn
? proj_clone(pjSrcGeocentricToLonLatIn->ctx,
pjSrcGeocentricToLonLatIn)
: nullptr),
pjDstGeocentricToLonLat(pjDstGeocentricToLonLatIn
? proj_clone(pjDstGeocentricToLonLatIn->ctx,
pjDstGeocentricToLonLatIn)
: nullptr) {
const auto IsLonLatOrLatLon = [](const PJ *crs, bool &isLonLatDegreeOut,
bool &isLatLonDegreeOut) {
const auto eType = proj_get_type(crs);
+2
View File
@@ -1153,7 +1153,9 @@ static int dispatch(const char *cmnd, const char *args) {
namespace { // anonymous namespace
static const struct {
/* cppcheck-suppress unusedStructMember */
const char *the_err_const;
/* cppcheck-suppress unusedStructMember */
int the_errno;
} lookup[] = {
+3 -2
View File
@@ -29,6 +29,9 @@
#define FROM_PROJ_CPP
#endif
// proj_config.h must be included before testing HAVE_LIBDL
#include "proj_config.h"
#if defined(HAVE_LIBDL) && !defined(_GNU_SOURCE)
// Required for dladdr() on Cygwin
#define _GNU_SOURCE
@@ -50,8 +53,6 @@
#include <sys/stat.h>
#include "proj_config.h"
#ifdef _WIN32
#if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_APP)
#define UWP 1
+8 -4
View File
@@ -1538,7 +1538,7 @@ GTiffVGridShiftSet::open(PJ_CONTEXT *ctx, std::unique_ptr<File> fp,
}
}
// Identify the index of the geoid_undulation/vertical_offset
// Identify the index of the vertical correction
bool foundDescriptionForAtLeastOneSample = false;
bool foundDescriptionForShift = false;
for (int i = 0; i < static_cast<int>(grid->samplesPerPixel()); ++i) {
@@ -1546,7 +1546,9 @@ GTiffVGridShiftSet::open(PJ_CONTEXT *ctx, std::unique_ptr<File> fp,
if (!desc.empty()) {
foundDescriptionForAtLeastOneSample = true;
}
if (desc == "geoid_undulation" || desc == "vertical_offset") {
if (desc == "geoid_undulation" || desc == "vertical_offset" ||
desc == "hydroid_height" ||
desc == "ellipsoidal_height_offset") {
idxSample = static_cast<uint16_t>(i);
foundDescriptionForShift = true;
}
@@ -1561,13 +1563,15 @@ GTiffVGridShiftSet::open(PJ_CONTEXT *ctx, std::unique_ptr<File> fp,
// IFD for example
pj_log(ctx, PJ_LOG_DEBUG,
"Ignoring IFD %d as it has no "
"geoid_undulation/vertical_offset channel",
"geoid_undulation/vertical_offset/hydroid_height/"
"ellipsoidal_height_offset channel",
ifd);
continue;
} else {
pj_log(ctx, PJ_LOG_DEBUG,
"IFD 0 has channel descriptions, but no "
"geoid_undulation/vertical_offset channel");
"geoid_undulation/vertical_offset/hydroid_height/"
"ellipsoidal_height_offset channel");
return nullptr;
}
}
+47 -8
View File
@@ -51,6 +51,7 @@
#include "proj/metadata.hpp"
#include "proj/util.hpp"
#include "proj/internal/datum_internal.hpp"
#include "proj/internal/internal.hpp"
#include "proj/internal/io_internal.hpp"
@@ -4332,7 +4333,8 @@ PJ *proj_create_engineering_crs(PJ_CONTEXT *ctx, const char *crs_name) {
return pj_obj_create(
ctx, EngineeringCRS::create(
createPropertyMapName(crs_name),
EngineeringDatum::create(PropertyMap()),
EngineeringDatum::create(
createPropertyMapName(UNKNOWN_ENGINEERING_DATUM)),
CartesianCS::createEastingNorthing(UnitOfMeasure::METRE)));
} catch (const std::exception &e) {
proj_log_error(ctx, __FUNCTION__, e.what());
@@ -5307,6 +5309,43 @@ PJ *proj_create_conversion_lambert_conic_conformal_1sp(
}
// ---------------------------------------------------------------------------
/** \brief Instantiate a ProjectedCRS with a conversion based on the Lambert
* Conic Conformal (1SP Variant B) projection method.
*
* See
* osgeo::proj::operation::Conversion::createLambertConicConformal_1SP_VariantB().
*
* Linear parameters are expressed in (linear_unit_name,
* linear_unit_conv_factor).
* Angular parameters are expressed in (ang_unit_name, ang_unit_conv_factor).
* @since 9.2.1
*/
PJ *proj_create_conversion_lambert_conic_conformal_1sp_variant_b(
PJ_CONTEXT *ctx, double latitude_nat_origin, double scale,
double latitude_false_origin, double longitude_false_origin,
double easting_false_origin, double northing_false_origin,
const char *ang_unit_name, double ang_unit_conv_factor,
const char *linear_unit_name, double linear_unit_conv_factor) {
SANITIZE_CTX(ctx);
try {
UnitOfMeasure linearUnit(
createLinearUnit(linear_unit_name, linear_unit_conv_factor));
UnitOfMeasure angUnit(
createAngularUnit(ang_unit_name, ang_unit_conv_factor));
auto conv = Conversion::createLambertConicConformal_1SP_VariantB(
PropertyMap(), Angle(latitude_nat_origin, angUnit), Scale(scale),
Angle(latitude_false_origin, angUnit),
Angle(longitude_false_origin, angUnit),
Length(easting_false_origin, linearUnit),
Length(northing_false_origin, linearUnit));
return proj_create_conversion(ctx, conv);
} catch (const std::exception &e) {
proj_log_error(ctx, __FUNCTION__, e.what());
}
return nullptr;
}
// ---------------------------------------------------------------------------
/** \brief Instantiate a ProjectedCRS with a conversion based on the Lambert
* Conic Conformal (2SP) projection method.
*
@@ -8349,10 +8388,9 @@ PJ_OPERATION_LIST::getPreparedOperations(PJ_CONTEXT *ctx) {
* by increasing accuracy. Operations with unknown accuracy are sorted last,
* whatever their area.
*
* When one of the source or target CRS has a vertical component but not the
* other one, the one that has no vertical component is automatically promoted
* to a 3D version, where its vertical axis is the ellipsoidal height in metres,
* using the ellipsoid of the base geodetic CRS.
* Starting with PROJ 9.1, vertical transformations are only done if both
* source CRS and target CRS are 3D CRS or Compound CRS with a vertical
* component. You may need to use proj_crs_promote_to_3D().
*
* @param ctx PROJ context, or NULL for default context
* @param source_crs source CRS. Must not be NULL.
@@ -9063,7 +9101,7 @@ PJ *proj_normalize_for_visualization(PJ_CONTEXT *ctx, const PJ *obj) {
std::swap(maxxDst, maxyDst);
}
}
ctx->forceOver = alt.pj->over;
ctx->forceOver = alt.pj->over != 0;
auto pjNormalized =
pj_obj_create(ctx, co->normalizeForVisualization());
pjNormalized->over = alt.pj->over;
@@ -9072,7 +9110,8 @@ PJ *proj_normalize_for_visualization(PJ_CONTEXT *ctx, const PJ *obj) {
alt.idxInOriginalList, minxSrc, minySrc, maxxSrc,
maxySrc, minxDst, minyDst, maxxDst, maxyDst,
pjNormalized, co->nameStr(), alt.accuracy,
alt.isOffshore);
alt.isOffshore, alt.pjSrcGeocentricToLonLat,
alt.pjDstGeocentricToLonLat);
}
}
return pjNew.release();
@@ -9102,7 +9141,7 @@ PJ *proj_normalize_for_visualization(PJ_CONTEXT *ctx, const PJ *obj) {
return nullptr;
}
try {
ctx->forceOver = obj->over;
ctx->forceOver = obj->over != 0;
auto pjNormalized = pj_obj_create(ctx, co->normalizeForVisualization());
pjNormalized->over = obj->over;
ctx->forceOver = false;
+15 -2
View File
@@ -40,6 +40,7 @@
#include "proj_json_streaming_writer.hpp"
#include <cmath>
#include <limits>
using namespace NS_PROJ::internal;
@@ -149,6 +150,17 @@ CoordinateMetadata::coordinateEpoch() PROJ_PURE_DEFN {
// ---------------------------------------------------------------------------
// Avoid rounding issues due to year -> second (SI unit) -> year roundtrips
static double getRoundedEpochInDecimalYear(double year) {
// Try to see if the value is close to xxxx.yyy decimal year.
if (std::fabs(1000 * year - std::round(1000 * year)) <= 1e-3) {
year = std::round(1000 * year) / 1000.0;
}
return year;
}
// ---------------------------------------------------------------------------
/** \brief Get the coordinate epoch associated with this CoordinateMetadata
* object, as decimal year.
*
@@ -157,8 +169,9 @@ CoordinateMetadata::coordinateEpoch() PROJ_PURE_DEFN {
*/
double CoordinateMetadata::coordinateEpochAsDecimalYear() PROJ_PURE_DEFN {
if (d->coordinateEpoch_.has_value()) {
return d->coordinateEpoch_->coordinateEpoch().convertToUnit(
common::UnitOfMeasure::YEAR);
return getRoundedEpochInDecimalYear(
d->coordinateEpoch_->coordinateEpoch().convertToUnit(
common::UnitOfMeasure::YEAR));
}
return std::numeric_limits<double>::quiet_NaN();
}
+50 -3
View File
@@ -44,6 +44,7 @@
#include "proj/internal/coordinatesystem_internal.hpp"
#include "proj/internal/crs_internal.hpp"
#include "proj/internal/datum_internal.hpp"
#include "proj/internal/internal.hpp"
#include "proj/internal/io_internal.hpp"
@@ -6953,7 +6954,7 @@ void EngineeringCRS::_exportToWKT(io::WKTFormatter *formatter) const {
formatter->addQuotedString(nameStr());
const auto &datumName = datum()->nameStr();
if (isWKT2 ||
(!datumName.empty() && datumName != "Unknown engineering datum")) {
(!datumName.empty() && datumName != UNKNOWN_ENGINEERING_DATUM)) {
datum()->_exportToWKT(formatter);
}
if (!isWKT2) {
@@ -7006,8 +7007,54 @@ bool EngineeringCRS::_isEquivalentTo(
const util::IComparable *other, util::IComparable::Criterion criterion,
const io::DatabaseContextPtr &dbContext) const {
auto otherEngineeringCRS = dynamic_cast<const EngineeringCRS *>(other);
return otherEngineeringCRS != nullptr &&
SingleCRS::baseIsEquivalentTo(other, criterion, dbContext);
if (otherEngineeringCRS == nullptr ||
(criterion == util::IComparable::Criterion::STRICT &&
!ObjectUsage::_isEquivalentTo(other, criterion, dbContext))) {
return false;
}
// Check datum
const auto &thisDatum = datum();
const auto &otherDatum = otherEngineeringCRS->datum();
if (!thisDatum->_isEquivalentTo(otherDatum.get(), criterion, dbContext)) {
return false;
}
// Check coordinate system
const auto &thisCS = coordinateSystem();
const auto &otherCS = otherEngineeringCRS->coordinateSystem();
if (!(thisCS->_isEquivalentTo(otherCS.get(), criterion, dbContext))) {
const auto thisCartCS = dynamic_cast<cs::CartesianCS *>(thisCS.get());
const auto otherCartCS = dynamic_cast<cs::CartesianCS *>(otherCS.get());
const auto &thisAxisList = thisCS->axisList();
const auto &otherAxisList = otherCS->axisList();
// Check particular case of
// https://github.com/r-spatial/sf/issues/2049#issuecomment-1486600723
if (criterion != util::IComparable::Criterion::STRICT && thisCartCS &&
otherCartCS && thisAxisList.size() == 2 &&
otherAxisList.size() == 2 &&
((&thisAxisList[0]->direction() ==
&cs::AxisDirection::UNSPECIFIED &&
&thisAxisList[1]->direction() ==
&cs::AxisDirection::UNSPECIFIED) ||
(&otherAxisList[0]->direction() ==
&cs::AxisDirection::UNSPECIFIED &&
&otherAxisList[1]->direction() ==
&cs::AxisDirection::UNSPECIFIED)) &&
((thisAxisList[0]->nameStr() == "X" &&
otherAxisList[0]->nameStr() == "Easting" &&
thisAxisList[1]->nameStr() == "Y" &&
otherAxisList[1]->nameStr() == "Northing") ||
(otherAxisList[0]->nameStr() == "X" &&
thisAxisList[0]->nameStr() == "Easting" &&
otherAxisList[1]->nameStr() == "Y" &&
thisAxisList[1]->nameStr() == "Northing"))) {
return true;
}
return false;
}
return true;
}
// ---------------------------------------------------------------------------
+27 -7
View File
@@ -36,6 +36,7 @@
#include "proj/metadata.hpp"
#include "proj/util.hpp"
#include "proj/internal/datum_internal.hpp"
#include "proj/internal/internal.hpp"
#include "proj/internal/io_internal.hpp"
@@ -119,11 +120,23 @@ void Datum::Private::exportAnchorDefinition(io::WKTFormatter *formatter) const {
// ---------------------------------------------------------------------------
// Avoid rounding issues due to year -> second (SI unit) -> year roundtrips
static double getRoundedEpochInDecimalYear(double year) {
// Try to see if the value is close to xxxx.yyy decimal year.
if (std::fabs(1000 * year - std::round(1000 * year)) <= 1e-3) {
year = std::round(1000 * year) / 1000.0;
}
return year;
}
// ---------------------------------------------------------------------------
void Datum::Private::exportAnchorEpoch(io::WKTFormatter *formatter) const {
if (anchorEpoch->has_value()) {
formatter->startNode(io::WKTConstants::ANCHOREPOCH, false);
formatter->add(
(*anchorEpoch)->convertToUnit(common::UnitOfMeasure::YEAR));
const double year =
(*anchorEpoch)->convertToUnit(common::UnitOfMeasure::YEAR);
formatter->add(getRoundedEpochInDecimalYear(year));
formatter->endNode();
}
}
@@ -145,7 +158,9 @@ void Datum::Private::exportAnchorEpoch(io::JSONFormatter *formatter) const {
if (anchorEpoch->has_value()) {
auto writer = formatter->writer();
writer->AddObjKey("anchor_epoch");
writer->Add((*anchorEpoch)->convertToUnit(common::UnitOfMeasure::YEAR));
const double year =
(*anchorEpoch)->convertToUnit(common::UnitOfMeasure::YEAR);
writer->Add(getRoundedEpochInDecimalYear(year));
}
}
@@ -2640,12 +2655,17 @@ void EngineeringDatum::_exportToJSON(
bool EngineeringDatum::_isEquivalentTo(
const util::IComparable *other, util::IComparable::Criterion criterion,
const io::DatabaseContextPtr &dbContext) const {
auto otherTD = dynamic_cast<const EngineeringDatum *>(other);
if (otherTD == nullptr ||
!Datum::_isEquivalentTo(other, criterion, dbContext)) {
auto otherDatum = dynamic_cast<const EngineeringDatum *>(other);
if (otherDatum == nullptr) {
return false;
}
return true;
if (criterion != util::IComparable::Criterion::STRICT &&
(nameStr().empty() || nameStr() == UNKNOWN_ENGINEERING_DATUM) &&
(otherDatum->nameStr().empty() ||
otherDatum->nameStr() == UNKNOWN_ENGINEERING_DATUM)) {
return true;
}
return Datum::_isEquivalentTo(other, criterion, dbContext);
}
//! @endcond
+16 -1
View File
@@ -3250,6 +3250,17 @@ bool DatabaseContext::lookForGridInfo(
bool &directDownload, bool &openLicense, bool &gridAvailable) const {
Private::GridInfoCache info;
if (projFilename == "null") {
// Special case for implicit "null" grid.
fullFilename.clear();
packageName.clear();
url.clear();
directDownload = false;
openLicense = true;
gridAvailable = true;
return true;
}
auto ctxt = d->pjCtxt();
if (ctxt == nullptr) {
ctxt = pj_get_default_ctx();
@@ -3422,7 +3433,11 @@ DatabaseContext::getAliasFromOfficialName(const std::string &officialName,
}
sql += " ORDER BY deprecated";
auto res = d->run(sql, {officialName});
if (res.empty()) {
// Sorry for the hack excluding NAD83 + geographic_3D_crs, but otherwise
// EPSG has a weird alias from NAD83 to EPSG:4152 which happens to be
// NAD83(HARN), and that's definitely not desirable.
if (res.empty() &&
!(officialName == "NAD83" && tableName == "geographic_3D_crs")) {
res = d->run(
"SELECT auth_name, code FROM alias_name WHERE table_name = ? AND "
"alt_name = ? AND source IN ('EPSG', 'PROJ')",
+123 -49
View File
@@ -61,6 +61,7 @@
#include "operation/parammappings.hpp"
#include "proj/internal/coordinatesystem_internal.hpp"
#include "proj/internal/datum_internal.hpp"
#include "proj/internal/internal.hpp"
#include "proj/internal/io_internal.hpp"
@@ -109,10 +110,10 @@ NS_PROJ_START
namespace io {
//! @cond Doxygen_Suppress
const char *JSONFormatter::PROJJSON_v0_6 =
"https://proj.org/schemas/v0.6/projjson.schema.json";
const char *JSONFormatter::PROJJSON_v0_7 =
"https://proj.org/schemas/v0.7/projjson.schema.json";
#define PROJJSON_DEFAULT_VERSION JSONFormatter::PROJJSON_v0_6
#define PROJJSON_DEFAULT_VERSION JSONFormatter::PROJJSON_v0_7
//! @endcond
@@ -3362,6 +3363,24 @@ UnitOfMeasure WKTParser::Private::guessUnitForParameter(
// ---------------------------------------------------------------------------
static bool
isEPSGCodeForInterpolationParameter(const OperationParameterNNPtr &parameter) {
const auto &name = parameter->nameStr();
const auto epsgCode = parameter->getEPSGCode();
return name == EPSG_NAME_PARAMETER_EPSG_CODE_FOR_INTERPOLATION_CRS ||
epsgCode == EPSG_CODE_PARAMETER_EPSG_CODE_FOR_INTERPOLATION_CRS ||
name == EPSG_NAME_PARAMETER_EPSG_CODE_FOR_HORIZONTAL_CRS ||
epsgCode == EPSG_CODE_PARAMETER_EPSG_CODE_FOR_HORIZONTAL_CRS;
}
// ---------------------------------------------------------------------------
static bool isIntegerParameter(const OperationParameterNNPtr &parameter) {
return isEPSGCodeForInterpolationParameter(parameter);
}
// ---------------------------------------------------------------------------
void WKTParser::Private::consumeParameters(
const WKTNodeNNPtr &node, bool isAbridged,
std::vector<OperationParameterNNPtr> &parameters,
@@ -3412,8 +3431,13 @@ void WKTParser::Private::consumeParameters(
}
}
values.push_back(
ParameterValue::create(Measure(val, unit)));
if (isIntegerParameter(parameters.back())) {
values.push_back(ParameterValue::create(
std::stoi(childNodeChildren[1]->GP()->value())));
} else {
values.push_back(
ParameterValue::create(Measure(val, unit)));
}
} catch (const std::exception &) {
throw ParsingException(concat(
"unhandled parameter value type : ", paramValue));
@@ -3457,6 +3481,9 @@ WKTParser::Private::buildConversion(const WKTNodeNNPtr &node,
consumeParameters(node, false, parameters, values, defaultLinearUnit,
defaultAngularUnit);
auto interpolationCRS = dealWithEPSGCodeForInterpolationCRSParameter(
dbContext_, parameters, values);
auto &convProps = buildProperties(node);
auto &methodProps = buildProperties(methodNode);
std::string convName;
@@ -3468,13 +3495,14 @@ WKTParser::Private::buildConversion(const WKTNodeNNPtr &node,
auto &invConvProps = buildProperties(node, true);
auto &invMethodProps = buildProperties(methodNode, true);
return NN_NO_CHECK(util::nn_dynamic_pointer_cast<Conversion>(
auto conv = NN_NO_CHECK(util::nn_dynamic_pointer_cast<Conversion>(
Conversion::create(invConvProps, invMethodProps, parameters, values)
->inverse()));
if (interpolationCRS)
conv->setInterpolationCRS(interpolationCRS);
return conv;
}
auto conv = Conversion::create(convProps, methodProps, parameters, values);
auto interpolationCRS = dealWithEPSGCodeForInterpolationCRSParameter(
dbContext_, parameters, values);
if (interpolationCRS)
conv->setInterpolationCRS(interpolationCRS);
return conv;
@@ -3490,15 +3518,8 @@ static CRSPtr dealWithEPSGCodeForInterpolationCRSParameter(
// crs_epsg_code] into proper interpolation CRS
if (dbContext != nullptr) {
for (size_t i = 0; i < parameters.size(); ++i) {
const auto &l_name = parameters[i]->nameStr();
const auto epsgCode = parameters[i]->getEPSGCode();
if (l_name == EPSG_NAME_PARAMETER_EPSG_CODE_FOR_INTERPOLATION_CRS ||
epsgCode ==
EPSG_CODE_PARAMETER_EPSG_CODE_FOR_INTERPOLATION_CRS ||
l_name == EPSG_NAME_PARAMETER_EPSG_CODE_FOR_HORIZONTAL_CRS ||
epsgCode == EPSG_CODE_PARAMETER_EPSG_CODE_FOR_HORIZONTAL_CRS) {
const int code =
static_cast<int>(values[i]->value().getSIValue());
if (isEPSGCodeForInterpolationParameter(parameters[i])) {
const int code = values[i]->integerValue();
try {
auto authFactory = AuthorityFactory::create(
NN_NO_CHECK(dbContext), Identifier::EPSG);
@@ -3622,10 +3643,16 @@ WKTParser::Private::buildConcatenatedOperation(const WKTNodeNNPtr &node) {
ConcatenatedOperation::fixStepsDirection(
NN_NO_CHECK(sourceCRS), NN_NO_CHECK(targetCRS), operations);
std::vector<PositionalAccuracyNNPtr> accuracies;
auto &accuracyNode = nodeP->lookForChild(WKTConstants::OPERATIONACCURACY);
if (/*!isNull(accuracyNode) && */ accuracyNode->GP()->childrenSize() == 1) {
accuracies.push_back(PositionalAccuracy::create(
stripQuotes(accuracyNode->GP()->children()[0])));
}
try {
return ConcatenatedOperation::create(
buildProperties(node), operations,
std::vector<PositionalAccuracyNNPtr>());
return ConcatenatedOperation::create(buildProperties(node), operations,
accuracies);
} catch (const InvalidOperation &e) {
throw ParsingException(
std::string("Cannot build concatenated operation: ") + e.what());
@@ -4361,15 +4388,7 @@ WKTParser::Private::buildProjectedCRS(const WKTNodeNNPtr &node) {
const std::string projCRSName = stripQuotes(nodeP->children()[0]);
if (esriStyle_ && dbContext_) {
// It is likely that the ESRI definition of EPSG:32661 (UPS North) &
// EPSG:32761 (UPS South) uses the easting-northing order, instead
// of the EPSG northing-easting order
// so don't substitute names to avoid confusion.
if (projCRSName == "UPS_North") {
props.set(IdentifiedObject::NAME_KEY, "WGS 84 / UPS North (E,N)");
} else if (projCRSName == "UPS_South") {
props.set(IdentifiedObject::NAME_KEY, "WGS 84 / UPS South (E,N)");
} else if (cartesianCS) {
if (cartesianCS) {
std::string outTableName;
std::string authNameFromAlias;
std::string codeFromAlias;
@@ -5174,8 +5193,7 @@ WKTParser::Private::buildEngineeringCRSFromLocalCS(const WKTNodeNNPtr &node) {
// has a tradition of emitting just LOCAL_CS["foo"]
[]() {
PropertyMap map;
map.set(IdentifiedObject::NAME_KEY,
"Unknown engineering datum");
map.set(IdentifiedObject::NAME_KEY, UNKNOWN_ENGINEERING_DATUM);
return map;
}());
return EngineeringCRS::create(buildProperties(node), datum, cs);
@@ -5587,6 +5605,7 @@ class JSONParser {
static std::string getString(const json &j, const char *key);
static json getObject(const json &j, const char *key);
static json getArray(const json &j, const char *key);
static int getInteger(const json &j, const char *key);
static double getNumber(const json &j, const char *key);
static UnitOfMeasure getUnit(const json &j, const char *key);
static std::string getName(const json &j);
@@ -5745,6 +5764,27 @@ json JSONParser::getArray(const json &j, const char *key) {
// ---------------------------------------------------------------------------
int JSONParser::getInteger(const json &j, const char *key) {
if (!j.contains(key)) {
throw ParsingException(std::string("Missing \"") + key + "\" key");
}
auto v = j[key];
if (!v.is_number()) {
throw ParsingException(std::string("The value of \"") + key +
"\" should be an integer");
}
const double dbl = v.get<double>();
if (!(dbl >= std::numeric_limits<int>::min() &&
dbl <= std::numeric_limits<int>::max() &&
static_cast<int>(dbl) == dbl)) {
throw ParsingException(std::string("The value of \"") + key +
"\" should be an integer");
}
return static_cast<int>(dbl);
}
// ---------------------------------------------------------------------------
double JSONParser::getNumber(const json &j, const char *key) {
if (!j.contains(key)) {
throw ParsingException(std::string("Missing \"") + key + "\" key");
@@ -6387,9 +6427,17 @@ ConversionNNPtr JSONParser::buildConversion(const json &j) {
}
parameters.emplace_back(
OperationParameter::create(buildProperties(param)));
values.emplace_back(ParameterValue::create(getMeasure(param)));
if (isIntegerParameter(parameters.back())) {
values.emplace_back(
ParameterValue::create(getInteger(param, "value")));
} else {
values.emplace_back(ParameterValue::create(getMeasure(param)));
}
}
auto interpolationCRS = dealWithEPSGCodeForInterpolationCRSParameter(
dbContext_, parameters, values);
std::string convName;
std::string methodName;
if (convProps.getStringValue(IdentifiedObject::NAME_KEY, convName) &&
@@ -6399,11 +6447,17 @@ ConversionNNPtr JSONParser::buildConversion(const json &j) {
auto invConvProps = buildProperties(j, true);
auto invMethodProps = buildProperties(methodJ, true);
return NN_NO_CHECK(util::nn_dynamic_pointer_cast<Conversion>(
auto conv = NN_NO_CHECK(util::nn_dynamic_pointer_cast<Conversion>(
Conversion::create(invConvProps, invMethodProps, parameters, values)
->inverse()));
if (interpolationCRS)
conv->setInterpolationCRS(interpolationCRS);
return conv;
}
return Conversion::create(convProps, methodProps, parameters, values);
auto conv = Conversion::create(convProps, methodProps, parameters, values);
if (interpolationCRS)
conv->setInterpolationCRS(interpolationCRS);
return conv;
}
// ---------------------------------------------------------------------------
@@ -6528,10 +6582,15 @@ JSONParser::buildConcatenatedOperation(const json &j) {
ConcatenatedOperation::fixStepsDirection(sourceCRS, targetCRS, operations);
std::vector<PositionalAccuracyNNPtr> accuracies;
if (j.contains("accuracy")) {
accuracies.push_back(
PositionalAccuracy::create(getString(j, "accuracy")));
}
try {
return ConcatenatedOperation::create(
buildProperties(j), operations,
std::vector<PositionalAccuracyNNPtr>());
return ConcatenatedOperation::create(buildProperties(j), operations,
accuracies);
} catch (const InvalidOperation &e) {
throw ParsingException(
std::string("Cannot build concatenated operation: ") + e.what());
@@ -10306,7 +10365,7 @@ PROJStringParser::Private::buildDatum(Step &step, const std::string &title) {
return GeodeticReferenceFrame::create(
grfMap.set(IdentifiedObject::NAME_KEY,
title.empty()
? "Unknown based on WGS84 ellipsoid" +
? "Unknown based on WGS 84 ellipsoid" +
datumNameSuffix
: title),
Ellipsoid::WGS84, optionalEmptyString, pm);
@@ -10314,7 +10373,7 @@ PROJStringParser::Private::buildDatum(Step &step, const std::string &title) {
return GeodeticReferenceFrame::create(
grfMap.set(IdentifiedObject::NAME_KEY,
title.empty()
? "Unknown based on GRS80 ellipsoid" +
? "Unknown based on GRS 1980 ellipsoid" +
datumNameSuffix
: title),
Ellipsoid::GRS1980, optionalEmptyString, pm);
@@ -10382,10 +10441,20 @@ PROJStringParser::Private::buildDatum(Step &step, const std::string &title) {
const auto createGRF = [&grfMap, &title, &optionalEmptyString,
&datumNameSuffix,
&pm](const EllipsoidNNPtr &ellipsoid) {
std::string datumName(title);
if (title.empty()) {
if (ellipsoid->nameStr() != "unknown") {
datumName = "Unknown based on ";
datumName += ellipsoid->nameStr();
datumName += " ellipsoid";
} else {
datumName = "unknown";
}
datumName += datumNameSuffix;
}
return GeodeticReferenceFrame::create(
grfMap.set(IdentifiedObject::NAME_KEY,
title.empty() ? "unknown" + datumNameSuffix : title),
ellipsoid, optionalEmptyString, fixupPrimeMeridan(ellipsoid, pm));
grfMap.set(IdentifiedObject::NAME_KEY, datumName), ellipsoid,
optionalEmptyString, fixupPrimeMeridan(ellipsoid, pm));
};
if (a > 0 && (b > 0 || !bStr.empty())) {
@@ -11020,13 +11089,18 @@ PROJStringParser::Private::buildProjectedCRS(int iStep,
const auto &lat_1 = getParamValue(step, "lat_1");
const auto &lat_2 = getParamValue(step, "lat_2");
const auto &k = getParamValueK(step);
if (lat_2.empty() && !lat_0.empty() && !lat_1.empty() &&
(lat_0 == lat_1 ||
// For some reason with gcc 5.3.1-14ubuntu2 32bit, the following
// comparison returns false even if lat_0 == lat_1. Smells like
// a compiler bug
getAngularValue(lat_0) == getAngularValue(lat_1))) {
mapping = getMapping(EPSG_CODE_METHOD_LAMBERT_CONIC_CONFORMAL_1SP);
if (lat_2.empty() && !lat_0.empty() && !lat_1.empty()) {
if (lat_0 == lat_1 ||
// For some reason with gcc 5.3.1-14ubuntu2 32bit, the following
// comparison returns false even if lat_0 == lat_1. Smells like
// a compiler bug
getAngularValue(lat_0) == getAngularValue(lat_1)) {
mapping =
getMapping(EPSG_CODE_METHOD_LAMBERT_CONIC_CONFORMAL_1SP);
} else {
mapping = getMapping(
EPSG_CODE_METHOD_LAMBERT_CONIC_CONFORMAL_1SP_VARIANT_B);
}
} else if (!k.empty() && getNumericValue(k) != 1.0) {
mapping = getMapping(
EPSG_CODE_METHOD_LAMBERT_CONIC_CONFORMAL_2SP_MICHIGAN);
@@ -718,6 +718,12 @@ void ConcatenatedOperation::_exportToWKT(io::WKTFormatter *formatter) const {
formatter->popDisableUsage();
}
if (!coordinateOperationAccuracies().empty()) {
formatter->startNode(io::WKTConstants::OPERATIONACCURACY, false);
formatter->add(coordinateOperationAccuracies()[0]->value());
formatter->endNode();
}
ObjectUsage::baseExportToWKT(formatter);
formatter->endNode();
}
@@ -758,6 +764,11 @@ void ConcatenatedOperation::_exportToJSON(
}
}
if (!coordinateOperationAccuracies().empty()) {
writer->AddObjKey("accuracy");
writer->Add(coordinateOperationAccuracies()[0]->value());
}
ObjectUsage::baseExportToJSON(formatter);
}
+110 -23
View File
@@ -591,6 +591,40 @@ ConversionNNPtr Conversion::createLambertConicConformal_1SP(
// ---------------------------------------------------------------------------
/** \brief Instantiate a conversion based on the
* <a href="../../../operations/projections/lcc.html">
* Lambert Conic Conformal 1SP Variant B</a> projection method.
*
* This method is defined as
* <a href="https://epsg.org/coord-operation-method_1102/index.html">
* EPSG:1102</a>.
*
* @param properties See \ref general_properties of the conversion. If the name
* is not provided, it is automatically set.
* @param latitudeNatOrigin See \ref center_latitude
* @param scale See \ref scale
* @param latitudeFalseOrigin See \ref latitude_false_origin
* @param longitudeFalseOrigin See \ref longitude_false_origin
* @param eastingFalseOrigin See \ref easting_false_origin
* @param northingFalseOrigin See \ref northing_false_origin
* @return a new Conversion.
* @since 9.2.1
*/
ConversionNNPtr Conversion::createLambertConicConformal_1SP_VariantB(
const util::PropertyMap &properties, const common::Angle &latitudeNatOrigin,
const common::Scale &scale, const common::Angle &latitudeFalseOrigin,
const common::Angle &longitudeFalseOrigin,
const common::Length &eastingFalseOrigin,
const common::Length &northingFalseOrigin) {
return create(properties,
EPSG_CODE_METHOD_LAMBERT_CONIC_CONFORMAL_1SP_VARIANT_B,
createParams(latitudeNatOrigin, scale, latitudeFalseOrigin,
longitudeFalseOrigin, eastingFalseOrigin,
northingFalseOrigin));
}
// ---------------------------------------------------------------------------
/** \brief Instantiate a conversion based on the
* <a href="../../../operations/projections/lcc.html">
* Lambert Conic Conformal 2SP</a> projection method.
@@ -3085,6 +3119,19 @@ static void getESRIMethodNameAndParams(const Conversion *conv,
esriParams = paramsESRI_Rectified_Skew_Orthomorphic_Center;
esriMethodName = "Rectified_Skew_Orthomorphic_Center";
}
} else if (esriMapping->epsg_code ==
EPSG_CODE_METHOD_POLAR_STEREOGRAPHIC_VARIANT_A) {
// Quite empiric, but looking at pe_list_projcs.csv, the only
// CRS that use Polar_Stereographic_Variant_A are EPSG:5041 and 5042
if (l_targetCRS &&
// EPSG:5041
(l_targetCRS->nameStr() == "WGS 84 / UPS North (E,N)" ||
// EPSG:5042
l_targetCRS->nameStr() == "WGS 84 / UPS South (E,N)")) {
esriMethodName = "Polar_Stereographic_Variant_A";
} else {
esriMethodName = "Stereographic";
}
} else if (esriMapping->epsg_code ==
EPSG_CODE_METHOD_POLAR_STEREOGRAPHIC_VARIANT_B) {
if (conv->parameterValueNumericAsSI(
@@ -3283,7 +3330,13 @@ void Conversion::_exportToWKT(io::WKTFormatter *formatter) const {
const MethodMapping *mapping =
!isWKT2 ? getMapping(l_method.get()) : nullptr;
bool hasInterpolationCRSParameter = false;
for (const auto &genOpParamvalue : parameterValues()) {
const auto opParamvalue =
dynamic_cast<const OperationParameterValue *>(
genOpParamvalue.get());
const int paramEPSGCode =
opParamvalue ? opParamvalue->parameter()->getEPSGCode() : 0;
// EPSG has normally no Latitude of natural origin for Equidistant
// Cylindrical but PROJ can handle it, so output the parameter if
@@ -3291,12 +3344,8 @@ void Conversion::_exportToWKT(io::WKTFormatter *formatter) const {
if ((methodEPSGCode == EPSG_CODE_METHOD_EQUIDISTANT_CYLINDRICAL ||
methodEPSGCode ==
EPSG_CODE_METHOD_EQUIDISTANT_CYLINDRICAL_SPHERICAL)) {
auto opParamvalue =
dynamic_cast<const OperationParameterValue *>(
genOpParamvalue.get());
if (opParamvalue &&
opParamvalue->parameter()->getEPSGCode() ==
EPSG_CODE_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN) {
if (paramEPSGCode ==
EPSG_CODE_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN) {
const auto &paramValue = opParamvalue->parameterValue();
if (paramValue->type() == ParameterValue::Type::MEASURE) {
const auto &measure = paramValue->value();
@@ -3308,27 +3357,37 @@ void Conversion::_exportToWKT(io::WKTFormatter *formatter) const {
}
// Same for false easting / false northing for Vertical Perspective
else if (methodEPSGCode == EPSG_CODE_METHOD_VERTICAL_PERSPECTIVE) {
auto opParamvalue =
dynamic_cast<const OperationParameterValue *>(
genOpParamvalue.get());
if (opParamvalue) {
const auto paramEPSGCode =
opParamvalue->parameter()->getEPSGCode();
if (paramEPSGCode == EPSG_CODE_PARAMETER_FALSE_EASTING ||
paramEPSGCode == EPSG_CODE_PARAMETER_FALSE_NORTHING) {
const auto &paramValue = opParamvalue->parameterValue();
if (paramValue->type() ==
ParameterValue::Type::MEASURE) {
const auto &measure = paramValue->value();
if (measure.getSIValue() == 0) {
continue;
}
if (paramEPSGCode == EPSG_CODE_PARAMETER_FALSE_EASTING ||
paramEPSGCode == EPSG_CODE_PARAMETER_FALSE_NORTHING) {
const auto &paramValue = opParamvalue->parameterValue();
if (paramValue->type() == ParameterValue::Type::MEASURE) {
const auto &measure = paramValue->value();
if (measure.getSIValue() == 0) {
continue;
}
}
}
}
if (paramEPSGCode ==
EPSG_CODE_PARAMETER_EPSG_CODE_FOR_INTERPOLATION_CRS ||
paramEPSGCode ==
EPSG_CODE_PARAMETER_EPSG_CODE_FOR_HORIZONTAL_CRS) {
hasInterpolationCRSParameter = true;
}
genOpParamvalue->_exportToWKT(formatter, mapping);
}
// If we have an interpolation CRS that has a EPSG code, then
// we can export it as a PARAMETER[]
const auto l_interpolationCRS = interpolationCRS();
if (!hasInterpolationCRSParameter && l_interpolationCRS) {
const auto code = l_interpolationCRS->getEPSGCode();
if (code != 0) {
createOperationParameterValueFromInterpolationCRS(
methodEPSGCode, code)
->_exportToWKT(formatter, mapping);
}
}
}
if (isWKT2) {
@@ -3365,18 +3424,46 @@ void Conversion::_exportToJSON(
writer->AddObjKey("method");
formatter->setOmitTypeInImmediateChild();
formatter->setAllowIDInImmediateChild();
method()->_exportToJSON(formatter);
const auto &l_method = method();
l_method->_exportToJSON(formatter);
const auto &l_parameterValues = parameterValues();
if (!l_parameterValues.empty()) {
const auto l_interpolationCRS = interpolationCRS();
if (!l_parameterValues.empty() || l_interpolationCRS) {
writer->AddObjKey("parameters");
{
bool hasInterpolationCRSParameter = false;
auto parametersContext(writer->MakeArrayContext(false));
for (const auto &genOpParamvalue : l_parameterValues) {
const auto opParamvalue =
dynamic_cast<const OperationParameterValue *>(
genOpParamvalue.get());
const int paramEPSGCode =
opParamvalue ? opParamvalue->parameter()->getEPSGCode() : 0;
if (paramEPSGCode ==
EPSG_CODE_PARAMETER_EPSG_CODE_FOR_INTERPOLATION_CRS ||
paramEPSGCode ==
EPSG_CODE_PARAMETER_EPSG_CODE_FOR_HORIZONTAL_CRS) {
hasInterpolationCRSParameter = true;
}
formatter->setAllowIDInImmediateChild();
formatter->setOmitTypeInImmediateChild();
genOpParamvalue->_exportToJSON(formatter);
}
// If we have an interpolation CRS that has a EPSG code, then
// we can export it as a parameter
if (!hasInterpolationCRSParameter && l_interpolationCRS) {
const auto methodEPSGCode = l_method->getEPSGCode();
const auto code = l_interpolationCRS->getEPSGCode();
if (code != 0) {
formatter->setAllowIDInImmediateChild();
formatter->setOmitTypeInImmediateChild();
createOperationParameterValueFromInterpolationCRS(
methodEPSGCode, code)
->_exportToJSON(formatter);
}
}
}
}
@@ -1478,7 +1478,12 @@ struct FilterResults {
const auto curAccuracy = getAccuracy(op);
bool dummy = false;
const auto curExtent = getExtent(op, true, dummy);
const auto curStepCount = getTransformationStepCount(op);
// If a concatenated operation has an identifier, consider it as
// a single step (to be opposed to synthetized concatenated
// operations). Helps for example to get EPSG:8537,
// "Egypt 1907 to WGS 84 (2)"
const auto curStepCount =
op->identifiers().empty() ? getTransformationStepCount(op) : 1;
if (first) {
resTemp.emplace_back(op);
@@ -2973,9 +2978,14 @@ void CoordinateOperationFactory::Private::createOperationsWithDatumPivot(
auto createTransformations = [&](const crs::CRSNNPtr &candidateSrcGeod,
const crs::CRSNNPtr &candidateDstGeod,
const CoordinateOperationNNPtr &opFirst,
bool isNullFirst) {
bool isNullFirst,
bool useOnlyDirectRegistryOp) {
bool resNonEmptyBeforeFiltering;
const auto opsSecond =
createOperations(candidateSrcGeod, candidateDstGeod, context);
useOnlyDirectRegistryOp
? findOpsInRegistryDirect(candidateSrcGeod, candidateDstGeod,
context, resNonEmptyBeforeFiltering)
: createOperations(candidateSrcGeod, candidateDstGeod, context);
const auto opsThird = createOperations(
sourceAndTargetAre3D
? candidateDstGeod->promoteTo3D(std::string(), dbContext)
@@ -3094,9 +3104,13 @@ void CoordinateOperationFactory::Private::createOperationsWithDatumPivot(
}
};
// The below logic is thus quite fragile, and attempts at changing it
// result in degraded results for other use cases...
//
// Start in priority with candidates that have exactly the same name as
// the sourcCRS and targetCRS. Typically for the case of init=IGNF:XXXX
// the sourceCRS and targetCRS (Typically for the case of init=IGNF:XXXX);
// and then attempt candidate geodetic CRS with different names
//
// Transformation from IGNF:NTFP to IGNF:RGF93G,
// using
// NTF geographiques Paris (gr) vers NTF GEOGRAPHIQUES GREENWICH (DMS) +
@@ -3105,72 +3119,98 @@ void CoordinateOperationFactory::Private::createOperationsWithDatumPivot(
// of IGNF:RGF93G being returned before IGNF:RGF93GEO in candidatesDstGeod.
// If RGF93GEO is returned before then we go through WGS84 and use
// instead a Helmert transformation.
// The below logic is thus quite fragile, and attempts at changing it
// result in degraded results for other use cases...
//
// Actually, in the general case, we do the lookup in 2 passes with the 2
// above steps in each pass:
// - one first pass where we only consider direct transformations (no
// other intermediate CRS)
// - a second pass where we allow transformation through another
// intermediate CRS.
// ... but when transforming between 2 IGNF CRS, we do just one single pass
// by allowing directly all transformation. There is no strong reason for
// that particular case, except that otherwise we'd get different results
// for thest test/cli/testIGNF script when transforming a point outside
// the area of validity... Not totally sure the behaviour we try to preserve
// here with the particular case is fundamentally better than the general
// case. The general case is needed typically for the RGNC91-93 -> RGNC15
// transformation where we we need to actually use a transformation between
// RGNC91-93 (lon-lat) -> RGNC15 (lon-lat), and not chain 2 no-op
// transformations RGNC91-93 -> WGS 84 and RGNC15 -> WGS84.
for (const auto &candidateSrcGeod : candidatesSrcGeod) {
if (candidateSrcGeod->nameStr() == sourceCRS->nameStr()) {
auto sourceSrcGeodModified(
sourceAndTargetAre3D
? candidateSrcGeod->promoteTo3D(std::string(), dbContext)
: candidateSrcGeod);
for (const auto &candidateDstGeod : candidatesDstGeod) {
if (candidateDstGeod->nameStr() == targetCRS->nameStr()) {
const auto isIGNF = [](const crs::CRSNNPtr &crs) {
const auto &ids = crs->identifiers();
return !ids.empty() && *(ids.front()->codeSpace()) == "IGNF";
};
const int nIters = (isIGNF(sourceCRS) && isIGNF(targetCRS)) ? 1 : 2;
for (int iter = 0; iter < nIters; ++iter) {
const bool useOnlyDirectRegistryOp = (iter == 0 && nIters == 2);
for (const auto &candidateSrcGeod : candidatesSrcGeod) {
if (candidateSrcGeod->nameStr() == sourceCRS->nameStr()) {
auto sourceSrcGeodModified(sourceAndTargetAre3D
? candidateSrcGeod->promoteTo3D(
std::string(), dbContext)
: candidateSrcGeod);
for (const auto &candidateDstGeod : candidatesDstGeod) {
if (candidateDstGeod->nameStr() == targetCRS->nameStr()) {
#ifdef TRACE_CREATE_OPERATIONS
ENTER_BLOCK("try " + objectAsStr(sourceCRS.get()) + "->" +
objectAsStr(candidateSrcGeod.get()) + "->" +
objectAsStr(candidateDstGeod.get()) + "->" +
objectAsStr(targetCRS.get()) + ")");
ENTER_BLOCK("try " + objectAsStr(sourceCRS.get()) +
"->" + objectAsStr(candidateSrcGeod.get()) +
"->" + objectAsStr(candidateDstGeod.get()) +
"->" + objectAsStr(targetCRS.get()) + ")");
#endif
const auto opsFirst = createOperations(
sourceCRS, sourceSrcGeodModified, context);
assert(!opsFirst.empty());
const bool isNullFirst =
isNullTransformation(opsFirst[0]->nameStr());
createTransformations(candidateSrcGeod, candidateDstGeod,
opsFirst[0], isNullFirst);
if (!res.empty()) {
if (hasResultSetOnlyResultsWithPROJStep(res)) {
continue;
const auto opsFirst = createOperations(
sourceCRS, sourceSrcGeodModified, context);
assert(!opsFirst.empty());
const bool isNullFirst =
isNullTransformation(opsFirst[0]->nameStr());
createTransformations(
candidateSrcGeod, candidateDstGeod, opsFirst[0],
isNullFirst, useOnlyDirectRegistryOp);
if (!res.empty()) {
if (hasResultSetOnlyResultsWithPROJStep(res)) {
continue;
}
return;
}
return;
}
}
}
}
}
for (const auto &candidateSrcGeod : candidatesSrcGeod) {
const bool bSameSrcName =
candidateSrcGeod->nameStr() == sourceCRS->nameStr();
for (const auto &candidateSrcGeod : candidatesSrcGeod) {
const bool bSameSrcName =
candidateSrcGeod->nameStr() == sourceCRS->nameStr();
#ifdef TRACE_CREATE_OPERATIONS
ENTER_BLOCK("");
ENTER_BLOCK("");
#endif
auto sourceSrcGeodModified(
sourceAndTargetAre3D
? candidateSrcGeod->promoteTo3D(std::string(), dbContext)
: candidateSrcGeod);
const auto opsFirst =
createOperations(sourceCRS, sourceSrcGeodModified, context);
assert(!opsFirst.empty());
const bool isNullFirst = isNullTransformation(opsFirst[0]->nameStr());
auto sourceSrcGeodModified(
sourceAndTargetAre3D
? candidateSrcGeod->promoteTo3D(std::string(), dbContext)
: candidateSrcGeod);
const auto opsFirst =
createOperations(sourceCRS, sourceSrcGeodModified, context);
assert(!opsFirst.empty());
const bool isNullFirst =
isNullTransformation(opsFirst[0]->nameStr());
for (const auto &candidateDstGeod : candidatesDstGeod) {
if (bSameSrcName &&
candidateDstGeod->nameStr() == targetCRS->nameStr()) {
continue;
}
for (const auto &candidateDstGeod : candidatesDstGeod) {
if (bSameSrcName &&
candidateDstGeod->nameStr() == targetCRS->nameStr()) {
continue;
}
#ifdef TRACE_CREATE_OPERATIONS
ENTER_BLOCK("try " + objectAsStr(sourceCRS.get()) + "->" +
objectAsStr(candidateSrcGeod.get()) + "->" +
objectAsStr(candidateDstGeod.get()) + "->" +
objectAsStr(targetCRS.get()) + ")");
ENTER_BLOCK("try " + objectAsStr(sourceCRS.get()) + "->" +
objectAsStr(candidateSrcGeod.get()) + "->" +
objectAsStr(candidateDstGeod.get()) + "->" +
objectAsStr(targetCRS.get()) + ")");
#endif
createTransformations(candidateSrcGeod, candidateDstGeod,
opsFirst[0], isNullFirst);
if (!res.empty() && !hasResultSetOnlyResultsWithPROJStep(res)) {
return;
createTransformations(candidateSrcGeod, candidateDstGeod,
opsFirst[0], isNullFirst,
useOnlyDirectRegistryOp);
if (!res.empty() && !hasResultSetOnlyResultsWithPROJStep(res)) {
return;
}
}
}
}
@@ -4820,14 +4860,27 @@ void CoordinateOperationFactory::Private::createOperationsVertToVert(
if (convDst == 0)
throw InvalidOperation("Conversion factor of target unit is 0");
const double factor = convSrc / convDst;
const auto &sourceCRSExtent = getExtent(sourceCRS);
const auto &targetCRSExtent = getExtent(targetCRS);
const bool sameExtent =
sourceCRSExtent && targetCRSExtent &&
sourceCRSExtent->_isEquivalentTo(
targetCRSExtent.get(), util::IComparable::Criterion::EQUIVALENT);
util::PropertyMap map;
map.set(common::ObjectUsage::DOMAIN_OF_VALIDITY_KEY,
sameExtent ? NN_NO_CHECK(sourceCRSExtent)
: metadata::Extent::WORLD);
if (!equivalentVDatum) {
auto name = buildTransfName(sourceCRS->nameStr(), targetCRS->nameStr());
name += " (";
name += BALLPARK_VERTICAL_TRANSFORMATION;
name += ')';
auto conv = Transformation::createChangeVerticalUnit(
util::PropertyMap().set(common::IdentifiedObject::NAME_KEY, name),
sourceCRS, targetCRS,
map.set(common::IdentifiedObject::NAME_KEY, name), sourceCRS,
targetCRS,
// In case of a height depth reversal, we should probably have
// 2 steps instead of putting a negative factor...
common::Scale(heightDepthReversal ? -factor : factor), {});
@@ -4836,7 +4889,7 @@ void CoordinateOperationFactory::Private::createOperationsVertToVert(
} else if (convSrc != convDst || !heightDepthReversal) {
auto name = buildConvName(sourceCRS->nameStr(), targetCRS->nameStr());
auto conv = Conversion::createChangeVerticalUnit(
util::PropertyMap().set(common::IdentifiedObject::NAME_KEY, name),
map.set(common::IdentifiedObject::NAME_KEY, name),
// In case of a height depth reversal, we should probably have
// 2 steps instead of putting a negative factor...
common::Scale(heightDepthReversal ? -factor : factor));
@@ -4845,7 +4898,7 @@ void CoordinateOperationFactory::Private::createOperationsVertToVert(
} else {
auto name = buildConvName(sourceCRS->nameStr(), targetCRS->nameStr());
auto conv = Conversion::createHeightDepthReversal(
util::PropertyMap().set(common::IdentifiedObject::NAME_KEY, name));
map.set(common::IdentifiedObject::NAME_KEY, name));
conv->setCRSs(sourceCRS, targetCRS, nullptr);
res.push_back(conv);
}
@@ -385,6 +385,19 @@ static const ESRIParamMapping paramsESRI_Stereographic[] = {
EPSG_CODE_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, "0.0", false},
{nullptr, nullptr, 0, "0.0", false}};
static const ESRIParamMapping paramsESRI_Polar_Stereographic_Variant_A[] = {
{"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING,
EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false},
{"False_Northing", EPSG_NAME_PARAMETER_FALSE_NORTHING,
EPSG_CODE_PARAMETER_FALSE_NORTHING, "0.0", false},
{"Central_Meridian", EPSG_NAME_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN,
EPSG_CODE_PARAMETER_LONGITUDE_OF_NATURAL_ORIGIN, "0.0", false},
{"Scale_Factor", EPSG_NAME_PARAMETER_SCALE_FACTOR_AT_NATURAL_ORIGIN,
EPSG_CODE_PARAMETER_SCALE_FACTOR_AT_NATURAL_ORIGIN, "0.0", false},
{"Latitude_Of_Origin", EPSG_NAME_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN,
EPSG_CODE_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, "0.0", false},
{nullptr, nullptr, 0, "0.0", false}};
static const ESRIParamMapping paramsESRI_Equidistant_Conic[] = {
{"False_Easting", EPSG_NAME_PARAMETER_FALSE_EASTING,
EPSG_CODE_PARAMETER_FALSE_EASTING, "0.0", false},
@@ -1033,6 +1046,10 @@ static const ESRIMethodMapping esriMappings[] = {
paramsESRI_Hotine_Oblique_Mercator_Two_Point_Natural_Origin},
{"Stereographic", PROJ_WKT2_NAME_METHOD_STEREOGRAPHIC, 0,
paramsESRI_Stereographic},
{"Polar_Stereographic_Variant_A",
EPSG_NAME_METHOD_POLAR_STEREOGRAPHIC_VARIANT_A,
EPSG_CODE_METHOD_POLAR_STEREOGRAPHIC_VARIANT_A,
paramsESRI_Polar_Stereographic_Variant_A},
{"Equidistant_Conic", PROJ_WKT2_NAME_METHOD_EQUIDISTANT_CONIC, 0,
paramsESRI_Equidistant_Conic},
{"Cassini", EPSG_NAME_METHOD_CASSINI_SOLDNER,
+36 -21
View File
@@ -108,12 +108,12 @@ static const ParamMapping paramLongitudeFalseOrigin = {
EPSG_CODE_PARAMETER_LONGITUDE_FALSE_ORIGIN, WKT1_CENTRAL_MERIDIAN,
common::UnitOfMeasure::Type::ANGULAR, lon_0};
static const ParamMapping paramFalseEastingOrigin = {
static const ParamMapping paramEastingFalseOrigin = {
EPSG_NAME_PARAMETER_EASTING_FALSE_ORIGIN,
EPSG_CODE_PARAMETER_EASTING_FALSE_ORIGIN, WKT1_FALSE_EASTING,
common::UnitOfMeasure::Type::LINEAR, x_0};
static const ParamMapping paramFalseNorthingOrigin = {
static const ParamMapping paramNorthingFalseOrigin = {
EPSG_NAME_PARAMETER_NORTHING_FALSE_ORIGIN,
EPSG_CODE_PARAMETER_NORTHING_FALSE_ORIGIN, WKT1_FALSE_NORTHING,
common::UnitOfMeasure::Type::LINEAR, y_0};
@@ -159,7 +159,7 @@ static const ParamMapping *const paramsTPEQD[] = {&paramLatFirstPoint,
static const ParamMapping *const paramsTMG[] = {
&paramLatitudeFalseOrigin, &paramLongitudeFalseOrigin,
&paramFalseEastingOrigin, &paramFalseNorthingOrigin, nullptr};
&paramEastingFalseOrigin, &paramNorthingFalseOrigin, nullptr};
static const ParamMapping paramLatFalseOriginLatOfCenter = {
EPSG_NAME_PARAMETER_LATITUDE_FALSE_ORIGIN,
@@ -176,17 +176,40 @@ static const ParamMapping *const paramsAEA[] = {
&paramLongFalseOriginLongOfCenter,
&paramLatitude1stStdParallel,
&paramLatitude2ndStdParallel,
&paramFalseEastingOrigin,
&paramFalseNorthingOrigin,
&paramEastingFalseOrigin,
&paramNorthingFalseOrigin,
nullptr};
static const ParamMapping paramLatitudeNatOriginLCC1SP = {
EPSG_NAME_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN,
EPSG_CODE_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN, WKT1_LATITUDE_OF_ORIGIN,
common::UnitOfMeasure::Type::ANGULAR, lat_1};
static const ParamMapping *const paramsLCC1SP[] = {
&paramLatitudeNatOriginLCC1SP,
&paramLongitudeNatOrigin,
&paramScaleFactor,
&paramFalseEasting,
&paramFalseNorthing,
nullptr};
static const ParamMapping *const paramsLCC1SPVariantB[] = {
&paramLatitudeNatOriginLCC1SP,
&paramScaleFactor,
&paramLatitudeFalseOrigin,
&paramLongitudeFalseOrigin,
&paramEastingFalseOrigin,
&paramNorthingFalseOrigin,
nullptr,
};
static const ParamMapping *const paramsLCC2SP[] = {
&paramLatitudeFalseOrigin,
&paramLongitudeFalseOrigin,
&paramLatitude1stStdParallel,
&paramLatitude2ndStdParallel,
&paramFalseEastingOrigin,
&paramFalseNorthingOrigin,
&paramEastingFalseOrigin,
&paramNorthingFalseOrigin,
nullptr,
};
@@ -198,7 +221,7 @@ static const ParamMapping paramEllipsoidScaleFactor = {
static const ParamMapping *const paramsLCC2SPMichigan[] = {
&paramLatitudeFalseOrigin, &paramLongitudeFalseOrigin,
&paramLatitude1stStdParallel, &paramLatitude2ndStdParallel,
&paramFalseEastingOrigin, &paramFalseNorthingOrigin,
&paramEastingFalseOrigin, &paramNorthingFalseOrigin,
&paramEllipsoidScaleFactor, nullptr,
};
@@ -589,20 +612,12 @@ static const MethodMapping projectionMethodMappings[] = {
{EPSG_NAME_METHOD_LAMBERT_CONIC_CONFORMAL_1SP,
EPSG_CODE_METHOD_LAMBERT_CONIC_CONFORMAL_1SP,
"Lambert_Conformal_Conic_1SP", "lcc", nullptr,
[]() {
static const ParamMapping paramLatLCC1SP = {
EPSG_NAME_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN,
EPSG_CODE_PARAMETER_LATITUDE_OF_NATURAL_ORIGIN,
WKT1_LATITUDE_OF_ORIGIN, common::UnitOfMeasure::Type::ANGULAR,
lat_1};
"Lambert_Conformal_Conic_1SP", "lcc", nullptr, paramsLCC1SP},
static const ParamMapping *const x[] = {
&paramLatLCC1SP, &paramLongitudeNatOrigin, &paramScaleFactor,
&paramFalseEasting, &paramFalseNorthing, nullptr,
};
return x;
}()},
{EPSG_NAME_METHOD_LAMBERT_CONIC_CONFORMAL_1SP_VARIANT_B,
EPSG_CODE_METHOD_LAMBERT_CONIC_CONFORMAL_1SP_VARIANT_B,
nullptr, // no mapping to WKT1_GDAL
"lcc", nullptr, paramsLCC1SPVariantB},
{EPSG_NAME_METHOD_LAMBERT_CONIC_CONFORMAL_2SP,
EPSG_CODE_METHOD_LAMBERT_CONIC_CONFORMAL_2SP,

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